In Step 3, I touched on how legacy choices might significantly impact the design of enterprise components. Now we need to incorporate the broader needs of the business into our design which will likely reverse some of the simplifications applied in the last step. Establishing a sound basis for changing our simplified design is as much mandate as requirement. We need to make our decisions with reasonably comprehensive knowledge of the entire business domain. Of course achieving this requires balancing our need o conduct research and analysis with the limited time to do so before the domain changes again. With fresh eyes we need to discover (or rediscover) the enterprise. We need to venture forth, leaving our cubicle, going beyond the comforting borders of the IT department, and mingle with the business in action Questioning everything and assuming nothing.
When gathering information about the domain you should;
It has been said that all arguments are good. You either prove you are right or you are proven wrong and provided the opportunity to correct your own misunderstanding. While we should striver to avoid the negative aspects of arguing, we must challenge our customer and ourselves. As architects we bring technical understanding to the resolution of business issues as often as we bring business understanding as guidance to the technical solutions. Constantly seeking to define the implicit activities of the domain in explicit terms so that we may validate their accuracy and completeness helps us map our understanding of the domain and identify it’s impact on how and where we apply technology.