There has been a lot of discussion recently about the huge amount of software that is present in a modern day car. Some sources claim that a single vehicle might have close to 100 million lines of software code (Approximately 18,000 printed pages)! If so, who is writing all this code?
To make it a simpler task, major automotive OEMs follow the principle of distributed development in which, a huge job is broken into smaller chunks and given to various suppliers. The suppliers successfully realize those chunks. These chunks are sent back to the OEM, who then glues all of them together. Sounds easy right? Well, not exactly! Managing this development requires a lot of effort. That is why processes are heavily used in the automotive industry to manage the development of software.
Process models have quite a history and are being used since time immemorial (Caveman discovering fire was a process too!). In early days, inventors depended on transcripts and letters from fellow inventors to reproduce/improve an invention. These scripts contained procedures that helped them to recreate something that already existed. Slowly but steadily, an increase in the formalization of these procedures was observed. This can be attributed to the automation and mass production of commercially useful inventions.
When we narrow down our scope to software and systems, there is a substantial amount of evidence to indicate the existence of processes. For example, there was an attempt to introduce structured programming to develop understandable programs around the 1960s. After an interesting period of development, we now stand at a point where formalization plays a major role in development of software and systems.
Automotive processes: Before going into the automotive processes, let us look at a small example. Everyone loves pizza, right? Right! Now, how do you order a pizza? Simple. You pick up the phone, you order, and the pizza is delivered to your house. That’s all! That’s as simple as a process gets. However, do you know that there is a sophisticated system in place to make this process viable? Take a look below: