Zákony informatiky: Kolik třešní, tolik višní? Brooksův zákon

Víc lidí udělá více práce, není-liž pravda? Není, respektive nemusí být! Stejně jako devět žen neporodí dítě za jeden měsíc. Brooksův zákon je postaven na pozorování z oboru řízení softwarových projektů, a tvrdí, že přidání dalších pracovníků do zpožděného projektu povede k jeho ještě většímu zpoždění. Ekonomové znají obdobu tohoto jevu z hospodářského zákona klesajících výkonů.

Přidání dalších pracovníků do zpožděného projektu povede k jeho ještě většímu zpoždění.

Projekty v IT branži se občas zpožďují. Někdy víc než občas. To pak stojí hodně peněz, nervů, ztráty důvěry – a dalších věcí, s nimiž se většinou nechlubíme. Vymlouvat se na stavebnictví, oproti němuž je IT z pohledu své existence ještě v prenatálním stádiu, a kde se děje to samé už tisíce let – není taktéž úplně košer.

S pravidlem přišel Fred Brooks v r. 1975 ve své knize The Mythical Man-Month: Úvahy o softwarovém inženýrství, která je již klasikou a rozhodně stojí za přečtení i dnes. Autor zde sám říká, že jde o velmi velké zjednodušení, ale přesto uvádí:

  1. Mnoho úkolů je dále nedělitelných. Nedělitelný úkol nelze efektivně rozdělit mezi více jednotlivců. Zabere tedy přibližně stejně či víc času, i když bude k mání větší počet pracovníků.
  2. Čím víc lidí na projektu pracuje, tím víc času tráví každý z nich – za účelem organizace práce – dorozumíváním s ostatními. Suma komunikační režie roste úměrně druhé mocnině počtu pracovníků, kteří pracují na příbuzných úkolech. (Cha! Opačné vyznění Metcalfeho zákona!)
  3. Softwarové projekty bývají často hodně sofistikované a zejména v cílových rovinkách vyžadují od jednotlivců kromě oborových znalostí i komplexní porozumění projektu. Nový pracovník musí být členy původního týmu dlouze seznamován s podstatou, místo toho, aby tým efektivně pracoval na finalizaci projektu. Je také pravděpodobné, že během zaškolování novic do projektu zanese z neznalosti další programátorské chyby, jejichž vyhledávání a opravy zase uberou ze vzácného času zkušenějších kolegů.

Zapojení nových pracovníků do projektu s sebou tedy může přinést další výzvy:

Rozloučíme se s 90 % stávajících vývojářů – a celý projekt dokončíme se zbylými 10 % členů týmu.

Jednou z možností úspěšného dokončení projektu je vyhnout se obloukem Brooksovu pravidlu. Například pomocí tzv. plánu Bermudy, kdy se v projektu místo rekrutování nových, naopak rozloučíme s 90 procenty stávajících vývojářů – a celý projekt dokončíme se zbylými deseti procenty členů týmu. A proč se tento plán jmenuje Bermudy? Prostě podle hlášky: Pošlete je na Bermudy! Myšleno oněch 90 procent. Stále se vám to vyplatí, projekt výrazně zeštíhlíte a zvýšíte pravděpodobnost jeho úspěšného dokončení.

Všimněme si, že nárůst nároků na dorozumění v rámci týmu funguje na principu Metcalfeho zvyšování hodnoty komunikační sítěhodnota sítě je přímo úměrná druhé mocnině počtu připojených zařízení. Jenomže zde s opačným znaménkem. Čím více členů v týmu, tím větší Babylon, viz obrázek.

zdroj: blog Ligthouse

Dobří programátoři jsou obvykle 5 až 10krát produktivnější než ti průměrní.

Brooks též říká, že na rozdíl od různých technologií a technických nástrojů, jsou pro každý úspěšný projekt nejdůležitější právě lidé. Jejich zkušenosti, znalosti, organizace, pravomoci a řízení. Vždyť je to právě Brooks, jenž na docela jiném místě tvrdí: Dobří programátoři jsou obvykle 5 až 10krát produktivnější než ti průměrní.

Brooksovy zkušenosti inspirovaly k novým agilním přístupům pro vývoj software, jež obecně konvertují od fixních robustních specifikací projektů k odlehčeným a pružnějším přístupům založených na iteracích s kratšími, pevně stanovenými časovými intervaly a zapojením menších týmů. Ty bývají z důvodu zjednodušení týmové komunikace a spolupráce obvykle tvořeny 5-9 pracovníky.

Frederick Phillips Brooks, dnes už téměř devadesátiletý americký informatik je známý jako šéf vývoje IBM operačního systému OS/360, o jehož genezi napsal výše citovanou knihu. Zabýval se rovněž virtuální realitou a molekulární grafikou. V r. 1999 obdržel Turingovu cenu za významné příspěvky v oblasti architektury počítačů, operačních systémů a softwarového inženýrství.

Seriál Zákony informatiky:

Exit mobile version