The foundations of agile – Lean Software Development, Theory of Constraints and Systems Thinking

During a recent brown bag lunch I gave a presentation on the foundations of agile. I talked about the some of the underlying philosophies and methodologies that have influence agile software development.

The presentation covered a little bit of history before looking at Lean Software Development (and it development from the Toyota Production System), The Theory of Constraints and Systems Thinking.

The presentation can be found here.

Remember to have a look at the slide notes, as it has some more information not included on the slides themselves.

Advertisements

Dialogues and discussions

At a recent team meeting thoughts quickly turned to problems with an upcoming release and the state of software development at the organisation. A general feeling that things weren’t better anywhere else gave way to the usual suspects of incomplete requirements, no focus on quality and lack of resources. On the list of things that could be done was a meeting with the team and other members of the department including the development manager and the Head of IT.

Comments were made about the idea of a meeting which included:

  • Similar meetings in the past had made no real difference
  • With senior management present people would not feel able to discuss certain topics
  • Nobody would pay any attention until there was a serious failure

I thought the comments seemed plausible as I have been in enough of those types of meetings to know that this type probably wasn’t going to help, at least not without a change of approach. I recalled Peter Senge talking about different types of discourse, and the differences between them, in ‘The Fifth Discipline‘. I grabbed my copy and started reading. Below I have attempted to summarise my understanding.

Dialogues and discussions

British physicist David Bohm developed the idea that dialogue and discussion are related but different concepts, and that is it the synergy between dialogue and discussion that yields its power. Bohm asserts that this power is unlikely to exist if the distinctions between the two are not appreciated. Most people are aware that not all discussions are the same in tone, focus or outcome but few have thought about, and could explicitly call out the differences in their experiences.

For Bohm, a “dialogue can be considered as a free flow of meaning between people in communication, in the sense of a stream that flows between banks” in an effort to gain understanding of a complex issue. A discussion is used to present different points of view with the intent of finding a course of action. The table below summarises the differences:

Discussion Dialogue
Decision Making A discussion converges on a course of action and decisions are made. Complex issues are discussed, but no decisions are made during dialogue. Instead of a decision, a dialogue diverges to gain understanding, not to seek consensus. The outcome from a dialogue may feed into a discussion when a decision needs to be made.
Purpose Although it is not always immediately obvious, in most cases the purpose of a discussion is to “win” the discussion by having your view accepted by the group. It is not hard to see how this might be at odds with the espoused outcome of a discussion. A dialogue is not won at an individual level, but at a group level. A group accessing a larger pool of common meaning which goes beyond any one individuals meaning.
View point The different views of the group are presented and defended to give an overall view of the situation from different directions. The prefered view is then selected from all the possible alternatives. Different views are presented in a safe environemnt as a means to discover a new viewpoint.

I think it’s fairly safe to say that most organisations cannot always distinguish between the two, as indeed, neither could I until I had read The Fifth Discipline. I can relate to situations that I can now identify as being a dialogue, and some that were discussions. That is not to say that it has to be an either / or situation. Once a team can make the distinction they can move between dialogue and discussion as required.

Context for a dialogue

In order to be able to explore complex issues in a safe environment a context must be established. Bohm establishes some initial conditions:

  • All participants must “suspend” their assumptions “as if suspended before us”. This is not to say the assumptions and opinions are bad, just that we should hold up our opinions for observation, questioning and examination. It is vital that participants are free to talk about their assumptions without prejudice or fear. People are naturally cautious about revealing their assumptions but it is not possible to have a productive dialogue if people are defending their assumptions or are simply unaware of them.
  • All participants must regard one another as colleagues. I know what you are thinking; the people I work with are by definition colleagues. This is not the point Bohm was making. Instead it means that the participants must see the dialogue as a mutual quest for insight without feeling vulnerable to office politics, ridicule, coercion or judgement. One of the initial comments about the meeting hit upon an important related idea: that certain topics would not be discussed freely with senior management present. This is a very common problem (or untested assumption?), but it is vital organisational levels are not recreated in the dialogue. Transparency should transcend hierarchy.
  • A facilitator is a prerequisite as without this the dialogue will be pulled towards discussion. As well as providing the usual benefits of facilitation, the dialogue facilitator should keep the dialogue on track. It is their job to ensure that the conditions of the dialogue are been met. Once a team has become accustomed to dialogues they may find that they can control the dialogue without the need for a facilitator.

Team Learning

As with most concepts in Systems Thinking, establishing effective dialogues takes practice to build the trust and respect required. With practice effective dialogue should also lead to effective discussions.

With regards to the original idea of having a meeting with senior management, it seems to me that the first step should definitely be a meeting in the spirit of dialogue rather than discussion. Not least because there were numerous untested assumptions and some underlying tension present. I acknowledge that this is not an easy thing to do, but team learning has to start somewhere. Also I think the group need to make more opportunities for team learning on the whole, where people can share their views in a safe environment. This could be be with a retrospective like activity following a regular cadence.

Dialogues and discussions in software development

Within Agile software development there are parallels between the ideas of dialogues and discussion, and retrospectives. This should not be a surprise as the purpose of retrospectives is also team learning. As with effective dialogue, effective retrospectives take practice to build the requisite trust within the team. Often retrospectives are structured to have distinct sections of dialogue and discussion. The retrospective prime directive attempts to established the correct context, in effectively asking people to suspend their assumptions and biases. Sections such as setting the scene and gathering information try to explore the complex issue without searching for actions and outcomes. When generating insight the team attempts to converge on a possible set of actions, before finally selecting some tangible actions for the next iteration.

Sources:
Peter Senge – The Fifth Discipline
David Bohm – Bohm dialogue