I’ve recently started a new software project with a product owner that is an expert in the business domain but has never worked with an agile software development team.
I had shown him some initial wire-frames for the application, and he has a pretty good idea of what he wants the end product to be.
As he’s never worked with Agile and Scrum before, I wanted to explain how the process works and explain that he will get the application in increments that might not look like the end product, especially at first, and that this is a good thing.
So I went to look for a metaphor to illustrate this and found one that is quite well known in an article by Henrik Kniberg, but I wasn’t very happy with it. My product owner would not agree that you get a car by building a scooter, a bike and a motorcycle first.
Then I found an article by Mike Hickerson that I felt represented a bit better how agile development works.
Still, I thought the history of the bike is quite long and might not seem very agile or relatable to someone not that interested in bikes, but I enjoyed the idea of the bicycle analogy and then I remembered how my nephew had once asked for a bike.
I was babysitting him one summer and we were watching the Tour de France together on TV. Well, I was watching it, he was playing on the floor next to the TV. And all of a sudden he says “I want a racing bike so I can go fast too”. He was 5 years old.
Sure enough, next thing he asked my brother for a racing bike, but my brother didn’t have the money to buy him a racing bike.
So my brother had 3 choices:
1) Wait to save enough money and then buy the racing bike. (he’s against bank loans and monthly installments)
- Doing so would mean the child would be upset for a really long time, and by the time my brother would save enough money for the bike, the boy would have found other interests.
2) Buy the bike piece by piece as he got the money, until he had all the pieces of the race bike to build it.
- Doing this would only frustrate the child as he would see that his dad was buying bike parts, but he still couldn’t ride his bike.
3) Buy a tricycle and get the child on something that looked like a bike and get him out of the house.
As you can probably guess, he bought the tricycle. And while my nephew was not very excited to get something that didn’t look like a racing bike, he was quick to get accustomed to turning the pedals and steering and found it quite fun. And that kept him busy and happy for that summer.
The next summer my nephew said he wanted to go faster so my brother bought him a bicycle with training wheels. This meant that the boy would go faster and get accustomed to balancing on the bike and braking, but would still be safe as the training wheels would keep him upright.
By the end of the summer he got accustomed to riding and the training wheels were no longer necessary so he could zoom about in front of the house.
When the boy outgrew the bike, my brother bought a larger one made for the city as the child expressed interest in going farther through the neighborhood and to the park. At first my nephew had a tough time with the new bike as it was a bit too large, but with time he grew into it and thoroughly enjoyed riding the bike with his friends.
In an interesting turn of events, since the bike was quite large, my sister in law started using the bike as well to go to the shops on sunny days.
As my brother watched my nephew ride the bike he noticed that when going in the park the boy would go off the paved alleys, onto the trails and over small bumps, but the bike was not very nimble and the tires not appropriate for going off-track.
So then when my brother bought him the next bike, he bought a mountain bike. You should have seen the grin on my nephew’s face when he could finally ride wherever he wanted.
When I asked him if he still wanted to have a racing bike, he said absolutely not. It was much more fun to ride everywhere and jump over obstacles. Plus it’s dangerous on the road, there’s cars!
It was so interesting to see how he had evolved from wanting a racing bike to wanting nothing to do with the road.
Looking back, I realized that my nephew’s request for a racing bike is like my customer’s request for the new application.
And saving money to buy the racing bike is very similar to a Waterfall approach to software.
And that buying bike parts is like delivering small chunks of functionality that don’t actually provide value, like delivering just the back end, some APIs, or a UI without interaction.
And that if you want your customers to be happy you should deliver first the smallest pieces of functionality that allow them to start using your application and give you feedback. And then build on that.
And the fact that my sister in law used the city bike to go to the shops reflects how your users might find other uses for your application than its initial purpose. If you just give them an application to use.
Another crucial point is that I believe that our customers grow along with the application and their needs change and that looking for their feedback and how they use your application will evolve the product and make sure you are delivering the product that is the most adapted to your customer’s needs.
So go out there and get that tricycle in the hands of your customers! 😊
As for me, I translated my story into the picture below and presented it to my product owner and he completely understood the point and is happy to get the application in small increments and give us his feedback on the functionalities that we add.
Images used from www.flaticon.com
By Sergiu Pocan
This article was originally published on Linkedin.