Мифический человеко-месяц или как создаются программные системы

ОглавлениеДобавить в закладки К обложке

6.6 Прямое включение является очень искусным приемом для осуществления стандартов архитектуры в программном обеспечении (в аппаратном обеспечении — тоже: возьмите интерфейс Mac WIMP, встроенный в ROM).

6.7 Архитектурное «определение будет яснее, а (архитектурная) дисциплина крепче, если изначально строятся как минимум две реализации».

6.8 Важно, чтобы архитектор в телефонных разговорах отвечал исполнителям на их вопросы; обязательно нужно регистрировать эти разговоры в журнале и доводить их до общего сведения. (Сейчас для этого предпочтительнее электронная почта.)

6.9 «Лучший друг менеджера проекта — его постоянный противник, независимая организация, тестирующая продукт.»

Глава 7. Почему не удалось построить Вавилонскую башню?

7.1 Проект Вавилонской башни провалился из-за недостатка обмена информацией и, как следствие, организации.

Обмен информацией

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

7.3 Бригады должны поддерживать между собой связь всеми возможными способами: неформально, путем регулярных совещаний по проекту с техническими отчетами и через общую рабочую тетрадь проекта. (А также электронную почту.)

Рабочая тетрадь проекта

7.4 Рабочая тетрадь проекта есть «не столько отдельный документ, сколько структура, налагаемая на все документы, которые, так или иначе, будут созданы во время выполнения проекта.»

7.5 «Все документы проекта должны входить в эту структуру (рабочей тетради).»

7.6 Структуру рабочей тетради нужно проектировать тщательно и рано.

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

7.8 «Каждый член команды должен видеть все материалы (рабочей тетради).» (Сейчас я бы сказал «должен иметь возможность видеть». Например, достаточно WWW-страниц.)

7.9 Своевременное обновление может иметь критическое значение.

7.10 Необходимо, чтобы внимание пользователя было особо привлечено к изменениям, произошедшим после его последнего прочтения, причем с пометками об их значении.

7.11 Рабочая тетрадь проекта OS/360 начиналась с бумажного варианта с последующим переходом на микрофиши.

7.12 Сегодня (и даже в 1975 году) общий электронный блокнот является значительно лучшим, более дешевым и простым механизмом достижения этих целей.

7.13 Необходимо помечать текст с помощью полосок изменения дат пересмотра (или их функционального эквивалента). Так же необходима сводка изменений по типу стека.

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

7.15 Предложение Парнаса — путь к катастрофе. (Парнас вполне убедил меня в обратном, и я совершенно изменил свое мнение.)

Организация

7.16 Задачей организации является сокращение объема необходимого общения и согласования.

7.17 Организация заключает в себе разделение труда и специализацию функций с целью сократить обмен информацией.

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

7.19 Структура обмена информацией в организации является не деревом, а сетью, и нужно придумать различные виды специальных организационных механизмов («пунктирные линии»), чтобы преодолеть дефицит обмена информацией в древовидной организации.

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

7.21 Вполне эффективным может быть любой тип взаимоотношений между этими двумя должностями:

• Это может быть одно лицо.

• Продюсер может быть начальником, а директор — его правой рукой.

• Директор может быть начальником, а продюсер — его правой рукой.

Глава 8. Объявляя удар

8.1 Нельзя точно оценить общий объем или график работ программного проекта, просто оценив время написания программы и умножив на некоторые коэффициенты для остальных частей задания.


Логин
Пароль
Запомнить меня