Зачем нужны формальные документы?

XI. ПЛАН НА ВЫБРОС

Опытные установки и увеличение масштабов

Постоянны только изменения

Планирование изменений в системе

Планирование изменений в организации

Два шага вперед, шаг назад

Шаг вперед и шаг назад

XII. ОСТРЫЙ ИНСТРУМЕНТ

Целевые машины

Инструментальные машины и служба данных

Язык высокого уровня и диалоговое программирование

XIII. ЦЕЛОЕ ИЗ ЧАСТЕЙ

Проект без ошибок

Автономная отладка

Системная отладка

XIV. ПРИБЛИЖЕНИЕ КАТАСТРОФЫ

Вехи или помехи?

Сор в избе

XV. ВТОРОЕ ЛИЦО

Какая документация нужна?

Несостоятельность блок-схем

Самодокументированные программы

ЭПИЛОГ

ПРИМЕЧАНИЯ И ССЫЛКИ

I. АСФАЛЬТОВАЯ ТОПЬ

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

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

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

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

Неподатливость проблемы вызывает всеобщее изумление, и разобраться в ее природе непросто. Но мы должны попытаться ее понять, чтобы впоследствии решить.



2 из 117