Simple Architectures for Complex Enterprises (PRO-best Practices) (Best Practices (Microsoft

Simple Architectures for Complex Enterprises (PRO-best Practices) (Best Practices (Microsoft
Authors
Roger Sessions
ISBN
0735625786
Published
19 May 2008
Purchase online
amazon.com

Dismantle the overwhelming complexity in your IT projects with strategies and real-world examples from a leading expert on enterprise architecture. This guide describes best practices for creating an efficient IT organization that consistently delivers on time, on budget, and in line with business needs.IT systems have become too complex and too expensive. Complexity can create delays, cost overruns, and outcomes that do not meet business requirements.

Page 2 of 2
  1. Editorial Reviews
  2. Customer Reviews

Customer Reviews

Bradley Jones said

Maybe I'm missing something, but this book seems flawed. I agree that simple is always better. I also agree that breaking complex problems into smaller pieces (partitions) is a good way to make something more manageable and increase your chances of success. But....

The idea that breaking things into partitions that are isolated seems flawed. Consider this example in the book - you have a bunch of executives trying to figure out lunch. Rather than having the group try to decide, you break them into five different sets of execs. Each determines part of the meal, such as appetizer, main item, or dessert.
Each group can figure out there piece because there are fewer factors involved, so you'll get lunch resolved and decided exponentially quicker.

Okay, but...

Most pieces of a larger project don't happen in isolation. As such, it isn't as simple as this tries to make it. If you end up with a group of executives eating a meal that is mish mashed together, then you are likely to have a bad lunch. While a bad lunch is tolerable, a bad project is not.

An equally flawed example is that of using an emergency response system. The author comments that it would be bad for a surgeon to give directions on removing a victim from a car. That is a bad example, but indicates the slight way this book seems 'off'. Instead of that example, the author should have commented that if a surgeon tries to operate before the victim is removed from the car....

There are a lot of interesting tidbits in this book, but as some of the other reviews said, there is a lot of redundancy, a lot of vague comments, and a lot of common sense too. The math is interesting, but not enough to make this a great book.

orwa sami smadi said
When I brought this book, I was seeking for a book that talks about Enterprise Architecture, and I found this book as a perfect book for my need ... especially to use it in my master thesis, but what I have found is far away from the big phrase of Enterprise Architecture.

The book started well, spoke high-level and gave good introduction about some major key-words of what we are dealing with in work, but actually after the introduction I felt that I'm just reading an intro book to start studying IT, its just like those 00 books that we was taking when we enters bachelor programs, far away from IT, giving simple and trivial examples, talking about non-IT world more than IT, and even it didnt talk technically at all.

The book talked well about complexity and how to go to simplicity, but it kept far away from "Enterprise" and "Enterprise Architecture", it didnt talk about solutions architecture, simplicity in Enterprise design, best practices about how to architect our enterprise, I was expecting to read about how to create enterprise solution and how to design an enterprise architecture, how to distribute business among projects according to the use of business, distribution of data and how to set-up enterprise on servers ... etc, but what I have found in the book is no more than a talk about minor principles and mathematics for start thinking to learn computer science

If you want to pre-start reading about enterprise architecture, and u didnt get involved into a real project development or dont have any technical experience, this book may be good as an entry for you to start thinking in learning architecture

Anona Mouse said
I enjoy Roger Sessions and read his newsletters and past books. This book is on par with other Roger Sessions writtings. Roger's work is very well thought out as well s logical.

What seems to be missing, for me at least, is the clear cut solution.

The computer solutions world is complex by default. Most computer professionals are so wrapped up in current implementations, politics, issues, self-centered solutions, etc., that the clear-cut path foward is impossible to find. It seems like the Roger Session reader is a lone wolf crying in the forest. The organization around them is not interested.

Yes, the book finishes with the path forward, but, for me anyway, does not give the arguments needed for change.

There needs to be the simplistic points to wake up the ITD departments. That is what I see missing in Roger's books. BUT, I AGREE WITH HIS REASONING AND SOLUTIONS, COMPLETELY!

Now on to this book.

The first part of the introduction is probably the key to the rest of the book and best addresses the general complaint listed above. Everyone, in every IT department, should read this section.

The first chapter is an overview of system architecure in general. This chapter alone is worth the price of the book, to me at least. Too many organisations focus on a very small part of architecture and that small part as the enterprise solution. This chapter encapsulates the what, why, and failure of enterprise architecure methodology.

The next couple of chapters discuss complexity and proofs of complexity. After that, he discusses partitioning, why partitioning is benefical, and explains his partitioning process.

I appreciate Roger Sessions thought process and encourage all computer professionals to read.

Aaron Seet said
The general approach to any grand IT problem is to break it down to smaller manageable pieces. Pieces that our pathetically puny brains can contain and work on at a time. Any decent software developer would have known that. And yet, we still continue to produce massive, monstrous, monolithic code that is a complete beast to interpret, comprehend, and modify. In other words, a mesh of _unmanageable_complexity_. There is without a doubt such technical misshaping contribute significantly to the schedule and budget overrun in way too many large projects, and ultimate failure.

But what am I talking about? This book is not about software applications. As an enterprise architect, Author Roger Sessions takes us up several floors to show us where he believes all these complexity evil germinates - the failure to control the complexity of IT inter-system communication across the organisation. He writes this volume to explain the problem of complexity can be illustrated via mathematical models, and purports that the application these mathematical exercises and further concepts of organisation will help divide the enterprise into simple easy pieces.

_That_ is a rather mighty claim. Is this for real?

Roger Sessions starts out strong. He begins mentioning existing methodologies and frameworks used to organise architectures in the present industry and highlights rather glaringly the missing piece in all of them - the deliberate effort to ensure the output of the work is simple. The next two chapters quickly move on present some simple real-world scenarios (like a rubik's cube, chess games, team and store organisation, etc) and then the math behind them, on how dividing them - partitioning - into smaller pieces of a bigger whole helps to solve the problem they present in a much less troublesome manner. The mathematics introduced is simple enough to understand and convincing. But somehow the lessons would be re-taught every now and then; I found the repeated explanations to be redundant and approaching incessant. It is almost as though the author fears the readers may not be convinced enough and needed reminders. Or there is the assumption the intended audience largely failed elementary math in school.

As convincing as the principles behind the math are, my disappointment set in when the transition from pure math theory into real-world business modeling began. If you think it sounded too good to be true that real-world architecture can be tackled with simplistic mathematical models, well, it is. Even Roger Sessions himself admits that real-world circumstances is in fact, not that simple. The problem with the absolute black-white nature of mathematical theory is it excludes many (grey) inter-object relationships or channels that real-world organisations would inherently possess; they cannot be blindly ignored. Take for example, the Five Laws of Partitions

First Law of Partitions - Partitions must be true partitions.
Second Law of Partitions - Partition definitions must be appropriate to the problem at hand.
Third Law of Partitions - The number of subsets in a partition must be appropriate.
Fourth Law of Partitions - The size of the subsets in a partition must be roughly equal.
Fifth Law of Partitions - The interactions between subsets in the partitions must be minimal and well defined.

With such vague "laws" I predict a chasm of opportunities for unending subjective debates over what "appropriate", "equal size", "minimal", or "well defined" can truly mean when it comes to discussing how to partition a real organisation into smaller units. Therefore the fourth chapter's technique of Autonomous Business Capabilities (ABC) did not resonate well with me as I pondered how this applies to real departments and divisions. It is just not that simple. However, Roger Sessions' intention is squarely - and rightfully - focused on breaking things down simple enough to benefit the _business_.

On a side note, I found his deliberate avoidance to discuss application systems somewhat isolative. As a software developer, I find many of the principles he puts forth are directly applicable, and even taught, at the level of software architecture and design. Like it or not, the lifeblood of any enterprise is the myriad of software applications; keeping their design simple is as important as keeping the enterprise simple. In fact the SIP (Simple Iterative Partitions) process he recommends resembles Agile practices a lot. Somehow, I get the feeling Roger Sessions has forgotten failure in IT projects is contributed by many things happening at all levels, not just enterprise architecture alone.

It is difficult to label this book as truly seminal; due to the various falling pieces, I cannot feel the utter greatness. But don't be deceived - it has been a good _mind-stretching_ exercise (not mind-blowing). Roger Sessions has presented some eye-opening ideas that allowed me to gain new light in this argument for simplicity. His message is clear - there not enough people consciously considering simplifying things they work on; and accomplishing things by smaller projects of iterative sequence. I wholeheartedly agree on this. If the word "simplicity" never flashed across your mind (are you reading this, CIOs, CTOs, and architects???) while you were thinking through architecture or design, you need this book to yaw yourself in the right direction.

OVERALL RATING: 7/10
GOOD: Refreshing perspective; interesting model & approach for architecture; gets the point across
BAD: Repetitive; model not 100% mapped to real world; concept not 100% new; the IT problem spans across more than one area

Dadofsix said
That's the question I kept asking myself as I re-read Simple Architectures for Complex Enterprises. Let me say at the outset that I'm totally open to the possibility that I missed the point--again!

The book starts off with an interesting discussion of complexity. Ok, not bad. Then, Sessions introduces the set-theoretic concepts of equivalence classes and partitions as means to reduce complexity. At this point, being a math enthusiast, I was well baited. By Chapter 5, where he first begins to discuss the SIP process, I had high expectations. By the time I completed Chapter 6, I was completely disappointed. His fundamental equivalence relations--synergistic and autonomous--are intriguing in their definition, but amount to being completely arbitrary and subjective. I found no real mathematical grounding at all, which is a major premise and selling point of his approach.

After reading about his type system, with its implementations and deployments, I came away feeling that I had read yet another description of how to do a functional decomposition (FD). This time, though, it comes wrapped in terminology that is pedantic. His "laws of partitions" are nothing more than heuristics for checking a FD:

- The First Law basically says that the FD is hierarchical. That is, a node can have only one parent.
- The Second Law states that the FD must make sense.
- The Third Law states that each level of the FD should contain 3-8 child nodes.
- The Fourth Law says that each child node in the FD should be about the same in scope, complexity, and importance as the other child nodes at the same level.
- The Fifth Law is not so much a FD rule so much as it is a statement about low coupling and high cohesion.

I think Roger Sessions is very smart and innovative (e.g., his metaphor of Software Fortresses is very well done). So, I want to give him the benefit of the doubt. But I don't think there's anything new here, folks. It seems to be a rehash of some Structured Analysis and Design concepts and other concepts from the past.

Someone please show me where I missed the boat!

You might also like...

Comments

Contribute

Why not write for us? Or you could submit an event or a user group in your area. Alternatively just tell us what you think!

Our tools

We've got automatic conversion tools to convert C# to VB.NET, VB.NET to C#. Also you can compress javascript and compress css and generate sql connection strings.

“In order to understand recursion, one must first understand recursion.”