Before going into the details I suggest to...
All we dream about simple architecture. Everything you always wanted to know about Complexity article described an approach to measure how complex our architecture is. The next question is to find the simplest solution in a multi-variable situation, which usually called project. This article shows an approach which ensures that all functions you implement will be on the best place from overall complexity point of view for greenfield cases, while we will discuss about brownfield situations also.