how to implement agile

You don’t know how to implement agile in an organization? It’s a piece of cake!

how to implement agile

A sweet interpretation of the Shu ha ri philosophy. 

Today, I want to invite you to think about how to implement Agile in your organization in order to ensure the biggest chance of success.  In other words, to create better products that are what your customers want, in a way that will make it exciting for the people to come to work every day. 

Making the mistake of wanting to go straight to a “company version of Agile” without first making sure the basic principles and values of Agile are understood is a common error, and can be costly. 

Instead of diving straight into the what and the how, let’s stop at the why for a moment. To make it as easy to understand as possible, let’s think about one of my favorite things – cooking. 


(If you’re drinking coffee or tea while reading this post, before we go on, I strongly suggest you get something sweet to go with it – you have been warned ;) )

How to implement agile | Shu ha ri

The story I want to tell you will be a sweet interpretation of the Shu ha ri philosophy.  The name comes from Japanese martial arts (particularly Aikido). The idea here is that when we learn – we pass through certain stages and Alistair Cockburn introduced it as a  way of thinking about how we learn and adopt things in software development.

Martin Fowler defines Shu Ha Ri as follows:

  • Shu: In this beginning stage students follow the teachings of one master precisely. They concentrate 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, they concentrate on just the one way their master teaches them.
  • Ha: At this point, students begin to branch out. With the basic practices working they now start to learn the underlying principles and theory behind the technique. They also start learning from other masters and integrate that learning into their practice.
  • Ri: Now, the students aren’t learning from other people, but from their own practice. They create their own approaches and adapt what they’ve learned to their own particular circumstances.

Who wants to be the next great Agile baker?

Let’s say you want to be able to make really good food – maybe make beautiful and delicious cakes? Currently, you can barely figure out how to put Nuttela on a waffle, but you know you want to learn how to be a better cook!

What is a cake?

First off, you would need to know what a cake is exactly – how it should look, taste, and smell. Probably knowing it’s a dessert and not a main course would help too. What kind of cake will it be? Maybe a classic carrot cake with deliciously sweet layers of cream cheese?

Recipe

Then you would need to get a recipe with a list of ingredients and step-by-step instructions. Of course – the best recipes are proven, where you can be sure that following the recipe will give you the best-expected results. That would usually mean either getting it from an accomplished cook (looking at your grandma!), a trusted cookbook or choosing one from the internet that has enough comments saying it works, to make it trustworthy.

Shopping

Now you have the right recipe – it’s shopping time. Getting everything you need – flour, eggs, sugar and anything else mentioned on the list of ingredients. Maybe you should also make sure your oven works and that you have a suitable baking dish.

Let’s bake a cake!

Back from shopping? Let’s get on to the main event. You have the recipe in front of you – so you can check each step twice, measure everything really carefully, whisk all the ingredients up with care. You probably even feel the urge to watch as the cake slowly bakes in the oven. Finally, you layer the finished cake with beautiful frosting and add the finishing touches to make it look really pretty.

The first few times it probably won’t be perfect – the taste might be a bit off, the icing sugar too sweet, not sweet enough or whatever. You may try to figure it out – maybe your measuring cup is different than in the recipe? Maybe your oven needs to be 5 degrees more or less?

How to implement agile | The Shu stage summary

This is the Shu part of our adventure. Using this philosophy, at first we introduce the organization to Agile – explain the 12 principles of Agile and the big 4 values. It’s good if those in charge of the training – the Agile Coaches or Scrum Masters – can get you to ‘taste the cake’, show some examples of working Agile, the merits it brings and the conditions it needs. At this point, you could also choose your flavour of Agile – will it be Scrum, Kanban, Crystal?

The second step is to create the Agile teams – very much like shopping for ingredients. We need to find the best carrots that would suit our cake (any developers reading this – hope you’re okay with all of these healthy awesome veggies in my metaphor ;) ). Although building a good team is much more complicated than finding fresh eggs – the main principle remains the same – know what you are looking for. We also need to know we have a  working oven – the right environment that will foster Agile adoption, including full support of management.

Becoming the next great agilist…

But after you’ve baked the same cake a few times – you won’t need to look at the recipe every time. You will

  • know what ingredients to buy and that wheat flour comes in different types or whatever.
  • Understand why certain steps need to be followed in the exact correct order – like mixing the dry ingredients first and not adding the melted butter and the eggs at the same time.
  • Know that in your oven, you must use certain settings to ensure the best results. You will know all of those things – because you now understand the principles behind them. 

Then you will get to the level where you’re ready to make some changes – maybe a gluten-free, vegan version? You experiment – switching to another kind of flour, maybe adding some vegan yogurt to make it moister? Maybe you can try adding aquafaba instead of eggs? Maybe… 

You will probably also realize it’s best not to change everything all at once, but rather experiment in a way that makes it easy to figure out what changes are good and what changes are bad. Also, you will need to figure out how much can be changed to still have a carrot cake in the end and not an entirely different thing, if what you were aiming to bake was still a carrot cake. You hopefully won’t end up turning it into carrot soup halfway through, even if carrots do go in both.

How to implement agile | The Ha stage summary

After a while,  it will become obvious that the team is ready to take the next step – they have delivered the expected results as promised, and they are working together better and better. The principles and rules have been internalized – the team members can now start experimenting, making small changes and dealing with their outcomes. The Agile Coach or Scrum Master is still there – offering observations, letting them learn (sometimes by experiencing failure and figuring out why). This is the Ha part.

Bake your own rules.

There will come a moment when you know you can spread your wings – changing one flour type to another on the go, experimenting with adding apples to the butter or using different spices without having to meticulously check everything first. Now you are confident enough to also bake carrot cake cupcakes or create your own, improved version of the recipe. 

How to implement agile | The Ri stage summary

Finally, there comes the Ri – the team is now ready to improve the recipes. They can work with the principles and values of Agile now fully ingrained in them – and because of that,  they are ready to improve further and go much deeper than the Agile Coach could take them. They learn and adapt their own practices in new, innovative ways. This is how we keep evolving Agile.

Bon appetit!

Following these steps – making sure each one takes exactly as long as it should – is crucial to successful Agile adoption. Moving to Ha too fast will result in leaving the principles and values of Agile behind as we chase new ideas, but staying in Shu too long will not let team members evolve into a self-monitoring, self-managing and self-correcting team.

I hope you have enjoyed reading this sweet Agile article. If you have any thoughts or questions – please leave a comment. 

Are you not sure how to implement Agile into your business? Are you looking for an Agile Coach to help with it and great developers to add to the mix? Let’s bake this success together – contact us.

Read more

Download e-book:

Scalac Case Study Book

Download now

Authors

Marta Woźniak-Semeniuk
Marta Woźniak-Semeniuk

I am an Agile Coach with a strong background in Quality Assurance and Accounting. I am passionate about the quality - of product, process, teamwork, and the life we live. My integrity, candor, and can-do attitude is an all-in-one package you get with a sprinkle of never-ending curiosity. Sharing knowledge and experience on talks, panel discussions, presentations, and workshops - it’s what I love. I work with people, teams, and organisations to increase their agility and learn together. My motto is “Embrace change. Avoid chaos”. I am a devoted bookworm and a total cat-lady. Part of a photography collective and fan of strong, black tea.

Latest Blogposts

23.04.2024 / By  Bartosz Budnik

Kalix tutorial: Building invoice application

Kalix app building.

Scala is well-known for its great functional scala libraries which enable the building of complex applications designed for streaming data or providing reliable solutions with effect systems. However, there are not that many solutions which we could call frameworks to provide every necessary tool and out-of-the box integrations with databases, message brokers, etc. In 2022, Kalix was […]

17.04.2024 / By  Michał Szajkowski

Mocking Libraries can be your doom

Test Automations

Test automation is great. Nowadays, it’s become a crucial part of basically any software development process. And at the unit test level it is often a necessity to mimic a foreign service or other dependencies you want to isolate from. So in such a case, using a mock library should be an obvious choice that […]

04.04.2024 / By  Aleksander Rainko

Scala 3 Data Transformation Library: ducktape 0.2.0.

Scala 3 Data Transformation Library: Ducktape 2.0

Introduction: Is ducktape still all duct tape under the hood? Or, why are macros so cool that I’m basically rewriting it for the third time? Before I go off talking about the insides of the library, let’s first touch base on what ducktape actually is, its Github page describes it as this: Automatic and customizable […]

software product development

Need a successful project?

Estimate project