Pair Programming

Definition 

Pair Programming is an Agile Software development technique, where programming is done in pairs. The first person writes the code of the software, while the second person who plays the role of an observer, checks and verifies the lines of source code. The pair keep switching roles to facilitate the development process.

Further Reading

  • “Pair Programming Illuminated”, by Laurie Williams. 

Know more such interesting terms by visiting our website.

Interview with Patrick Steyaert

Today’s conversation is with Patrick Steyaert. He is an international speaker and winner of the Lean Kanban North America 2015 Brickell-Key award for his contribution in the development of Discovery Kanban, a method to manage knowledge work in the context of innovation and change.

Patrick is a wonderful person to work with and here is our discussion on how change can challenge thinking.

Q1. What is the key hurdle in implementing agile?

Patrick: The key hurdle is that Agility requires a whole new way of thinking. Rather than the “either-or” (reductionist) thinking that underlies traditional management (and much of our education) it requires “and” thinking (integrative thinking). Any successful (agile) change must start and end with challenging the traditional “either-or” thinking. If it does not do so, agile will be a revolution that is not a revolution. In other words, if the thinking is not fundamentally challenged then agile just becomes a recipe just like all other recipes before. This is the case for many of the current agile change initiatives where agile is treated as a recipe: first, an agile method is chosen; second the benefits of implementing the particular agile method are unquestioned, so the biggest obstacle becomes actually just implementing the method; and finally success is declared when (parts of) the agile method have finally been implemented. It does not bring the organization closer to business agility, the thing they actually need.

Q2. Please explain Discovery Kanban.

Patrick: Agile development is not sufficient anymore. Rather than just agile development, organizations are looking for business agility where the whole organization is engaged in creating value through meaningful work. Discovery Kanban, together with Upstream and Customer Kanban, form a family of Kanban systems that create flow and pull not just in the development or service delivery team(s) but end-to-end from suspected to satisfied need.

Q3. How a change can challenge the thinking?

Patrick: Today’s agile training and coaching is too much focussed on practices and too little on teaching and coaching a new way of thinking. It seems that there is an assumption that the thinking will change when practices have been implemented. I see little evidence of this. Our experience with Okaloa Flowlab has been that we can actually start with teaching a new way of thinking before methods and practices and that this has many advantages. We immerse people in a simulation where people experience the limitations of the conventional way of thinking (division of labour, capacity utilisation, predictive control) and the advantages of the agile way of thinking (flow, self-organization, active learning).

Q4. No idea should turn into a dogma. What do you mean when saying so?

Patrick: In a revolution that is not a revolution, one dogma is replaced by another dogma. We see a lot of this in the agile space. People that strongly advocate for one particular strand of agile at the exclusion of other strands of agile. They are replacing the dogma of traditional management with the dogma of their particular strand of agile. On the other hand we see people that strongly advocate for a “pragmatic” approach. What they actually mean is an approach where you look at agile as a toolbox of practices. I call this opportunistic pragmatism. The truly pragmatic approach is one in which you have strong beliefs that are loosely held. It starts with recognizing that all good ideas have a boundary to their applicability and therefore there should be no dogma’s. The only dogma is that their should be no dogma.

Q5. Throw some light on ‘Uneven flow leads to organized chaos with waste and overburdening’.

Patrick: Many organizations suffer from an uneven and unpredictable demand. This inflicts a lot of pain in the delivery organization as it tries to match the demand. Often times the delivery organization alternates between periods of overburdening (more demand than capacity) and starvation (more capacity than demand). Delivery teams can develop a certain level of flexibility to cope with changing demand but this only goes so far. The solution lies in leveling the demand.

Q6. What is Triage?

Patrick: Triage is a technique that comes from medicine where it is used to decide the order of treatment based on an assessment of the seriousness and risk of escalation of illness or injuries of a patient. It is an effective technique to level or shape the demand in order to make most effective use of the critical resource. Since a couple of years now I have been using triage in upstream kanban where it plays a central role in leveling demand – avoiding alternation between starvation and overburdening.

Q7. How was your experience at Lean Kanban India 2017 Conference and how was it working with INNOVATION ROOTS?

Patrick: I really enjoyed Lean Kanban India. From the many interactions I had, the one thing that struck me the most is that participants were really open to discuss and explore new ideas. It really gave me the impression of a very vibrant community. I enjoyed working with Innovation Roots before, during, and after the conference. There is a real commitment for doing a good job of developing the conference and the community. A real joy to work with.

 

 

Patrick Steyaert is a founder and principal coach and trainer at Okaloa. He helps organisations to innovate and change. He works with customers ranging from high-tech SME’s to large incumbent companies. He is an expert in Lean and Agile with practical experience in both software, IT, and technology businesses as well as non-IT (logistics management, HR…)

Patrick holds a PhD in computer science and was involved as director in several start-ups. He has more than 15 years of experience of leading change and innovation in organisations. He is an LKU accredited Kanban trainer and Kanban Coaching Professional.