“How” to go beyond Scrum and use Lean in Software Development Teams?

Once more I would like to share my thoughts/opinion with everyone about this new subject – “How” to go beyond Scrum and use Lean in Software Development Teams?

In order to give you some context, I will start by explaining ShuHaRi concept, as well who introduced this concept in Software Development.

ShuHaRi as some of you might know is a Japanese martial art concept, this concept describes the different stages of learning to mastery. [1]

Aikido Master Endō Seishirō Shihan stated that “It is known that, when we learn or train in something, we pass through the stages of Shu, Ha, and Ri.” [1]

shu-ha-ri

Where:

  • Stage of Shu, we repeat the forms and discipline ourselves so that our bodies absorb the forms that our forebears created. We remain faithful to these forms with no deviation. [2]
  • Stage of Ha, once we have disciplined ourselves to acquire the forms and movements, we make innovations. In this process the forms may be broken and discarded. [2]
  • Stage of Ri, is the last stage where we completely depart from the forms, open the door to creative technique, and arrive in a place where we act in accordance with what our heart/mind desires, unhindered while not overstepping laws. [2]

But who introduced this concept in Software Development?

This learning technique and methodology in software development was introduced by Alister Cockburn.

His idea is that every person go through the three ShuHaRi stages in order to obtain knowledge.

Meaning that:

  • In the Shu stage since it’s the first one, the student follows the teachings of one master precisely. He concentrates on how to do the task, without worrying too much about the underlying theory. If there are multiple variations on how to do the task, he concentrates on just the one way his master teaches him.
  • Next stage is Ha, at this point the student begins to branch out. With the basic practices working, he now starts to learn the underlying principles and theory behind the technique. He also starts learning from other masters and integrates that learning into his practice.
  • Finally in the Ri stage, Now the student isn’t learning from other people, but from his own practice. He creates his own approaches and adapts what he’s learned to his own particular circumstances.

The fundamental idea here is that when teaching a concept, you have to tailor the style of teaching to where the learner is in their understanding and that progression follows a common pattern. Early stages of learning focus on concrete steps to imitate, the focus then shifts to understanding principles and finally into self-directed innovation.

In my opinion it’s very important to understand the ShuHaRi concept and technic before anything, because we can understand the variation of do agile or being agile by understanding first the level of agile and lean knowledge. 

So, how should everyone see and believe in these eleven principles after blending with Lean. Well in my opinion I truly believe that should be like this:

  • Satisfy the customer… -> Delight the customer.
  • Welcome change… -> Seek change.
  • Deliver frequently… -> Deliver continuously
  • Work as a team… -> Live as a team
  • Talk, face to face… -> Talk, face to face & heart to Heart
  • Mesure working product… -> Measure value delivered
  • Maintain pace… -> Maintain pace and rhythm
  • Exceed at quality… -> Exceed at quality and get stuff done
  • Keep it simple… -> Keep it simple stupid
  • Envolve Team… -> Envolve everyone
  • Reflect regularly… -> Reflect continuously 

Quoting Voltaire “Common sense is not so common.”.

Saying this, I’ve been taking a shot on what it would take to “How” to go beyond Scrum and use Lean in Software Development Teams. In order words how we can learn, apply and practice Lean Principles to what we currently do well using Agile Scrum in Software development Teams trough the different stages of ShuHaRi in order to keep improving.

  • First stage Shu:
    • In order to start the Lean teaching/coaching, we need to have the team in a high maturity level (Ha stage in what Agile Scum regards). This will avoid any confusion and issues with the team mind set regarding what they currently do (how and why).
    • Next step is teach and coach them on what Lean concerns. Explain what is Lean, what are the principles, techniques and why everyone should be. We can achive this by trainings and workshops.
    • Now is the moment were we help them to achieve some conclusions on what they can do to keep improving. We can review what they already do using the Value Stream Map technic (Development, Testing, Scrum Ceremonies, Communication, Process,etc.) in order to raise performance by achieving more results, with less resources,  by the continuous and relentless elimination of activities (waste) that do not add value to the service or product. Its important to make them understand that Lean applies to any organisation and follows the pursuit of perfection, thus is a never-ending activity.
    • Nevertheless, during this stage we need to make them understand that this a critical period were they need to follow and practice each point without any variation. Also, that during this time they will have all the support to help them growth in maturity and knowledge.
    • Why keep the team for a period of time in this stage? Tin order to answerer that I will quote Leonardo da Vinci,  “Simplicity is the ultimate sophistication” so lets stick to this for the time being.
  • Second stage Ha:
    • In this stage they already follow the principles, meaning that we can start stepping back and give them space to be Lean. This means that they are using and combining the Agile Scrum and Lean Principles by themselves. This will empower them to transform the principles in values to follow. Act as self-organising that they are. Nevertheless, we will keep observation and coaching when its needed.
  • Last stage Ri:
    • This is the final stage and they are already confident and with maturity to follow the path by them selfs. For me this a great achievement because as we speak they don’t see the principles as principles but as values and their believe in them is high. This is the moment that they pass from students to masters. Meaning that they will start inspiring others teams , converting them to go beyond Scrum and use Lean.

After this moment they will act as master like you in order to start converting a full organisation. Thus, we need the managers support in other to achieve this faster than was expected.

I truly believe that this is the best way to change (Convert a full) Organisation.

References:

[1] Wikipedia | ShuHaRi

[2] Aiki News | An Interview with Endô Seishirô Shihan

Alistair Cockburn | Agile Software Development

One thought on ““How” to go beyond Scrum and use Lean in Software Development Teams?

  1. Pingback: AGILE ADRIA CONFERENCE 2015 :: TALKS “How” to go beyond Scrum and Agile Performance Metrics | Beyond Agile

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s