Have you ever thought what Marathon Running and Product Development have in common?
I started my software development career in 1998 as a developer and along the way I fulfilled various other roles such as R&D team leader, project manager and product manager.
I started training as a long-distance runner in mid-2014 and run my first Marathon in October 2015.
There are several posts comparing product development to a marathon. Clearly, both are not simple tasks.
In this post, I would like to share from my personal software development and long distance running experiences aspects Marathon running and Agile Product development.
1. Support systems
When getting ready for a marathon, one must get his/her support systems in place. Fore example, match your nutrition with your training plan.
In product development, it is recommended that the organization has upper management buy-in, CI system in place, test automation capabilities and well-defined DoD.
2. Expand your skills
Great athletes train in an additional one or two types of sports every week such as bicycling, strength training, rowing, cross training, swimming or elliptical training helps building core muscles such as abdominal and back muscles as well as hamstring, biceps, triceps muscles etc.
Agile product development is based on technical excellence. Developers has to expand their skill sets as well as develop their core skills.
3. More with LeSS
When training for a marathon limit yourself to 3 runs every week to giving time train in other sports as above.
Engineering technical excellence requires learning. Less work meaning limiting one-self work and leaving room for improving core skills and acquiring new ones.
Running team or running buddies hold one accountable for one’s training plan and goals. When things become tough, they are there for you.
Agile promotes autonomous team work where the team works on the same backlog item as much as possible.
5. A plan – Build your way up
When training for a marathon, build your way up gradually. Start with a 5K run, build up to 10K, 15K, 20K etc.
Like training your marathon, build your DoD based on your current capabilities and build it up. For example, start with unit tests, add test automation, component tests, system test etc. However, build it up gradually.
Throughout the training muscles become sore. Muscles break and rebuild themselves all the time. Sometimes you stop, and sometimes you just keep running
Throughout development, builds brake all the time, in the same way that muscles become sore. When having a bug, sometimes you continue. However, when breaking the code, you stop and fix it.
The runner should keep oneself healthy. There are some injuries that you cure by running on the hurt leg, some require physiotherapy. But you don't run on your hurt knee. One should learn which injuries require stopping and recuperating.
In product development, a hurt knee is like an unanticipated knowledge gap in the team or a teammate leaving. Then you halt, recover, and continue when ready.
Especially when it is your first time running a marathon, get yourself a coach. The experienced coach should be one who run at one marathon.
When the organization is transitioning to become agile, get yourself an agile coach or consultant who has experience in agile transition. Educate key employees by sending them to agile courses to educate and lead the transition
9. Pace and Cadence
The experienced runner would plan to run at a sustainable pace one can keep up for the entire 42.2 Km and avoid injuries and maybe have the urge to run other marathons in the future.
When developing a product, it is recommended that team does not exhaust its team members. When a team is over worked, one does not have the ability to maintain this pace for a long time.
10. “Money Time”
Crossing the 42.2 Km finish line without any injuries and having the desire to do it all over again is a wonderful feeling.
Delivering a high-quality product to satisfied clients is a great satisfaction and fulfillment generating the desire to keep developing great products again and again.
Done right, both Running a Marathon and Product development may be very rewarding. Done poorly, both can become something you never ever want to do again. By doing it right, training yourself to be a “Product Athlete”, you build the desire to grow from a 5K product developer to a product ultra-marathoner.