Topics about ”Simple Architectures for Complex Enterprises”
Based on ArCast.TV Session and the Roger Sessions Book named “Simple Architectures for Complex Enterprises”
When I started viewing this ArCast was because this is a very interesting topic and because normally what people tend to have as Enterprise Architects are very complex Architectures and problems and so my goal was to find how can we simplify these architectures in order to best achieve our goals. And so the most interesting topics i took from this talk were the following:
- Enterprise Architects should focus on Simplicity because this is the key characteristic that we should strive for and is more important that Security, Performance, Scalability and all others elements. And when we get simplicity the others will also happen and without it we can’t achieve any of these elements.
- Personal Note: Ok this is right because because whenever we start to build an enterprise architecture the first thing that comes to our minds is really the Security, the Performance, the Scalability, the Reliability of the system and so on, and we tend to forget that the simplicity is important or else we’ll have a very complete architecture but that is very difficult or impossible to put in practice due to the values involved or simply because of the complexity involved, and so this is important and something we should strived to achieve.
- It’s very important that the Business and the IT are aligned because otherwise we will end up with different systems from the ones that were asked, and by doing so we won’t solve our problems.
- Personal Notes
- This is what normally happens with IT, instead of Business looking at IT as a way to facilitate the achievement of the Business goals, they sometimes look at it the other way around and this brings huge problems to this relationship between Business and IT, that should always be aligned to achieve the proposed goals.
- Let’s just think about SaaS – Software as a Service for a second and try to see if this shows anything about this point:
- Who normally choose SaaS solutions? Business People
- Why? Because they are easy and simple to use and payed-as-you-go
- For example: SalesForce.com used a lot of these issues between Business and IT because normally the Business People would ask for a CRM for the company and a lot of complexity would come from the IT department saying that they needed to have machines, a complex architecture, a ton of things and then the Business People one day at home would start using SalesForce.com and would bring it to their teams, and after that the IT Department wouldn’t have anything more to say about the subject. Of course that the Cloud Computing part also has a high role in this possibility, but if we try to simplify things maybe this alignment between Business and IT will became easier.
- Personal Notes
- Complexity is a Key issue and is linearly increase to the TCO (Total Cost of Ownership) but not with functionality because in that issue is logarithmic increased since if we are adding twice the functionality what happens is that the complexity grows exponentially and not only in a 1-to-1 basis. In Enterprises the functionality is logarithmically related with TCO.
- Personal Note: Normally this is true because if we double the complexity we are doubling the TCO, but if we just enter a functionality we can be making our complexity grow a lot more.
- In order to make solutions simpler is not necessary to remove functionality but just reorganizing the process, because by partitioning things became easier and better manageable. But the problem is that functionality in a Business system is not easy and so this is where the partitioning of functionalities become important.
- Personal Note: Of course this is important that’s why we hear the Metaphor about “cutting the Elephant into small pieces”. (No disrespect for the animal of course)
- How to take the Simplicity approach to the Enterprise:
- The recommended approach is SIP – Simple Iterative Partitions.
- How to approach the Business with the concept of Simplicity and using SIP to implement it.
- First sell the complexity message
- Normally complexity doesn’t enter in discussions and should be a very important
This is a very interesting approach and I highly recommend the book reading and seeing Enterprise Architectures in terms of complexity and how to eliminate it from the Architecture.