Bicycle history is a more appropriate analogy for software development. At a recent software development workshop, we discussed one well-known analogy of a flexible development methodology. If you have ever read books or attended flexible methodology training courses, then you most likely have seen it too. Henrik Kniberg painted a rather original and recognizable picture.
This picture should not be taken literally. It is designed to show the main advantages of agile development over the cascade model, namely in relation to the minimum viable product (MVP). ')
Cost varies at each stage of development.
Problem solving changes and improves with each model.
At each stage, decisions can be agreed upon and made again, if necessary.
It is because of these reasons that I support a flexible development methodology and the concept of a minimally viable product, but this picture confuses me a little. And that's why:
This is not an iterative or incremental development model. You will not be able to build a car if you start with a skateboard, and then make a bicycle or motorcycle. As Knberg himself notes in his blog, the picture describes product development, not software development.
It takes too many assumptions to relate to software development. So, during his seminar, the host suggested that the main task that had to be solved was to transport boxes from one end of the parking lot to the other end, and then the skateboard could be considered the best solution (because the end result, a four-door sedan is not quite suitable for this) .
And if I had been hired to create a car, and I would have shown a skateboard as a prototype, I would have been fired right away.
Worse, my CEO is an engineer by profession, and he managed our production for several years before becoming a CEO. If I showed him this analogy, then I would spend the entire meeting to protect this picture, and we would not even get to the main topic - a flexible development methodology.
Pictures and mental models are never perfect, but they can be quite good. But this image is not good enough. In fact, it took many years before the car could surpass the horse in simple parameters, and we spent a whole century on the development of the automotive industry. Pictures with explanations should be simpler than what they explain.
And this picture is much more complicated than a flexible development methodology, since it combines 125 years of automotive development in several images. Moreover, for those who are even slightly versed in machines or the production process, this picture will become more of a hindrance than a help.
But in this picture there is still one good analogy - a bicycle. Almost everyone has ever rode a bicycle, and both its technology and its history are fairly simple. Moreover, the development of the bicycle - at least at the very beginning, and maybe later - was both iterative and incremental.
Bike Agile
For 200 years with the help of bicycles they tried to solve one specific problem: How can you move faster using only your own strength?
Iteration 1: Scooter
The first bikes consisted of what was already familiar to the 1800-m - wheels and seats. It was quite good for the first attempt, and even now you can still find children's bicycles that work on the same principle. To ride, you need to push off with your feet and lift your feet from the ground. But you will be able to drive only a few meters, and you can not control the speed.
Iteration 2: Pedals
In the second iteration, pedals were added, attached directly to the front wheel.
Now it was possible to increase driving speed without touching the feet of the ground. It appeared possible to travel faster and farther. But the pedals were still inefficient, they did not use all the applied force.
Iteration 3: Penny-farthing
To increase the efficiency of the pedals, the front wheel has been increased. So, with each turn of the pedal, the wheel traveled a greater distance. The rear wheel, which became less important, was reduced in size to keep the same weight.
The penny-farthing bicycle was popular among healthy young people, but the high price and danger of such a design — just imagine what happens if you fall from it — they reduced the demand.
Iteration 4: Safe Bike
How could the bike save, or even increase the efficiency of the penny-farthing model, and at the same time become safer? With a chain transmission on the rear wheel.
Now, the bikes could remain of regular size, and the saddle was not high above the ground. The pedals rotated the transmission with a chain, which was also connected to the rear wheel. The ratio of mechanisms could be regulated, so that bicycles were as fast and efficient as penny-farthing, but much safer. This version of the bike was very popular. After 10 years of change, the bike has reached mass demand. The number of buyers has increased, and the development has gone in such an important direction as ...
Iteration 5: Speed Shifting
Multi-speed bikes.
Bicycle gearshift allows you to change speeds on the bike. It was invented around 1900. Thanks to the planetary mechanism, it became possible to reduce the applied forces and increase efficiency through the use of low gears at the start or while climbing a hill, and high during fast driving. The bike took the form that has been preserved to this day.
Advanced analogy
Why is the history of the development of bicycles suitable as an analogy for a flexible development methodology?
Each iteration of the bike solved the same problem: using human power for faster movement.
The device of the bike is familiar to all and understandable.
The history of the development of the bicycle is indeed incremental: at each stage, new details were added, but a constant paradigm was used. In some stages, the bike was transformed through the use of new technologies.
The development at the same time was iterative. Different versions of bicycles were presented by competing manufacturers, which allowed bicycle users to inform manufacturers about what other changes are needed. Some innovations, such as pedals, were retained in subsequent iterations, and for example, a huge wheel, like the Penny-Farthing model, was quickly discarded.
Maybe someone can turn this analogy into a comic for the next bestseller about agile development?