Организация программы, которая бы отражала постоянно углубляющееся понимание предмета.
Узнать что то новое о предметной области равно возможно как в начале, так и в конце работы над проектом.
Наилучшие идеи приходят после первого выпуска соответствующих программных систем.
Существуют систематические методы рассуждений, которые может применить программист для достижения понимания предметной области и построения ее эффективной модели.
Существуют и приемы проектирования программ, позволяющие привнести порядок в хаотическое нагромождение кода.
Разработать четкую и ясную модель, которая не оставит от сложности предмета камня на камне, - что может быть интереснее?
Начиная писать программу, невозможно знать достаточно.
Знания, относящиеся к проекту, всегда фрагментированы, разбросаны по документам и памяти разных людей, а также смешаны с посторонней информацией, из-за чего даже нельзя знать наверняка, что именно нам понадобится. Если какая-нибудь предметная область на первый взгляд и кажется не слишком сложной технически, она еще может преподнести сюрприз - за ранее не известно, что именно из нее мы не знаем. А незнание делает часть предположений ложными.
путешествие в неведомое должно с чего-то начинаться.