Читать «Мифический человеко-месяц» онлайн

Фредерик Брукс

Приятного чтения!

Брукс Фредерик

Мифический человеко-месяц

Фредерик П.Брукс

Мифический человеко-месяц

ОГЛАВЛЕНИЕ

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. АСФАЛЬТОВАЯ ТОПЬ

"Корабль на мели - моряку маяк".

(Датская пословица)

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

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