
Зачем нужны формальные документы?
XI. ПЛАН НА ВЫБРОС
Опытные установки и увеличение масштабов
Постоянны только изменения
Планирование изменений в системе
Планирование изменений в организации
Два шага вперед, шаг назад
Шаг вперед и шаг назад
XII. ОСТРЫЙ ИНСТРУМЕНТ
Целевые машины
Инструментальные машины и служба данных
Язык высокого уровня и диалоговое программирование
XIII. ЦЕЛОЕ ИЗ ЧАСТЕЙ
Проект без ошибок
Автономная отладка
Системная отладка
XIV. ПРИБЛИЖЕНИЕ КАТАСТРОФЫ
Вехи или помехи?
Сор в избе
XV. ВТОРОЕ ЛИЦО
Какая документация нужна?
Несостоятельность блок-схем
Самодокументированные программы
ЭПИЛОГ
ПРИМЕЧАНИЯ И ССЫЛКИ
I. АСФАЛЬТОВАЯ ТОПЬ
"Корабль на мели - моряку маяк".
(Датская пословица)
Ни одна из сцеп нашей предыстории не оставляет столь яркого впечатления, как смертельная схватка огромных животных с асфальтовой топью. Перед глазами встают динозавры, мамонты, саблезубые тигры, пытающиеся выбраться из топи. Однако чем отчаяннее борьба, тем сильнее сжимаются тиски, и как ни силен, как ни хитер зверь, в конце концов он погибает.
Программирование больших систем последние десять лет и было той асфальтовой топью, в которой увязли многие огромные и сильные звери. Почти все работающие системы не соответствовали своим спецификациям, своему назначению, не укладывались в графики и бюджет. Большие и маленькие, громоздкие и гибкие коллективы разработчиков неизбежно попадали в ловушку асфальтовой топи. Ничто, казалось, не вызывало затруднений - можно вытащить любую лапу. Однако накопление одновременных и взаимодействующих факторов приводило к замедлению движения.
Неподатливость проблемы вызывает всеобщее изумление, и разобраться в ее природе непросто. Но мы должны попытаться ее понять, чтобы впоследствии решить.
