Читать «Эффект плато. Как преодолеть застой и двигаться дальше» онлайн - страница 133
Боб Салливан
И что же еретического в этих словах? Что можно придумать радикального в процессе создания программных продуктов? На самом деле Бек перевернул основы компьютерных технологий с ног на голову, и при этом его методы – а точнее, новый образ мышления – могут применяться во всех сферах жизни.
До появления Манифеста гибкости крупные проекты по разработке программных продуктов были жестко структурированы и следовали модели под названием «водопад». В этой системе разработка разбивается на несколько монолитных этапов, один из которых последовательно переходит в другой. Этот же крайне структурированный и методичный подход используют инженеры при проектировании и строительстве небоскребов (проект, строительство, тестирование). И, как и при строительстве небоскреба, разработка программы могла занимать до нескольких лет. Рабочие комитеты устраивали встречи, на которых согласовывались все детали программы, после чего программисты суеверно стучали по дереву. После завершения работы над набором основных свойств они принимались за дело, выполняя одно задание за другим. В это время тестеры готовились перехватить у них работу, а члены руководящего комитета пытались справиться с прыгавшим от напряжения кровяным давлением. Когда результаты передавались тестерам для поиска ошибок, все опять принимались стучать по дереву. В это время, когда после первого заседания комитета уже проходило около 18 месяцев, кто-то мог рассказать команде о выходе на рынок Netscape или изобретении Facebook, после чего все начальные планы комитета уже оказывались полностью устаревшими. Разумеется, при наличии согласованного и утвержденного набора свойств о пути назад не могло быть и речи. И тогда часть разочарованных программистов уходила из компании, а маркетинговая команда принималась размышлять и обсуждать, как получше солгать о том, на что действительно способна программа.
Требования к программному продукту быстро меняются. Появляются новые технологии, и вчерашние конструкции крайне быстро становятся устаревшими. Требования, которые когда-то были необходимы пользователям, устаревают еще до того, как продукт отгружен. Наличие таких динамических систем, в которых все постоянно меняется, означает, что стабильный курс, заложенный дизайнерами в самом начале, ведет программы прямой дорогой к ненужности и забвению.
К этому времени большинство проектов, созданных по модели водопада, достигали стадии завершения – они были либо уже не нужны, либо требовали полной перестройки. Результат – задержки, рост бюджетов. Короче говоря, возникали некоторые из самых дорогостоящих плато в современном бизнесе. Проведенный в то время опрос работников сферы ИТ показал, что треть проектов в области разработки программ для бизнеса была прекращена до момента окончания, а у половины завершенных затраты на завершение превысили бюджет в два раза. Отрасль должна была измениться.