Надо же, что б работало, а не для учебника</quote>
Встречал устрерждение, что первая версия программы - просто работает, вторая версия - исправляются баги, допиливается архитектура для улучшения... и как правило, вторая версия хуже, чем первая. А вот третья версия - допиливается все что можно, и она уже лучше первой версии.
Также встречал, что для того чтобы написать вторую версию программы, приходится не просто править, а зачастую чуть ли не все переписывать заново, потому что изначально модель не продумана. Вторая версия базируется на переписывании архитектуры, а третья - уже строится на оптимизации второй версии.
Как-то так.
</quote>