<...> Закон, описанный в классической книге Ф. Брукса «
Мифический человеко-месяц», гласит: «привлечение новых работников не сокращает, а удлиняет график работ по созданию программного продукта». У этого утверждения есть очень простое и математически точное объяснение.
Зависимость времени, необходимого на проект разработки, от числа задействованных исполнителей, Брукс устанавливает следующим образом: пусть
- количество программистов, работающих над проектом. Общее количество работы складывается из трудозатрат на
- неразделяемые задачи - время выполнения этих задач не зависит от числа сотрудников и всегда равно
; - разделяемые задачи - время на их выполнение уменьшается с ростом числа сотрудников и равно
; - обмен информацией - Брукс пишет буквально следующее: «Если все задачи должны быть отдельно скоординированы между собой, то затраты возрастают как
». Имеется в виду, что при наличии
сотрудников количество трудозатрат, производимых на координацию «всех со всеми», пропорционально числу связей в полном графе (графе, в котором каждая пара вершин соединена):
Т. к. эти трудозатраты распределяются между
сотрудниками, их вклад во время выполнения имеет вид
.
Итак, общее время выполнения проекта определяется кривой следующего вида:
имеющей такой график:
Затраты же в человеко-часах определяются формулой вида
Основная мысль Ф. Брукса заключется в следующем: увеличение числа разработчиков в команде приводит к сокращению сроков выполнения проекта лишь до некоторого предела, за которым наступает увеличение сроков. Применяя О-нотацию к полученным закономерностям, мы можем сказать, что в «Бруксовом» проекте с ростом числа исполнителей время выполнения растёт как
, а стоимость проекта - и вовсе как
.
Ценное знание для руководителя, от которого зависит принятие решения о подключении новых сотрудников к проекту с поджимающими сроками <...>
https://habrahabr.ru/post/282435/