„ No Silver Bullet” este un articol larg discutat din 1986 despre inginerie software de Frederick Brooks . [1] Brooks susține că „nici o singură tehnologie sau tehnică de management nu are o metodă universală care să crească cu un ordin de mărime al productivității, fiabilității și simplității” (așa-numitul „glonț de argint”). El susține, de asemenea, că „nu ne putem aștepta ca profiturile să se dubleze la fiecare doi ani” în dezvoltarea de software, așa cum facem în dezvoltarea hardware.
Brooks subliniază diferența dintre complexitatea accidentală și complexitatea imanentă . _
Un articol în care Brooks își dă propriile reflecții poate fi găsit în ediția aniversară a The Mythical Man-Month [ 2] .
Este foarte important să vedem diferența dintre dificultățile laterale și cele imanente . Complexitatea laterală se referă la probleme care pot fi eliminate odată cu dezvoltarea tehnologiei software. Complexitatea inerentă este inerentă naturii software-ului, motiv pentru care construirea sistemelor software va fi întotdeauna dificilă:
Nu numai că gloanțele de argint nu sunt vizibile în prezent, dar din cauza însăși naturii software-ului, este puțin probabil să se găsească deloc - nu vor exista invenții care să afecteze productivitatea creării, fiabilitatea și simplitatea software-ului în același timp. ca electronică, tranzistoare și circuite integrate - pe hardware-ul computerului.
Brooks susține că cele mai semnificative progrese în eliminarea complexității secundare au fost deja făcute. Printre astfel de realizări, el numește limbaje de programare de nivel înalt , calcul paralel și medii de dezvoltare integrate .
În același timp, Brooks consideră că efectul cumulativ al multor alte îmbunătățiri utile poate avea o creștere vizibilă a productivității programatorului:
Deși nu vedem descoperiri uimitoare și, într-adevăr, le considerăm lipsite de caracter pentru natura programării, există multe inovații încurajatoare care au loc. Eforturile disciplinate și consecvente pentru dezvoltarea, diseminarea și utilizarea acestora pot duce într-adevăr la creștere cu un ordin de mărime. Nu există cale regală, dar există totuși o cale.
Brooks enumeră cele mai importante sarcini care pot avea un impact semnificativ în combaterea complexității dezvoltării: