Root Causes of Architecture Trouble (Christoph Steindl, Christian Federspiel)
In our experience, there is often too much or too little architecture work in software development projects. It is hard to find the right balance between stability and flexibility. Much of architecture work doesn’t seem to give a good return on investment. But on the other hand, there are - from time to time - projects that do a lot of architecture work and become highly successful. One of these pearls is the Borland Quattro Pro for Windows project.
Should we simply do "no big design upfront" (like proclaimed in XP) or is there value of attacking architecture risks early on (as in the RUP)? With a thorough understanding of the causes and effects that lead to architecture trouble we should be in the position to understand what we should do and get the highest benefit from what we do.
We have brainstormed a lot of negative effects and have put together a comprehensive understanding of the underlying causes by using the Thinking Tools of the Theory of Constraints. We have already uncovered some powerful negative feedback loops that often lead to inefficient behaviour with architecture work. We want to present our current work and expand on that by involving the participants in a structured way. It may not be so surprising that increased feedback and synchronization within the team and with the customer can lead to a higher payback of architecture work. Be prepared to get some surprising insights!
Our intention for the XP Days is to lead a workshop with the following format:
-
Give a quick overview of our previous work on architecture trouble (“Current Reality Tree”)
- Brainstorm the initial set of troubles with architecture work, data-dumping the ideas of the workshop participants
- Form groups of 4-5 people to elaborate on these ideas by asking whether the negative effects are truly negative (from a bigger view) to understand their impact; by asking what the causes were for these negative effects; and by rephrasing the negative effects, their causes and their impact
- Reporting the negative effects to the entire group, clarifying possible issues and integrating them into the existing current reality tree of architecture trouble.
The participants will see some of the Thinking Tools of the Theory of Constraints in action, we will use the Current Reality Tree and the Categories of Legitimate Reservation to understand the root causes for architecture work. We will surface the hidden assumptions that led to the trouble and scrutinize the logic. The session will by highly interactive. We will have two coaches to guide the discussion and work.
Our objectives are to brainstorm problems that people have with architecture work; to investigate the reasons for the problems and advance to the root causes; to uncover hidden assumptions and negative feedback loops that reinforce negative behaviours; and to point to areas where slight changes may have strong positive impacts.
The session is restricted to 20 people for active participation (due to brainstorming and group discussions), additional passive participants are welcome.
The intended audience are software developers, architects and project managers with reasonable practical experience. There is no need for experience with the Theory of Constraints.
Benefits of participating: better understanding for when and how to do architecture work; better understanding for the effects that can turn a good architecture ineffective; increased awareness and some new insights; network of people with similar interests; and ideas for improvement.
|