Кіріспе
Бағдарламалық жобаны басқару принципі. Брукс заңы – бағдарламалық жобаны басқаруға қатысты бір байқау, ол: "Кейінгі мерзімге қалған бағдарламалық жобаға адам күшін қосу оны одан да кешіктіреді". Бұл терминді Фред Брукс 1975 жылы жарық көрген "Мифтік адам-ай" атты кітабында қолданды. Брукс пікірінше, белгілі бір жағдайларда жобаға қосымша адам қосылғанда, оны аяқтау үшін уақыт көбейеді, азаймайды.
Brooks's law is an observation about software project management that "Adding manpower to a late software project makes it later." It was coined by Fred Brooks in his 1975 book The Mythical Man Month. According to Brooks, under certain conditions, an incremental person when added to a project makes it take more, not less time.
Түсіндірмелері
Брукстың өзі заңды "аса шектен шыққан қарапайымдау" деп айтады. Ортақ бір міндетті орындайтын әркімнің бір-бірімен үйлесімде жұмыс істеуі қажет, сондықтан адам саны артқан сайын, олар басқалардың не істеп жатқанын анықтауға көбірек уақыт жұмсайды. Мысалы, қонақүй бөлмелерін тазалау сияқты жоғары бөлінетін жұмыстың көлемін арттыру, жалпы жұмыс уақытын қысқартады (қосымша жұмысшылар бір-біріне кедергі келтіретін деңгейге жеткенше). Дегенмен, бағдарламалық жобалардағы көптеген мамандықтарды қамтитын басқа міндеттер нашар бөлінеді; Брукс бұл шектеулі бөлінетіндікті тағы бір мысалмен түсіндіреді: бір әйелге бір баланы тоғыз айда тууға болса, "тоғыз әйел бір айда бала туа алмайды".
Ерекшеліктер мен мүмкін шешімдер
Брукс заңында кейбір ерекшеліктер бар, олар мүмкіндіктерді ашады және шешімдерге жол береді. Біріншіден, Брукс заңы тек қана кешіктірілген жобаларға ғана қолданылады. Егер адамдар процестің басында қосылса, жобаларды бақылауға қайтаруға (немесе қалыпта ұстауға) болады. Жобаның шынымен кешіктірілгені, әлде бастапқы жоспар тым оптимистік болғаны, соны анықтау да маңызды. Жоспарлау қателіктері көптеген жобалардың кешігуіне себеп болады. Жобаны аяқтау үшін нақты және сенімді уақыт шеңберін алудың ең жақсы жолы – жоспарды түзету. Жобаға қосылған адамдардың саны, сапасы және атқаратын рөлі де ескерілуі керек. Ашылу мерзімінен асып кеткен жобада заңды айналып өтудің бір жолы – қажеттіден артық адамдарды қосу, осылайша қосымша мүмкіндіктер оқыту мен байланысқа жұмсалатын шығындарды өтеуге мүмкіндік береді. Жақсы бағдарламашылар мен мамандарды оқытуға аз шығын жұмсап қосуға болады. Жобамен байланысты басқа да жұмыстарды орындау үшін адамдарды қосуға болады, мысалы, сапаны бақылау немесе құжаттама дайындау; егер тапсырма нақты болса, дайындық уақыты ең аз болады. Жақсы сегментация команда мүшелері арасындағы байланыс шығындарын азайтуға көмектеседі. Кішігірім мәселелерді кішігірім командалар шешеді, ал жүйелерді біріктіруге жоғары деңгейдегі команда жауапты болады. Бұл әдіс жұмыс істеуі үшін мәселенің сегментациясы алдымен дұрыс жасалуы керек; егер дұрыс жасалмаса, бұл мәселені жақсартпайды, керісінше нашарлатады, тіпті жобалық жоспарда олар байланыссыз деп көрсетілген жағдайда да, мәселенің шын мәнінде тығыз байланысты бөліктерімен жұмыс істейтін бағдарламашылар арасындағы байланысты қиындатады. Сегментацияның мысалы – жұмысты бөлуді жеңілдететін жобалау үлгілері, себебі команданың барлық мүшесі осы үлгімен ұсынылған шеңберде өз үлесін қоса алады. Жобалау үлгісі бағдарламашылардың орындауы тиіс ережелерді анықтайды, стандартты тілді қолдану арқылы байланысты жеңілдетеді және біркелкілік пен кеңейтілуді қамтамасыз етеді. Брукс заңын айналып өтудің бір жолы ретінде Бермуд жоспары ұсынылған, онда жобаның көптеген әзірлеушілері алынып тасталады ("Бермудқа жіберіледі") және қалғандары бағдарламалық құралды аяқтау үшін қалдырылады.