Abstract
System development processes historically have been driven by scarcity and availability of resources and knowledge. Examples in the software domain include computation time, memory, programming costs, or the local accessibility of cloud computing and in the hardware domain costs of real-time testing, emulated or virtual testing, and verification. At the same time, an intellectual, however, often not lived, insight is that the increasing complexity of systems and developments requires the informed selection and implementation of structured development processes. A further challenging requirement is to leverage tacit or implicit rules, decision-making processes as well as technical processes to design development processes. For instance, loose requirements may lead to long-term inconsistencies and expensive efficiency loss at later stages of developments. Whereas formal requirements for system specifications prevent from fast prototyping for early customer feedback. Hence, it is important to balance process requirements with process flexibility expectations. Within this challenging context, the chapter introduces different types of software and hardware development processes. However, instead of following the doctrines of any of the plethora of existing system development processes and their communities, it first identifies generic properties of development processes by introducing characteristics of development processes including linear, iterative, incremental, big-bang integration, agile, technical, and organizational. Next, representative examples of models for software and hardware development processes are introduced including versions of the waterfall model, spiral model, V-model, and the Scrum model. In each case, the development process models are characterized using the introduced attributes and advantages and disadvantages of the models are discussed. The expectation is that this supports better selection and combination of development process models, in particular, their relation to methods to be conducted within process steps, and clarifies the relation of development models to such concepts as product life cycle and functional safety life cycle.