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.