Making software like you make a car

A new approach to enterprise information system development.

Synergy Research Corporation wants to make software like you make a car.

There is immense demand for software, and the speed with which it is developed and the quality of the final product can have a major impact on the wealth of any country or society. However, the approach taken in software development is often inadequate for meeting the demand for such products, and nowhere is this truer than in the field of enterprise system development, where delays and inefficiencies often result in large project cost overruns.

Well then, what about car manufacturing? From start to finish of the assembly process, it takes roughly one week until a finished automobile is ready to roll off the production line, and rarely are any major problems reported once it is in the hands of the purchaser; more often is the case that the new car meets all expectations and is a joy for the satisfied customer to drive. What makes this so different from what often happens in software development?

One hears people say that it’s wrong to try to compare software with automobiles, but in actuality there isn’t such a large gap between the two.

Four time periods

In mature industries, there are four time periods to consider.
  1. The period of time devoted to development of production technology
  2. The period of time devoted to product development
  3. The period of time between order intake and order fulfillment
  4. The period of time between the fulfillment of orders
These four time periods apply to a certain extent to car manufacturing. With 2, it is said that it typically takes about four years to develop a new car model. For 3, the period of time between order intake and shipment of the assembled vehicle is about one week. And with 4, cars roll off the assembly line approximately every minute. What is the case with 1 these days? While the car industry does rely on basic technologies in everything from engines to transmissions, and more recently, the types of batteries and motors that you find in electric vehicles, the underlying element that is key to business success in this industry is none other than production technology. Take for example Toyota and its famous Toyota Production System, in particular the very well-known concept of just-in-time (JIT) production. Toyota took some 40 years to perfect its use on its automotive assembly press lines.

So how does this work with software development?

Considering 2, where the product in question is software, as the time required for the development of enterprise information systems of a certain scale may be measured in units of years, it can be said in this respect that software and cars are not so far apart.

Looking next at 3, as anyone involved in the car industry can tell you, there is a clear difference between 2 and 3. Period 2 corresponds to the time required to develop a specific car like any of the models in Toyota’s Lexus lineup, and 3 is the period of time between the receipt of an order and the shipment of the assembled car from the factory. But with software development, it must be said that the distinction between 2 and 3 is not so clear, and in some cases they may be almost identical. As to how that could be in the case of enterprise software development, the reason is that the order for that system is placed by a single customer.

Recently however, things have been changing. With agile development, rather than starting out with the identification of all the final system requirements, functions that meet specific customer needs are released in short intervals known as iterations or sprints. This may be thought as falling within the scope of period 3, and such a software development activity may be said to have a duration of approximately one week.

In other words, of these 4 time periods, 2 and 3 are not all that different for cars and software, and may even be thought as having a relationship akin to siblings, insofar as these two industries are concerned.

Well then, what is to be made of time periods 1 and 4?

Period 1 is the time required for the development of basic production technology, and unfortunately one rarely hears of such a concept in the software field. While information technology plays a central role in any software solution and necessitates the use of a wide range of technologies, none of these could be called a fundamental underlying technology like the engines, transmissions, batteries, and motors that are employed in the automobile industry.

One must not forget that it is production system technologies like the Toyota Production System that enable true profitability in the automotive industry.

Last up for consideration is 4, the period between the fulfillment of orders. Assuming that the order for an information system has been placed by a single enterprise, time period 4 and time period 3 (the interval between the placement of an order and the shipment of the product, i.e. the software release) are practically indistinguishable. With a conventional software development approach, this is so because the fulfillment of any subsequent order cannot commence until all work on a preceding order is completed and that software is released. Contrasted even with agile development processes that can produce a software function in as little as one week, the typical automotive production operation where cars roll off the assembly line at one-minute intervals has an immense productivity advantage of 2,400 to 1 (assuming a workweek of five 8-hour days). Time period 4 is where software and automotive production show an overwhelming difference.

The difference in the profitability of these two industries can be attributed to this difference with time period 4. But there is an exception to this rule, and that is the high-volume sale of the same software product. Of course this doesn’t apply in the case of enterprise information system development projects that are based on the requirements of specific customers, but this certainly is true for products like Microsoft Windows that sell in vast quantities, and explains why a company like Microsoft can be so immensely profitable.

But even in the enterprise information systems market it is possible to have hugely profitable companies like SAP because they specialize in the volume sale of products like enterprise resource planning (ERP) systems that are based on standard specifications.

Success in a high-volume software business has much in common with that in the car industry and its emphasis on the principle of mass production put forward by Henry Ford.

With the end of the era of high growth and the diversification of market needs, mass production is giving way to the multi-product, small lot production approach of the Toyota Production System, now making Toyota the world number one automotive producer.

But the question now is, how can the Toyota Production System be applied to software?

At Synergy Research Corporation, we want to make software just like you make a car.