Разработка ПО - это процесс создания знания. Общая идея продукта, прототипы дизайна и концепция архитекутры могут появиться до начала разработки, но их правильность или неправильность будет проверена только в ходе работы над проектом.
Моя книга «Антихрупкость в IT» Как достигать результатов в IT-проектах в условиях неопределённости. Подробнее...