Бедный, бедный Ройс
Когда заходит разговор про методологии разработки ПО, то в мейнстримовом айти всё заканчивается на скраме, канбане и вотерфолле. Про скрам писал вчера, про канбан — чуть ранее, не писал только про вотерфолл. Сейчас это исправлю.
Я вбил в гугле "waterfall methodology" и перешёл по ссылкам от Atlassian, Forbes и Asana. Это крупные серьёзные компании, и все они, говоря о вотерфолле, ссылаются на статью Винстона Ройса 1970 года. Почти весь интернет ссылается на эту статью, но кажется, саму статью никто не читал. Народ просто посмотрел картинки. Причем не все, а только первые две (к посту прикрепил несколько основных схем из статьи Ройса). Именно вторая схема стала проклятьем для Ройса. Именно её в айти прозвали вотерфоллом.
Вся статья Ройса строится вокруг первой схемы. Автор последовательно развивает её на протяжении всего повествования. Если почитать статью (текста там немного, всего 8 страниц с большим количеством схем), а не только кинуть глаз на картинки, то сразу становится понятно — вторая схема промежуточная. Ройс использует её только для иллюстрации всех шагов, которые нужны в крупном проекте. Схема органично вписана в канву повествования.
После злополучной второй схемы Ройс пишет об итерациях между соседними шагами и приводит третью схему. На третьей схеме появляются обратные стрелочки! Но даже такая итеративность его не устраивает, Ройс пишет: "implementation described above is risky and invites failure".
Почему не устраивает — показано на четвёртой схеме: тестирование находит ошибки, которые можно решить только полностью изменив дизайн всего решения, а изменение дизайна повлечёт за собой необходимость менять требования. Ройс прекрасно понимает, к чему ведёт такое позднее выявление ошибки: "In effect the development process has returned to the origin and one can expect up to 100-percent overrun in schedule and/or costs".
Всё, что было до четвёртой схемы включительно — только вступление. Ройс описал проблему наивного подхода к разработке. Только после четвёртой схемы начинается главная часть его статьи — пять изменений в процессе разработки, которые снижают риски.
Два из пяти предложений Ройса сейчас не так актуальны, они сильно привязаны к контексту того времени. В семидесятых было очень дорогое и недоступное железо и очень дешёвые программисты.
Три оставшихся изменения актуальны и сейчас: систему нужно написать два раза, тестирование должно быть всеобъемлющим и начинаться на этапе дизайна, заказчик должен быть включён в разработку с самых ранних этапов. Последняя картинка — это сравнение четвёртой схемы с итоговым процессом, который предлагает Ройс.
Предложения Ройса и финальная схема очень далеки от мейнстримового понимания вотерфолла. Вообще, вся эта история похожа на буллинг, который вышел из под контроля. Не хотел бы я оказаться на месте бедняги Винстона Ройса, которого мейнстрим загнобил только за то, что люди поленились прочитать его статью. Причём загнобили за термин, который он никогда не использовал. В его статье нет ни одного слова "waterfall".
· 13.11.2024
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён