Команда помогает обойти многие грабли. Да, дойти до всего своим умом — полезно, но общение с опытными коллегами полезно не менее. Коллеги помогут не изобретать велосипедов.
в любом случае вы можете использовать Inversion of Control, Dependency Injection, Observer-Listener и прочие паттерны увеличения ортогональности в вертикально связанных системах. Или вот еще AOP — очень удобно для сквознрй функциональности.
А, вот оно что. В посте не было про почасовую оплату.
Вообще это не полностью автоматическое решение. Так как программер должен будет сам назначить на себя задачу именно тогда, когда берется за ее решение.
Гарантий никогда никаких не бывает. Даже постоянная команда — не гарантия качества, увы.
Поэтому один из критериев — стремление к проверенным и широко известным решениям.