Архитектура есть у зданий, компьютеров, программных систем, и важнейшим этапом создания архитектурных сооружений и компьютерных решений является проектирование, которое обладает в этих столь разных областях человеческой деятельности рядом принципиальных общих черт. Фредерик Брукс, автор книги «Проектирование процесса проектирования: записки компьютерного эксперта», убежден, что «при всей неповторимости процессов проектирования в различных областях деятельности в них есть нечто постоянное», и посвящает свой труд анализу процесса проектирования сложных систем.
Фредерик Брукс — личность в компьютерном мире легендарная. В 1975 году вышла его книга «Мифический человек-месяц», посвященная управлению программными проектами. Ко времени выпуска этой книги Брукс имел уже большой опыт руководства сложными проектами разработки — в корпорации IBM он был участником создания суперкомпьютеров IBM 7030 Stretch и IBM 7950 Harvest, а затем возглавлял разработку первого компьютерного семейства, IBM System/360 и его операционной системы OS/360. В 1964 году Брукс основал факультет информатики университета Северной Каролины, который возглавлял в течение 20 лет, а сейчас является его почетным профессором. В 1999 году он был удостоен премии Тьюринга за исторически значимый вклад в компьютерную архитектуру, операционные системы и проектирование программного обеспечения. Сегодня Брукс продолжает заниматься преподавательской деятельностью и исследованиями в области архитектуры вычислительных систем, интерактивной компьютерной графики и виртуальных сред.
Книга «Проектирование процесса проектирования» является не только изложением выводов, которые Брукс делает на основе своего уникального шестидесятилетнего опыта разработки компьютерных систем, а также проектирования домов (этим он тоже занимался профессионально). Вся книга из 28 глав строится на анализе различных теорий, подходов и методов проектирования, а также на дискуссии автора с их создателями и адептами с целью выявления, разбора и рекомендации лучших. Большинство книг из приведенного в конце издания списка библиографии, включающего в себя 236 пунктов, не просто цитируются, но активно обсуждаются. Из этого диалога, в который вовлечены авторитетные специалисты из разных эпох, складывается сложная, но выпуклая картина эффективного проектирования в представлении Фредерика Брукса. Хотя сам автор подчеркивает, что «книга не является учебником или монографией с целостным изложением, а скорее представляет собой ряд отдельных заметок, которые носят отпечаток моего субъективного мнения».
Автор книги исходит из того, что процесс проектирования обладает инвариантными свойствами — сохраняемыми в широком диапазоне сред проектирования. Отсюда возможность исследования и выработки общих рекомендаций в отношении «метапроектирования» — проектирования самого процесса проектирования. Одной из основ этого является поиск эффективной модели проектирования, которому Брукс отводит первый раздел своей книги. Он подвергает критике широко распространенную в инженерной среде рациональную модель проектирования, воплощением которой является известный «водопадный» метод. Этой «упорядоченной модели упорядоченного процесса», которая, несмотря на свою строгость и стройность, на практике постоянно демонстрирует неэффективность, Брукс противопоставляет несколько других, более продуктивных, по его мнению, подходов, в том числе организацию процесса разработки по принципу «базара», которой следует сообщество разработчиков с открытым кодом. Но наиболее правильным кандидатом на роль доминирующей модели проектирования, в необходимости которой автор абсолютно уверен, Брукс называет спиральную модель Боэма, которая также появилась в области разработки ПО.
Брукс считает, что, несмотря на огромное число теоретических и практических работ по проектированию, этот процесс до сих пор «не изучен достаточно полно ни в психологическом, ни в практическом аспекте». Осознание этого факта и послужило для автора основным стимулом для написания книги. В ней большое место отводится перспективам создания теории проектирования, но никак не меньшее — практическим примерам успешной и неудачной организации проектов в самых разных областях, от разработки компьютеров разных поколений и создания языков программирования до реконструкции домашней кухни.
Поскольку современный проект редко бывает результатом деятельности одного человека, целый раздел книги посвящен организации коллективной работы участников проекта как в режиме непосредственного общения, так и в дистанционном. При этом Брукс подчеркивает, что обеспечение концептуальной целостности проекта является основополагающим фактором его качества и должно быть обязательным требованием даже в условиях самой сложной распределенной разработки.
Брукс не скрывает, что разработчики компьютерного оборудования и ПО — основная целевая аудитория его книги, но обращается к проектировщикам в самых разных областях, рассчитывая, что его труд поможет им совместить интуицию и систематический подход в проектировании. Книга будет полезна руководителям дизайн-проектов, а также исследователям проблем проектирования, заинтересованным в создании глубокой и одновременно живой науки проектирования.
Фредерик Брукс. Проектирование процесса проектирования: записки компьютерного эксперта.: Пер. с англ. — М.: И.Д. Вильямс, 2013. — 464 с.: ил.