This is an experience report based on more than 3 years (2006-2009) of software development in F1 with Scrum, Lean and XP, developing evolving and maintaining software to support the F1 racing team from the vehicle conception and throughout every test and race.
In these 3 years I promoted and supported the advancement of the existing Agile practices in my team and then for all the software development teams of the F1 racing team.
How was this experience? It was dense and intense. What made it valuable? It was:
- the unique context characterized by very high levels of competition, speed and unpredictable rapid changes.
- the challenge of doing computer programming in an F1 team: the team and I had to learn and invent how to work with a code-base that is very large and long lived, a product that is uncommonly complex, in an organization that has high levels of interdependency and with technologies and competitors that are fast moving targets. We found ourselves far behind the boundaries where centralized top-down approaches could possibly work and where a book, a school degree or an expert could possibly reveal the right answer.
We had to do software development in extreme conditions and push ourselves to the limit as F1 drivers that really push and find the limits with the aim of outperforming competitors.
Have we survived this chaos? How did we survive? Which team and coding practices emerged? This experience report will look at the answers to all those questions and will try to answer questions from participants.