How Siddhartha can help you to find the middle path between agile and waterfall development philosophies
Three years ago my wife, a good friend and myself travelled for the first time to India. On my iPhone the audiobook “Siddhartha” from Herman Hesse, my parents had given to me for my 40 birthday. I was both shocked and fascinated by this incredible country. On the train ride from Goa to Mumbai I was listening to the wonderful story of Siddhartha Gautama, who is searching for answers to lead a good, happy life. It is a great story, wonderfully told. The learnings are both simple and practical. Could this be applied to my life as an engineer and team lead in the development of hearing systems?
Developing any kind of system is hard and often painful. It get’s harder if you want to sell the system and make a profit. Not to mention all the challenges when working in a large team, a large, global cooperation, where everyone specializes in a narrow domain. One of the practical learnings of Siddhartha is exactly this: Life and therefore work, is not always fun. Bad things will happen some day. While developing any kind of system you will make mistakes. Even a “zero bug tolerance” can’t save you from that. You better accept this as the first, noble truth.
How do we normally react to this truth? We ignore it, or we fight it, depending on our personality. Ignoring it might lead to an organization where “the management” starts telling stories about engineers unable to deliver even the “simplest” system on time and in good quality. Fighting it might lead to turbulent changes in the development approach, from V-Model to Scrum, to KANBAN, to RUP and back again. Here the engineers will joke: “Hey, another name for the same thing we have been doing all these years. But now we have to meet EXACTLY at 10:00 in front of the Scrum board. Ha, Ha”.
Nothing is wrong with any of these approaches. I deeply respect any of the gurus who invented these philosophies. What is wrong is believing ANY guru who tells you: “Use this development approach and your pain will go away”!
Believe nothing, no matter where you read it, or who said it, unless it agrees with your own reason.
– Siddhartha Gautama
I love to fight things, cannot ignore anything which bothers me, I want to improve. It’s my personality. We just adapted SCRUM in our team. What a shock when the developers told me: “Could we stop talking about process for a while and start focusing on development topics again, pleeaase?”
One of the main problems I see is that we always tend to look for absolute solutions in the extremes. You might be experiencing problems with your traditional 3-6 month phase model, relying on detailed requirements and specifications. An agile guru like Kent Beck will suggest to switch the whole organization over to a user story driven approach, driven by biweekly sprints. What else?
So what’s the solution? If I were a Zen master – which I’m not – I would put it as following:
You have to ignore it and you have to fight it! This is the middle way.