Vantagens e desvantagens no uso de frameworks
Vantagens
- Se o framework estiver pronto, os benefícios são claros em termos de:
- Redução de custos
- Redução de time-to-market
- Motivos:
- Maximização de re-uso (análise, design, código, testes)
- Desenvolvedores se concentram em adicionar valor em vez de reinventar a roda
- Menos manutenção
- Fatoração de aspectos comuns a várias aplicações
- Uso de herança permite corrigir todas as aplicações com a troca de uma classe-mãe
- Mas cuidado com o "Fragile Base Class Problem" onde a troca da classe-mãe quebra
as filhas
- Estabilização melhor do código (menos defeitos) devido ao uso em várias aplicações
- Outras vantagens
- Melhor consistência e compatibilidade entre aplicações
- Alavancagem do conhecimento de especialistas
- Framework oferece uma forma de empacotar o conhecimento de especialistas sobre domínios
de problemas
- Assim, não se perde o conhecimento com a saída de especialistas e o conhecimento pode
ser usado/estudado sem a presença do especialista
- Resultado: criação de patrimônio estratégico da empresa (Strategic Asset Building)
Desvantagens
- Construir um framework é complexo
- Re-uso não vem sozinho: deve ser planejado
- É mais complexo e demora mais fazer uma aplicação tendo que construir um framework em
vez de fazer a aplicação do zero
- Benefícios são realizados a longo prazo
- Quem pode pensar a longo prazo quando se está competindo "On Internet time"?
- Poucas empresas
- Uma empresa aeroespacial demorou anos para fazer frameworks e começou a ter retorno na
quarta missão
- Precisa modificar o processo de desenvolvimento e criar novos incentivos
- Vencer o "Not Made Here Syndrome"
- "The most profoundly elegant framework will never be reused unless the cost of
understanding it and using its abstractions is lower than the programmer's perceived cost
of writing them from scratch" (Booch, Dr Dobb's Journal, 1994)
frame-2 programa anterior
próxima