Resumo "No Silver Bullet"
No Silver Bullet – Essence and Accident in Software Engineering
Frederick P. Brooks, Jr
Victor Lennon Firmino Borges
A ideia central do artigo de Brooks é de que não existe, no processo de desenvolvimento de software, uma forma de garantir o aumento contínuo e exponencial da produtividade, confiabilidade e simplicidade do ponto de vista de sistemas complexos, ao contrário do que é notado na evolução do desenvolvimento de sistemas de hardware.
A “bala de prata” definida pelo autor seria como uma solução geral representada para o problema de construção de sistemas tal qual a integração eletrônica representou para o problema de construção de hardware complexo. Ele alega a impossibilidade de existência de tal solução justificando isso com a própria natureza distinta dos problemas de software, sustentada pelos pontos:
Complexidade: Há poucos elementos repetitivos e idênticos, e fazer crescer o software envolve muito trabalho além de agregar ou repetir componentes menores. Não há crescimento linear para o software.
Conformidade: Não há conforto em um princípio unificado. O software, por ser uma criação muito recente, precisa ser adaptado a todo tipo de instituição e sistema já existente.
Alterabilidade: Por poder ser alterado muito facilmente, o software sofre pressão por mudança e alteração constante.
Invisibilidade: O software não é espacialmente representável: não existe um diagrama ou esquema lógico que o descreva. São necessárias muitas representações para conseguir um entendimento visual do sistema.
O autor diferencia a complexidade dos problemas de software em:
Complexidade essencial: A complexidade inerente ao problema que se espera solucionar, e invariavelmente terá que existir.
Complexidade acidental. É a complexidade relacionada aos problemas inerentes aos meios de desenvolvimento para se alcançar a solução de objetivos reais.
Brooks afirma que apesar da complexidade acidental ter sido