|
|
|||||||||||||||||||||||||||
|
|
Driving Software Quality: Formula One Team
|
||||||||||||||||||||||||||
Software
quality is paramount in any business, but too often in today's pressurised
business environment developers are faced with the dilemma of delivering
applications either quickly or with high quality. However, for the B·A·R
Honda Formula One team, compromise is not an option: the very nature of
Formula One means that the highest quality applications have to be developed
and delivered to the business in the shortest timescales. It is for this
reason that, as the amount of applications being developed by the team
continued to rise, B·A·R Honda worked with Compuware to
find a development solution that could fit its unique business model.
B·A·R Honda has implemented Compuware DevPartner Studio,
a suite of tools for application development teams seeking to accelerate
the construction of reliable, high-performance applications, into its
development processes. DevPartner Studio has enabled B·A·R
Honda to enjoy the best of both worlds by providing its software developers
with analysis capabilities and expert advice needed to help build the
most reliable, highest performing applications quickly.
B·A·R Honda specialises in Formula One racing and first
began competing in 1999. Success has grown year on year and the team came
2nd in the FIA Formula One Constructors' Championship in 2004. In January
2005, Honda Motor Co. Ltd. acquired a 45 per cent stake in B·A·R
Honda alongside the major shareholder and team founder, British American
Tobacco.
Few other industries can match Formula One for complexity of the design and manufacturing process. Technology plays a pivotal role and B·A·R Honda relies on industrial-strength servers and networks in every step of the design and build process. The specifications that are set each year by the European-based Federation Internationale d'Automobiles (FIA) and Formula One Management (FOM) are general, allowing teams to create unique cars from scratch every season.
Over the course of a season, which lasts for 19 Grand Prix weekends, the volumes of data automatically collected from the B·A·R Honda cars are transmitted and sent back to team headquarters for recording and analysis. Engineers use the data to constantly optimise car design, in addition to engine, power train and suspension performance. During the season, the B·A·R Honda software engineers typically have only three days to develop software that addresses any problems arisen during races.
At the season's end, B·A·R Honda designers have just a few months of development to introduce major new systems and conduct eight to nine weeks of intensive testing. The new cars typically retain just 20 per cent of the components from the previous year's designs.
"In the Formula One environment, reliability is everything and if a car hasn't been fully tested then we won't race it because we cannot guarantee optimal performance," said Max Walshe, Chief Software Architect at B·A·R Honda. "That is why it is essential to develop high quality software first time around - always within incredibly short timescales - and software testing is a critical part of this process. The four watchwords in our development team are reliability, quality, innovation and speed."
The implications of software failure are immediate and financially severe,
therefore it is vital that engineers are able to constantly gather data
from the cars on the track in order to see and react to indicators of
problems - e.g. an increase in engine heat - as they arise. Software engineers
do not only resolve errors. They are regularly called upon by the team
to deliver innovative software, such as programmes that monitor the positions
of other competitors during races, to maintain competitive advantage.
To fulfil these demands requires a combination of skill, experience and
advanced technology.
It is hardly surprising then that after six years, B·A·R Honda had amassed incredible volumes of code, which was continuing to increase season on season. "It is a fact of life that software has bugs, but with a limited team and ever growing demands for software development we decided that, as part of good programming practice, we should look to incorporate development tools from an external supplier into our processes," said Walshe.
B·A·R Honda began to look at the available options on the marketplace. The team found that several companies offering programming tools also had long and complex licensing processes that would be unworkable with the immediacy and constantly changing nature of Formula One. Following its evaluation of suitable products, B·A·R Honda chose to use Compuware DevPartner Studio Professional Edition - a comprehensive product set that accelerates Windows-based, multi-language productivity tasks. Used in building .NET, web-enabled, e-commerce and distributed applications, it helps developers quickly detect, diagnose and resolve software errors, maximise code performance and ensure optimum code coverage and testing. Consequently, it saves time and money and enables projects to meet demanding schedules with limited resources.
B·A·R Honda found Compuware DevPartner Studio to be the only product on the market that could analyse multi-threaded applications. "We have certain key applications of this nature, and it is notoriously difficult to re-create problems exactly in order to fix them. With DevPartner Studio this isn't a problem as it identifies thread deadlocks and allows us to analyse potential problems before they happen," said Walshe. "In fact, we have come to realise the value this functionality to such an extent that it would now be a pre-requisite for any future programming tools."
Through its browser-based interface, DevPartner Studio delivers powerful analysis and profiling techniques to help B·A·R Honda understand how its Java code will perform before it is deployed. Performance data is easily viewed through the browser, and B·A·R Honda can perform debugging tasks quicker than ever before. It supports B·A·R Honda in delivering high quality applications that run reliably across multiple computers in its distributed environment.
"DevPartner Studio was a larger suite of productivity tools than we originally envisaged going for, but we found that several elements could deliver extra value to us," said Walshe. "For example, DevPartner Profiler has been really useful in pinpointing performance bottlenecks and verifying which code changes have improved performance. Coverage Analysis has also proven valuable in error detection."
Walshe continued: "DevPartner Studio has enabled us to do three very important things: to pinpoint and fix potential issues, to save time and improve reliability. I cannot stress how important that is in the pressurised environment of racing. Formula One has the same pressures as any business - we need to ensure that our vital software systems are performing optimally and supporting our dynamic business needs at any given moment in order to gain and maintain competitive advantage. The difference is the pace: if software failure means we are unable to race our cars, our business instantly grinds to a halt. If our product isn't performing at its best then it becomes clear to the customer - including our huge fan base across the globe - within seconds on the race track."
"That is why the B·A·R Honda software engineers have a 'get it right first time' mentality, because we really are at the sharp end of software failure. We have found that DevPartner Studio has quickly become a vital component of our software processes because it has enabled us to broaden the scope of risk analysis and defect identification as well as other issues. It has certainly been able to hold its own in an incredibly fast paced and demanding environment," concluded Walshe.