Exploring Solution Architecture
By Paul Preiss
I have recently picked up an older book, Financial Intelligence for IT Professionals
, by Karen Berman and Joe Knight which was published by the Harvard Business Press in 2008. It is a well written and concise summary of financial management techniques applied to the IT context. It also represents a signficant potential growth area for solution architects who are in the position to drastically impact corporate purchasing and investment in IT.
Although most solution architects still focus more on the technical design than the investment portfolio it is necessary during a project to ensure the organization is not only matching corporate standards but to optimize the use of technology towards the larger aims of the organization. This limits governance issues, connects the projects towards more strategic goals including long term investment. However, in my experience most solution architects still need a signficant amount of education and practice in the value management skills necessary to do this effectively.
For example, we may take the following requirement for a project and use it to make decisions about technical design:
The system will support users over the web.
Our first thought about this is likely technical. How many users? How many users concurrently? What web browsers? What are the usage scenarios? Client machine capabilities? Etc. These questions relate primarily to the quality attributes such as scalability, performance, security etc. However the single most important question has not yet been answered. What is the actual benefit of supporting web access? While in this day and age, when most applications are built for web browser access, it is still the most important requirement. In today's best practice the first question is do we need it at all and if so how much business value does it generate? For example if adding web access will open the app up to 5000 additional customers that would be significant enablement that is measurable.
So a better wording for the requirement is:
The system will support 5,000 total users and 500 concurrent users with an expected $50,000 per day of purchases.
This requirement helps us to make investment decisions by doing the appropriate ROI (return on investment), NPV (net present value) and TCO (total cost of ownership). Obviously we may choose a different stack with these requirements than if we were doing a system where web usage came in at 500 users and 5 concurrent with no revenue enablement.
As a solution architect team you should constantly be striving for optimizing the enterprise commitments and tradeoffs of the target strategy.
Learn more about this, agile architecture techniques and solution architecture management in my course https://itabok.iasaglobal.org/assnfe/ev.asp?ID=614
in Sydney on Nov 25th.