
Комплексная отладка
Ни одна часть графика работ не связана так сильно ограничениями на их последовательность, как отладка компонент и комплексная отладка.. Очевидно, что требуемое время зависит от числа встречаемых ошибок и легкости их обнаружения. Будучи оптимистами, мы обычно ожидаем, что ошибок будет меньше, чем это оказывается в действительности. Именно поэтому отладка чаще всего не укладывается в график.
В течение нескольких лет я успешно применял следующее практическое правило планирования работ по созданию программного обеспечения:
* проектирование - 1/3,
* написание команд -1/6,
* отладка компонент и отдельных подсистем - 1/4,
* системная (комплексная) отладка всех компонент - 1/4.
Это разбиение отличается от общепринятого по нескольким важным показателям:
1) доля, отведенная проектированию, больше обычного. Но даже в этом случае времени едва хватает на написание подробных и надежных спецификаций и вовсе недостает на разработку и внедрение существенно новых методов;
2) половина времени отводится на отладку написанной программы, что гораздо более обычного;
3) часть, которую легко оценить, т. е. собственно написание команд, занимает только одну шестую графика.
Знакомясь с проектами, планируемыми по общепринятой методике, я обнаружил, что по графику только в некоторых из них половина времени отводилась на отладку, но в действительности так получалось в большинстве проектов. Многие проекты до этапа комплексной отладки еще как-то укладывались в график2).
Проект оказывается в особенно бедственном положении, если отводится недостаточно времени на комплексную отладку. Так как задержка приходится на конец графика, то никто и не ожидает никаких неприятностей почти до самой даты окончания работ. Плохие новости обрушиваются на заказчиков и руководителей внезапно и чаще всего слишком поздно.
