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