«Мифический человеко-месяц»: четверть века спустя

Андрей Колесов

Фредерик Брукс. Мифический человеко-месяц, или Как создаются программные комплексы. — Пер. с англ. — СПб.: Символ-Плюс, 1999, — 304 с.: ил.

Когда проходишь мимо московских книжных развалов, невольно ловишь себя на мысли об обилии в нашей стране компьютерной литературы по самому широкому спектру проблем. Однако, приглядевшись внимательнее, можно увидеть, что такое представление — довольно далеко от истины.

Если говорить о тематике разработки ПО, то довольно заметен явный недостаток книг для начинающих программистов. Вернее, такие пособия вроде бы имеются, однако на самом деле почти все они знакомят читателя с тем или иным инструментом, чаще всего обходят главный вопрос — как научиться делать законченные полезные приложения, то есть собственно программировать.

Профессиональные разработчики, кажется, не обделены вниманием издательств, но и здесь виден весьма утилитарный подход: практически все имеющееся сегодня на российском рынке посвящено изучению вполне конкретных средств без какого-либо сравнительного анализа с конкурирующими системами. И уж совсем не видно литературы, в которой бы проводился теоретико-методологический анализ процесса разработки программного обеспечения.

В связи с этим полезно вспомнить, что классические работы на эту тему появились еще в начале 70-х годов, когда мировая компьютерная индустрия вышла на уровень реализации действительно крупных проектов. В тех публикациях и сегодня можно найти не только необходимые методологические положения, но и актуальные практические рекомендации разработчикам. Однако эффективное применение любых технологий требует соответствующего теоретико-методологического осмысления возможностей их применения и организации работ.

В качестве доказательства высказанных выше положений я предлагаю вниманию разработчиков ПО русский перевод второго издания знаменитой книги «Мифический человеко-месяц» Фредерика Брукса.

Ее первое издание появилось в 1975 году, а суммарный тираж за двадцать лет составил 250 тыс. экз. Тогда же, в середине 70-х, книга появилась в русском переводе, сначала полулегальном, в виде ротапринта, а потом ее официально опубликовало издательство «Мир». И хотя ее советский тираж был также достаточно большой — 20 тыс. экз. — книга уже давно стала библиографической редкостью. К двадцатилетнему юбилею первого издания в 1995 году было выпущен обновленный вариант книги, русский перевод которого опубликован петербургским издательством «Символ-Плюс» (однако тираж гораздо скромнее — всего 2 тыс. экз.).

По общему признанию, «Мифический человеко-месяц» был и остается своеобразной «библией» для разработчиков ПО всего мира: без прочтения этой книги не может состояться ни один руководитель крупного проекта. И это вполне понятно: Фредерик Брукс был одним из руководителей первого из грандиозных программных проектов в компьютерной истории — разработки операционной системы IBM OS/360 в середине 60-х. За эту работу он вместе с Бобом Эвансом и Эриком Блохом был награжден в 1985 году Национальной медалью США в области технологии.

Отправной тезис книги заключается в убедительном доказательстве того, что реализация крупного программного проекта радикальным образом отличается, с одной стороны, от создания относительно небольших программных систем, а с другой — от выполнения больших «традиционных» проектов в материальной сфере. И далее автор последовательно обсуждает узловые проблемы разработки больших программных проектов: повышение производительности труда программистов, организацию коллективной работы, планирование и обеспечение выполнения графика реализации проекта. При этом рассматриваются самые различные аспекты данной темы: эстетические основы программирования, организация работы на разных уровнях, сущность руководства проектом, распределение функций в группе разработчиков, методы отладки, способы документирования и т.п.

И самое главное — все это делается в легкой манере непринужденного диалога с читателем. В результате книга читается просто на одном дыхании, как какая-то приключенческая повесть, «проглотив» которую хочется перечитывать ее раз за разом, чтобы вникнуть в глубинный философский смысл каждой фразы.

Особый интерес к нынешнему, юбилейному изданию книги объясняется тем, что она дополнена еще несколькими главами. В частности, в нее включен острый полемический очерк «Серебряной пули нет» (1986 г.), который посвящен детальному обоснованию тезиса о том, что «в течение десятилетия ни одна разработка в области техники программного обеспечения не позволит повысить производительность труда в программировании на порядок». Конечно, здесь есть о чем поспорить, но в любом случае полезно задуматься над вопросом: «В чем измеряется эта производительность труда программиста?»

И, конечно, будет очень интересно детально изучить заключительные главы 1995 года, в которых читатели смогут ознакомиться с взглядами Брукса на все ключевые тезисы оригинального издания, после того как сменилось целое поколение разработчиков и несколько поколений компьютерных технологий.

Но откуда все же такое странное название книги? Почему «человеко-месяц» является «мифическим»? Краткий ответ формулируется в виде закона Брукса: «Если программистский проект не укладывается в сроки, то добавление рабочей силы только задержит его завершение. Трудоемкость проектов оценивается в «человеко-месяцах». По мнению Брукса, — «мифических». Подробности ищите в книге.

КомпьютерПресс 4'2000