Sem bala de prata - No Silver Bullet
" No Silver Bullet - Essence and Accident in Software Engineering " é um artigo amplamente discutido sobre engenharia de software escrito pelo vencedor do Turing Award Fred Brooks em 1987. Brooks argumenta que "não há um único desenvolvimento, seja em tecnologia ou técnica de gerenciamento, que por si só promete até mesmo uma melhoria de ordem de magnitude [dez vezes] em uma década em produtividade, confiabilidade e simplicidade. " Ele também afirma que "não podemos esperar nunca ver ganhos de duas vezes a cada dois anos" no desenvolvimento de software, como ocorre no desenvolvimento de hardware ( lei de Moore ).
Resumo
Brooks distingue entre dois tipos diferentes de complexidade: complexidade acidental e complexidade essencial. Isso está relacionado à classificação de Aristóteles . A complexidade acidental está relacionada a problemas que os engenheiros criam e podem consertar; por exemplo, os detalhes de escrever e otimizar o código assembly ou os atrasos causados pelo processamento em lote. A complexidade essencial é causada pelo problema a ser resolvido e nada pode removê-lo; se os usuários desejam que um programa faça 30 coisas diferentes, essas 30 coisas são essenciais e o programa deve fazer essas 30 coisas diferentes.
Brooks afirma que a complexidade acidental diminuiu substancialmente, e os programadores de hoje passam a maior parte do tempo lidando com a complexidade essencial. Brooks argumenta que isso significa que reduzir todas as atividades acidentais a zero não dará a mesma ordem de magnitude de melhoria que tentar diminuir a complexidade essencial. Enquanto Brooks insiste que não existe uma solução mágica , ele acredita que uma série de inovações que atacam a complexidade essencial pode levar a melhorias significativas. Uma tecnologia que fez melhorias significativas na área de complexidade acidental foi a invenção de linguagens de programação de alto nível , como Ada .
Brooks defende o "crescimento" do software organicamente por meio do desenvolvimento incremental. Ele sugere conceber e implementar os principais e os subprogramas logo no início, preenchendo as subseções de trabalho mais tarde. Ele acredita que programar dessa forma entusiasma os engenheiros e fornece um sistema de trabalho em cada estágio de desenvolvimento.
Brooks prossegue, argumentando que há uma diferença entre "bons" designers e "grandes" designers. Ele postula que, como a programação é um processo criativo, alguns designers são inerentemente melhores do que outros. Ele sugere que existe uma diferença dez vezes maior entre um designer comum e um grande designer. Em seguida, ele defende tratar os designers famosos da mesma forma que os gerentes famosos, proporcionando-lhes não apenas uma remuneração igual , mas também todas as vantagens de um status mais elevado: grandes escritórios, funcionários, fundos de viagens, etc.
O artigo e as reflexões posteriores de Brooks sobre ele, ' No Silver Bullet' Refired , podem ser encontrados na edição de aniversário de The Mythical Man-Month .
Conceitos relacionados
O artigo de Brooks foi algumas vezes citado em conexão com a lei de Wirth , para argumentar que "os sistemas de software crescem mais rápido em tamanho e complexidade do que os métodos para lidar com a complexidade são inventados".
Veja também
- História da engenharia de software
- Prototipagem de software , uma das principais estratégias contra a complexidade essencial em "No Silver Bullet"
- SOLID (design orientado a objetos)
- Complexidade essencial (medida numérica de "estrutura")
Referências
Leitura adicional
- Brooks, Fred P. (1986). "No Silver Bullet - Essence and Accident in Software Engineering". Proceedings of the IFIP Denth World Computing Conference : 1069–1076.
- - (abril de 1987). "No Silver Bullet - Essence and Accidents of Software Engineering". Computador IEEE . 20 (4): 10–19. CiteSeerX 10.1.1.117.315 . doi : 10.1109 / MC.1987.1663532 . S2CID 372277 .
- - (1975). O Mítico Homem-Mês . Addison-Wesley. ISBN 978-0-201-00650-6.
- - (1995). "Cap. 16". Sem bala de prata - essência e acidente . The Mythical Man Month (edição de aniversário com quatro novos capítulos ed.). Addison-Wesley. ISBN 978-0-201-83595-3.
- - (1995). "Cap. 17".'Sem bala de prata' refeito . The Mythical Man Month (edição de aniversário com quatro novos capítulos ed.). Addison-Wesley. ISBN 978-0-201-83595-3.
links externos
- No Silver Bullet: Essence and Accidents of Software Engineering , de Frederick P. Brooks, Jr.
- Princípios de Engenharia de Software - comentários de Steve McConnell sobre a dicotomia, publicados originalmente em IEEE Software , Vol. 16, nº 2, março / abril de 1999