Technology lessons learning from Formula 1.
I was talking technology with ex-Head of Formula 1 teams Williams & McLaren, Sam Michael last week and we got on to the topic of coordinating people and more specifically Agile. It turns out F1 has been operating under the continuous improvement and development process since the early 1950’s.
A Formula 1 team employs up to 1000 people and has an annual budget of up to $650M. They have the sole goal of finding small fractions of a second improvement in lap time. Why? Because as the saying goes, “What wins on Sunday, Sells on Monday”.
In other words, which ever car wins a race will result in the sale of billions of dollars of sponsors products to an audience approaching 2 billion.
Why does F1 use Agile? F1 races at intervals of 1 to 4 weeks, so is naturally broken down into time boxed sprints which require the team to be ready for each race. What makes it hard is that the sprint lengths aren’t always the same length and are impacted by the logistics and time required to ship the cars and parts all over the world.
Why are the current F1 teams so good at Agile? The best teams are the most effective at extracting feedback on the car’s performance from the driver; and translating that into changes that positively affects the outcome on the racetrack. Also, each team has very clearly defined goals (points, race wins etc), and they harness the skills of the entire team focused on that single goal. As they’ve been using Agile for nearly 70 years, they’ve had the chance to make mistakes and then refine and hone their implementation.
How do they do it? F1 teams structure the hundreds, sometimes thousands of people needed to design, build and race F1 car is in multiple Scrum Teams. Each team is responsible for an area of the car – front wing, rear wing, floor, engine, gearbox, electrical, cooling, hydraulics etc and they all must operate together in harmony.
- The Driver is the Customer who requests changes in dynamic characteristics in order to maximise the performance of the car.
- The Product Owners’ (Senior Engineers) development priory for each area is to ensure the best possible car is put together for the upcoming race.
- All the Scrum Masters (selected from the team and rotated regularly to allow for learning and increased creativity) discuss what they’ll be doing, interdependencies are worked through and impediments are identified and called out early.
- The Developers (Engineers and manufacturing specialists) then design, build and test the agreed parts.
- Interestingly the team that runs the car at a race weekend are effectively DevOps Engineers. They are solving problems and optimising the performance of the car using what’s available to them. Typically, they’re supported by 30+ engineers back at the team’s base that represent each of different technical areas to help trouble shoot and solve problems.
With sponsors investing hundreds of millions of dollars in the teams to promote their products, not having a car ready to go and optimised for the best possible performance just isn’t an option. If Agile can work so successfully in the pressure cooker and ever-changing environment of F1, it’s no surprise that it’s been so widely adopted by development and product teams. So, if you are running or working in an Agile environment, is there anything you can learn from Formula 1?