Brooks Act

Brooks's Law is een principe gebruikt in de ontwikkeling van software die stelt dat 'meer effectief om een ​​software project toe te voegen in de late, vertraagde meer. " Het werd bedacht door Fred Brooks in zijn 1975 werk De Mythische Man-Maand. Het gevolg van de wet Brooks is dat wanneer een persoon wordt opgenomen in een project, het vertraagt ​​dan versnellen. Brooks ook verklaard dat "Negen vrouwen een baby niet kan hebben in een maand".

Betekenis van de term

Volgens het boek van Brooks zelf, de wet is een "frivole simplificatie", maar herhaalde de idee wordt. Brooks belicht twee belangrijke factoren die de reden waarom de wet uit te leggen:

  • Nieuwe mensen in een project hebben tijd nodig om productief te zijn. Brooks noemt deze periode de opkomst uitlooptijd. Software projecten zijn complexe technische inspanningen, en nieuwe werknemers in het eerste project moet worden geleerd over het werk dat voorheen werd gedaan; Deze training kost tijd onder degenen die al werkzaam zijn in het project, waardoor hun productiviteit tijdelijk totdat nieuwe werknemers een netto bijdrage. Elke nieuwe werknemer heeft ook een team samengesteld uit vele ingenieurs, die moeten helpen bij de opleiding in hun vakgebied, elke dag mee. Het is ook mogelijk dat de nieuwe leden van het projectteam zelf hebben een nog negatieve productiviteit; Als bijvoorbeeld software fouten geïntroduceerd door onwetendheid.
  • Toegenomen overhead kosten als het verhoogt de omvang van het project. Het aantal verschillende communicatiekanalen toeneemt met het aantal mensen dat exponentieel; als het aantal bochten in het project, het resultaat is 4 keer meer gesprekken. Al die werken aan een onderwerp moeten worden gesynchroniseerd tussen hen, zodat als het aantal mensen groeit, zal de tijd proberen te achterhalen hoe laat de rest doet.

Uitzonderingen en mogelijke oplossingen

Brooks wet wordt vaak aangehaald om te rechtvaardigen de projecten niet op tijd afgerond, ondanks de inspanningen managers. Er zijn echter een aantal belangrijke punten van de wet die het mogelijk maken uitzonderingen Brooks en open de deur naar mogelijke oplossingen.

Het eerste punt is dat Brooks wet vaak wordt toegepast op projecten die te laat zijn. U kunt de controle te herwinnen als het team wordt versterkt in eerdere fasen. Het is ook belangrijk om te bepalen of een project daadwerkelijk vertraging of wanneer de aanvankelijke schattingen waren te optimistisch iets gemeen. Correcte planning is de beste manier om een ​​venster te hebben betrouwbare en bruikbare om het project tijd te voltooien.

De hoeveelheid, de kwaliteit en de rol van mensen toetreden tot het project zijn factoren te overwegen. Een eenvoudige manier om de wet op een project vertraging te voorkomen is het toevoegen van meer mensen dan nodig, zodat de extra capaciteit opweegt tegen de overhead in de communicatie en training. Goede programmeurs en specialisten kunnen worden opgenomen met minder behoefte aan tijd voor training. U kunt ook opnemen personeel voor andere taken met betrekking tot het project, bijvoorbeeld kwaliteitsborging documentatie of als de taak beschikbaar is, en de tijd van de ramp-up wordt verminderd.

Goed beheer en ontwikkeling helpt ook de impact van de wet van Brooks te verminderen. De moderne praktijk van continue integratie, test-driven development, iteratieve ontwikkeling en een aanzienlijke vermindering van de overhead van de communicatie tussen ontwikkelaars, waardoor een betere schaalbaarheid. Ook nieuwe tools voor het ontwikkelen van software en documentatie zijn nuttig om aanlooptijd te minimaliseren, waardoor het gemakkelijk is om het project op te nemen. Design patterns vereenvoudigen de verdeling van het werk, gezien het feit dat het hele team van het werk binnen het patroon dat werd toegewezen kan doen. Design patterns bepalen de regels die zijn om programmeurs te volgen, vereenvoudigt de communicatie door het gebruik van een standaard taal en biedt consistentie en schaalbaarheid. Tot slot, een goede targeting helpt bij het minimaliseren van de overhead tussen projectleden. Kleine problemen worden opgelost in kleine teams en een top team is verantwoordelijk voor de systeemintegratie. Om dit segment moet het probleem correct werken; anders kan het probleem verergeren, waardoor de communicatie tussen programmeurs werken in verschillende delen van het probleem dat direct gerelateerd zijn, maar het projectplan beweringen dat niet zijn.

Sommige auteurs -zie bijvoorbeeld creëren van een Software Engineering Cultuur Karl E. Wiegers - hebben het belang van de sociale en politieke aspecten van de werkomgeving als determinanten van de effectiviteit van de individuele programmeurs en het project team als geheel benadrukt . In plaats van te vertrouwen op de "helden" om de taak met buitengewone inspanningen te verrichten, Wiegers, zegt een team van gewone individuele kwaliteiten kunnen resultaten opleveren in de tijd regelmatig met de juiste werkomgeving. Pogingen om de effectiviteit van het materiaal te verbeteren kunnen verminderen of zelfs te elimineren, de gevolgen van de wet van Brooks.

Ontwikkeling van open source software

Vergeleken met de traditionele software ontwikkeling, open source projecten hebben een andere methodiek. De open source projecten van grootschalige hebben een groot aantal van de deelnemers om de kwaliteit te waarborgen en het programmeren met behulp van communicatiekanalen lage kosten om te communiceren. Dit soort projecten te schalen goed, ondanks de Brooks Act, om verschillende redenen:

  • Management concepten als "aantal werknemers", "de grootte van het team" en "wegenkaart" zijn niet vergelijkbaar in bedrijfs- en open source projecten; daarom is het niet mogelijk toepassen Brooks Act zo vergelijkbaar met beide.
  • De open source projecten van grootschalige hebben de mogelijkheid om gebruik te maken van de vele gebruikers die de code getest, het vinden van bugs sneller te maken;
  • Degenen die test kunnen lezen en analyseren van de code, waardoor ontwikkelaars om fouten sneller te identificeren;
  • Efficiënt werken in parallel, waardoor de communicatie overhead;
  • Een sociale context waarin de belastingplichtige doet dit vrijwillig, samen met een managementstijl vrijblijvend;
  • Minder afhankelijkheid van traditionele methoden om dubbele inspanningen te verminderen.
  • Een efficiëntere verdeling van taken, zoals voorgesteld door Yochai Benkler in Coase's Penguin.

Sommige van deze redenen, zoals werk in parallel, theoretisch kunnen worden toegepast op zowel open als gesloten projecten.

(0)
(0)
Vorige artikel Kara DioGuardi
Volgende artikel Manuel Guillermo Mora

Commentaren - 0

Geen reacties

Voeg een Commentaar

smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile
Tekens over: 3000
captcha