Читать «Мифический человеко-месяц» онлайн
Фредерик Брукс
Приятного чтения!
Брукс Фредерик
Мифический человеко-месяц
Фредерик П.Брукс
Мифический человеко-месяц
ОГЛАВЛЕНИЕ
THE MYTHICAL MAN-MONTH (ESSAYS ON SOFTWARE ENGINEERING)
I. АСФАЛЬТОВАЯ ТОПЬ
Комплексный программный продукт
Радости ремесла
Горести ремесла
II. МИФИЧЕСКИЙ ЧЕЛОВЕКО-МЕСЯЦ
Оптимизм
Человеко-месяц
Комплексная отладка
Объективность оценки
Нарастающие катастрофы с графиком
III. ХИРУРГИЧЕСКАЯ БРИГАДА
Предложение Миллза
IV. АРИСТОКРАТИЯ, ДЕМОКРАТИЯ И СИСТЕМНОЕ ПРОЕКТИРОВАНИЕ
Концептуальное единство
Как добиться концептуального единства
Аристократия и демократия
Чем может заполнить разработчик период ожидания?
V. ЭФФЕКТ ВТОРОЙ СИСТЕМЫ
Принципы совместной работы
Самодисциплина. Эффект второй системы
VI. ПУТЬ СЛОВА
Письменные спецификации - руководство
Формальные описания
Прямое внесение
Конференции и разбирательства
Совместные реализации
Журнал регистрации телефонных звонков
Проверка конечного продукта
VII. ПОЧЕМУ ОБРУШИЛАСЬ ВАВИЛОНСКАЯ БАШНЯ
Анализ Вавилонского проекта с точки зрения административного управления
Связь в больших программистских проектах
Рабочий документ проекта
Организация в больших программистских проектах
VIII. ОБЪЯВЛЕНИЕ ЦЕЛИ
Данные Портмана
Данные Арона
Данные Харра
Данные по OS/360
Данные Корбато
IX. ДЕСЯТЬ ФУНТОВ В ПЯТИФУНТОВОМ МЕШКЕ
Размер программы как стоимость
Контроль за размерами программ
Методы экономии памяти
Представление данных - сущность программирования
X. ДОКУМЕНТАЦИОННАЯ ГИПОТЕЗА
Документы для разработки ЭВМ
Документы для факультета университета
Документы для проекта программного обеспечения
Зачем нужны формальные документы?
XI. ПЛАН НА ВЫБРОС
Опытные установки и увеличение масштабов
Постоянны только изменения
Планирование изменений в системе
Планирование изменений в организации
Два шага вперед, шаг назад
Шаг вперед и шаг назад
XII. ОСТРЫЙ ИНСТРУМЕНТ
Целевые машины
Инструментальные машины и служба данных
Язык высокого уровня и диалоговое программирование
XIII. ЦЕЛОЕ ИЗ ЧАСТЕЙ
Проект без ошибок
Автономная отладка
Системная отладка
XIV. ПРИБЛИЖЕНИЕ КАТАСТРОФЫ
Вехи или помехи?
Сор в избе
XV. ВТОРОЕ ЛИЦО
Какая документация нужна?
Несостоятельность блок-схем
Самодокументированные программы
ЭПИЛОГ
ПРИМЕЧАНИЯ И ССЫЛКИ
I. АСФАЛЬТОВАЯ ТОПЬ
"Корабль на мели - моряку маяк".
(Датская пословица)
Ни одна из сцеп нашей предыстории не оставляет столь яркого впечатления, как смертельная схватка огромных животных с асфальтовой топью. Перед глазами встают динозавры, мамонты, саблезубые тигры, пытающиеся выбраться из топи. Однако чем отчаяннее борьба, тем сильнее сжимаются тиски, и как ни силен, как ни хитер зверь, в конце концов он погибает.
Программирование больших систем последние десять лет и было той асфальтовой топью, в которой увязли многие огромные и сильные звери. Почти все работающие системы не соответствовали своим спецификациям, своему назначению, не укладывались в графики и бюджет. Большие и маленькие, громоздкие и гибкие коллективы разработчиков неизбежно попадали в ловушку асфальтовой топи. Ничто, казалось, не вызывало затруднений - можно вытащить любую лапу. Однако накопление одновременных и взаимодействующих факторов приводило к замедлению движения.