Software Estimation Best Practices

How Much Software Is in your Car? From the 1977 Toronado to the Tesla P85D

It’s easy to imagine there is a lot of complex computer software code required to operate and control a fully autonomous self-driving car, such as the prototype recently unveiled by Google, and that advanced systems engineering and software life cycle management techniques are required to successfully manage its development.  However, you may be surprised to find out that nearly every vehicle under 30 years old on the road today also depends on computer software - and lots of it.

According to an IEEE Spectrum article by Robert Charette entitled: “This Car Runs on Code,” the first production car to incorporate embedded software was the 1977 General Motors Oldsmobile Toronado which had an electronic control unit (ECU) that managed electronic spark timing.  By 1981, GM had deployed about 50,000 lines of engine control software code across their entire domestic passenger car line.  Other auto manufacturers soon followed the same trend.   

Automotive Software Size

1977 General Motors Oldsmobile Toronado (image source)

Around the same time software was being used for the first time in cars, QSM, Inc. founder, Lawrence Putnam, Sr. was discovering the “physics” of how engineers build software by successfully modeling the nonlinear relationship between the five core metrics of software product size, process productivity, schedule duration, effort and reliability.  One of his first presentations of his findings entitled, “A General Solution to the Software Sizing and Estimating Problem” was given at the Life Cycle Management Conference of the American Institute of Industrial Engineers in 1977.  In 1978 Mr. Putnam invented the Software Lifecycle Management (SLIM) tool based on these algorithms and began collecting a benchmark database of historical software projects. 

Fast forward to the present. The amount of software used in all industries including the automotive industry has increased exponentially in both size and complexity.  Premium cars like the Mercedes-Benz S-class now depend on millions of lines of code running up to 100 networked ECUs throughout the body of the car which control and monitor everything from the powertrain to the airbag system.  Even lower end cars have up to 50 ECUs.  In a QSM productivity benchmark study for a major automobile manufacturer, we found that powertrain software can be just as sophisticated as real-time, embedded systems found in military and aerospace industries.  

Meg Selfe Divitto, former GM powertrain engineer and IBM Vice President of the Internet of Things, was quoted in an Embedded article as saying that the Volt had 10 million lines of code.  While a significant portion of that was probably reused or auto generated from model driven development, it is nevertheless a massive amount of code greater in size than the avionics software in the F-22 Raptor and Boeing 787. 

Few companies leverage software more than Tesla Motors, a U.S. company founded in 2003 and named after electrical engineer and physicist Nikola Tesla.  Its CEO, Elon Musk, made his fortune in software startup companies and Tesla Motors boasts cutting-edge software as a critical part of almost every aspect of its business.  With an intense focus on agile innovation, the company began production of the Tesla Roadster in 2008 and the Model S sedan in 2012 - both 100% electric cars that took the use of software to a whole new level.  The Model S has a 17 inch touch screen with a Linux-based computer system that controls nearly every function of the car - from performance to the entertainment system.  In fact, there are only two manual buttons: one for the hazard lights and one to open the glove box.  Software updates, which include both bug fixes and new functionality, are pushed to the car remotely via a 3G cellular network.  

Tesla Automotive Software Size

Tesla Model S 17" Touchscreen

Embedded software is the secret sauce in the electric powertrain of the Model S and one of the top areas of investment, according to CTO JB Straubel in an interview with PCWorld.  The newest dual motor P85D version released in late 2014 digitally adjusts torque at the millisecond level between the front and rear motors to achieve a staggering 864 foot-pounds of torque (more than a twin turbo V-12 engine), 691 horsepower and 1 G of lateral acceleration going from 0-60 mph in 3.1 seconds.  YouTube videos of the Tesla Model S P85D drag racing supercars like the Ferrari 458 Italia have gone viral.

Today’s auto manufacturers have truly become software companies, presenting both opportunities and challenges.  With all of this complex software comes the need for systems engineering and sophisticated project, program and portfolio management carefully balanced against the triple constraint of schedule, effort/cost and quality.  Unlike some other industries, auto industry executives do not have the luxury of ignoring any one part of the triple constraint.  Being late to market with innovative technology may mean that a competitor captures the majority of market share.  If development effort and costs are too high, it puts more pressure on sales volume to reach an acceptable margin.  Software reliability issues can result in expensive recalls and even lawsuits that tarnish a company’s reputation and impact future sales.

Thankfully there are quantitative software life cycle management techniques that can help address some of these management challenges.  At QSM, we have successfully applied these techniques to complex software projects for over 35 years in every domain (business, engineering, real-time embedded) and industry sector, including the automobile industry.  Along the way, we have collected a historical benchmark database of over 10,000 projects which is used to calibrate our SLIM tool.  Our QSM Software Almanac: 2014 Research Edition provides some of the latest research from this database.

So what does the future hold for the automotive industry?  Some cars in production today like the Tesla Model S already offer advanced safety features and autopilot capability where software integrates data from cameras, radar, and 360 degree sonar sensors with real-time traffic updates.  However, a ten year look ahead gives us a concept cars like the Mercedes-Benz F015 Luxury in Motion that are so advanced they look like they’re straight out of a science fiction movie.  Other visionary efforts such as Project 100 are going beyond cars and rethinking the entire transportation system.

Will these concepts become reality ten plus years from now when my young children are driving age?  It’s hard to say, but one thing is almost certain: there will be a lot of complex software involved and the companies that succeed will be the ones that combine innovation with successful execution and a thorough understanding of the five core metrics of software development.

Blog Post Categories 
Software Sizing Project Management