Family, friends, even colleagues ask me what agile is.
To answer this question and to explain it in an easy to comprehend way, I use a metaphor. I tell them about preparing a product development project, learning on the job, having fun and experimenting during the entire process, without losing their attention.
The metaphor happens to be about one of my hobbies; playing guitar.
I love playing guitar, to learn a new cover song, rehearsing it with the band and eventually performing this song on stage.
I also love working in product development.
Creating a working product from scratch, that starts with just an idea or hypothesis.
And I see many similarities between learning a song and agile product development.
Both cool things, both creating something with a team and driven on feedback!
Learning a new song on guitar is pretty hard for me and many others. Where should I start? What chords are used? And what about the breaks, intro and outro? If I hear more than one guitar, what should I play and what should my fellow guitarist play? What guitar suits this song best? Are there guitar pedals involved? Is the tuning standard or should I use a different one?
As you can see there are many things to take into consideration when learning a new song.
Same goes for product development.
Where should we start? What’s the goal? Is the goal clear enough? What’s the budget? Is there a particular timeline to consider? And what about creating a product vision, roadmap, getting a team together, gathering requirements, etc.
Let me explain a bit more and tell you about my metaphor.
Over the years I developed a method with which I can master a cover song in a few weeks.
This method can be characterised as Agile!
Preparation and gear
It starts with the preparation.
I begin with studying the bigger picture.
- What is the structure of the song. It starts with an intro, ends with an outro, where are the verses, choruses, bridge, etc.
- What’s the tempo?
- What instruments are used?
- What pedals are used?
- Which musicians do we need?
I don’t spend too much time on this and the information doesn’t need to be 100% accurate. Just enough to get me started. I know I will find out more details later on, so I don’t worry about that right now.
|In agile product development, some people call this sprint 0 in which you gather all necessary information, team members, tools, etc. to get started. You can split up the bigger picture into epics or themes.|
Are there any timelines to consider? Should we be able to play this at a specific gig, like a battle or wedding? We’ve been asked to perform the favourite song of the bride during the entry of the married couple. So, in that case we had a deadline. This is important to know in advance; every band member can have the priority on this particular song.
|In agile product development, you can use a high-level roadmap for illustrating the timelines for different parts (epics) of the product. There are many kinds of roadmaps. E.g. theme based, fuzzy time, sprint, etc.|
Then I decide what my first version of the song will be.
What parts do I need to practice first to get to this first version of the song? When can I start rehearsing the song with my band? I don’t need to be able to play all parts or details, but just enough to rehearse it with the band.
Once I have decided and right after checking the tuning of the guitar, I start learning these parts in an empirical way. I try to experiment a lot to get the chords, sound, pace and timing correct. During this phase I make many mistakes, which speeds up the learning process and it also keeps things fun!
I start really small, so I can make progress quite often. Little successes help me to reach my goal.
|In agile product development, this can be considered a MVP; minimum viable product. A version that will deliver business value and gives you the opportunity to test your product hypothesis.|
Regular intervals and change approaches
I always practice the parts of the song on regular intervals. Every other day I pick up my guitar and study the different parts.
When I recognise a new part in the song, like special chords, chord progressions, techniques, turn arounds, if necessary, I change my plan and priority a bit so I keep adding ‘value’ to the song. This is a characteristic of being agile. Inspecting and adapting. By experimenting and pairing up with other players, I learn these new things and use them in the song and become a better musician.
“Failure really just means that your system is trying to tell you something – so you’d better listen.”
Henrik Kniberg (Spotify and Lego)
|In agile product development and Scrum this is called empirical learning approach. Learn by experimenting, rather than theory or pure logic.|
After a few days or sometimes weeks, it’s time for the next step. All the band members learned their first version of the song and it’s time to put things together for the very first time! This is always a very funny moment. Because many things can go wrong and they should actually. This way we start discussing the issues we face and how to solve them together.
After this phase, every band member will add more details to their parts. They practice at home and try to establish as much resemblance as possible. Details like riffs, fills and solos are gradually and iteratively added to the song. With all these new and improved details the song becomes better and better. The instruments start interacting with each other and pace becomes more stable.
We inspect our way of playing the song, over and over. We do that at home while practising, but mainly at the rehearsals in the studio. Together with all band members we listen to the live recordings, to each other and we discuss the progress, the combination with other songs on our set list and the amount of fun we have with this song. A few things could happen at this moment. For example:
- We could decide stop playing it, because it doesn’t fit somehow.
- We can change the tuning, so it fits better with the singer’s voice type or he can use his favourite singing height.
- We can continue with minor changes. E.g. longer intro, better end, different solo, etc.
- We change the way of rehearsing.
- We start using different instruments or other related gear.
We retrospect very often and adapt to the situation accordingly.
“I remind myself every morning: Nothing I say this day will teach me anything. So if I’m going to learn, I must do it by listening.”
Larry King (American television and radio host)
|In agile product development, releasing software for the first time is an important milestone. The team learns a lot about the software, connected systems and services, distribution, etc. Based on the findings, adaption will take place.|
And then after a few weeks of practicing and rehearsing, it’s time for a big step!
Performing the song for a live audience! The song is performance-ready and can be consumed by the visitors of your gig. With feedback from the audience, you can further improve the song. The cycle of building the song, adding details, listening to feedback, keeps going as long as you’re performing the song with the band.
|In agile product development, users can have their first go with production software. And again, the team will get a lot of feedback with which the product can be improved over and over. Iteratively, the product matures.|
Okay, there are many differences between learning a song and product development, but in general learning a song with your guitar, drum kit, piano, voice or any other instrument can be considered as Agile. That’s why I use this metaphor. You start small, with limited knowledge, learn while you slowly progress, use feedback, experiment and adapt to changes.
I hope you now have an idea of the concept of agile. And maybe you see other agile processes in your daily work or private life. Have fun being agile!