At Qcon 2007, Joseph Pelrine addressed issues dealing with agile adoption.
He started out by describing how an organization is composed of multiple teams with some being flexible and others rigid. The flexible teams have resonance and will quickly sync up with you. Using resonance can help you bring change. However, too much resonance is a bad thing. It’s like how running down hill too fast can make you fall down. The rigid teams Don’t want to change, do not like what you are doing and do not want to move. They will resist your process. You can use this as a buffer so you do not start tripping up. However, too much resistance is not good.
Next Joseph discusses how management is still stuck in Newtonian concepts and mechanics of work where the whole is the sum of the parts. He describes how we deal with different tasks and issues by providing 4 categories based on cause and effect:
1. Simple: Cause and effect is known. Switching a light switch turns light off and on.
2. Complicated: Cause and effect is hidden but knowable. Pressing a button turns a computer on. Pressing button turns on phone.
3. Complex: Cause and effect is retrospective coherence. Cause and effect emerges and system self organizes, but cause and effect is only clear when looking back and in hindsight.
4. Chaos: No patterns of cause and effect. There is no discernable cause and effect.
Between these is a black hole of stuff we haven’t figure out yet. It will stay there until we know which category it belongs too.
Most tasks that management deal with and most deterministic coding tasks are on the side on simple or complicated (know cause and effect). The hard part are thing on the other side like figuring out what customer need and dealing with people. We’ve been taught how to work with 1st set, but are still floundering around with the other set.
Next, Joseph discusses different ways of thinking
1. Process engineering: There is order. Cause and effect is knowable. We can look it up or it or we can call up an expert. This is great for waterfall. When there is order, you can know everything in advance and because agents obey rules you can predict behavior. This is known as process engineering (Taylor).
2. System thinking: There is order but rules are not obeyed (heuristics). The leader has vision and leads the flock and makes sure everyone is following.
3. Math Complexity: There is un–order. They are neither ordered nor chaotic. They are in the process of becoming ordered – emergent self organized order). It’s like when learning, there is a comfort zone, a panic zone, and an un-comfort zone (in process of becoming comfortable). Example: How do birds migrate? They fly according to 3 rules: avoid collision, fly at same speed, fly towards the center of flock. Every time you put this team together they will organize in a different way. However, humans are not birds. We do not like to deal with rules. We do not think rationally. Humans when making a decision apply a subconscious highly optimized 1st fit pattern algorithm and then rationalize it based on the context they are in. It is 1st fit (need to react quickly) and not necessarily best fit. Decisions can be made based on an in depth analysis of all the information I have at the time or based on a dream. Behavior is not predictable. Mathematical modeling of dealing with this tends to break down.
4. Social Complexity: deals with issue of how to deal with groups of people.
Problem management has is to Presume that is work all over the place
Next, Joseph talks about people having different levels of communication, trust and mistrust and list for categories:
1. Functionalist: They are objective and rational. Conflict is a result of misfunction in the organization and it must be fixed.
2. Structuralist: They are objective and radical. Conflict is a result of the struggle inherent in the system. It’s a clash between classes. It is a result of the system.
3. Constructivist: They are subjective and rational. Conflict is a result of engaging in differences. It is a door way of opening up and understanding. Talk about it and deal with it.
4. Post modern: They are subjective and radical. Conflict is a result of inherent power struggle to contribute to the dominant discourse happening in the system.
The challenge is how to deal with the different ways people view management, view issues and problems and view conflict. What’s your cognitive bias?
Joseph suggests adding a buffer which can be a person, a process or a protocol or ritual. In scrum, meetings serve as buffer (ritual).
Next Joseph describes 3 levels of conflict happening:
1. Preconventional conflict: Challenge to our survival. Give me your money or you are dead. Deal with it by use of authority. Police
2. Conventional conflict: Challenge to our identity or ego. Deal with it by mediation and facilitation. Express your feeling and emotions.
3. Post conventional conflict: challenge to our understanding. Deal with it by sense making. What is our belief system or value system?
Joseph mentions that conclusions are based on observations made and interpreted based on a belief system. So when someone attacks with a conclusion, ask them based on what observation they got to that.
Joseph concludes by describing 4 reasons why agile fails:
1. Not understanding what inspect and adapt really means. It should be apply, inspect and adapt. Buying a book and reading about a process and using what we like is not inspecting. We should get out of your comfort zone. Apply 1st, get data, get experience and then inspect and adapt. You have to do it 1st so you know what you are talking about.
2. Agile techniques bring stuff into the open. Many people cannot deal with what comes up and are rushed by people that have political or psychological power
3. Applying it in the wrong place (like in order)
4. Communication and conflict
This presentation is on InfoQ at http://www.infoq.com/presentations/Agile-Adoption-Joseph-Pelrine