Because of its complexity, ICM examples have been developed to show users how to use the framework to create a development process appropriate for their system of interest. These cases cover the very small to the very large as well as the use of commercial off-the-shelf (COTS) software products to the development of a large, complex custom software application or integrated sets of software applications. Each of these situations presents risks at the various stages of development, some risks more critical than others. The goal of the ICM is to identify these risks and then tailor the process to include rigor where necessary to investigate and manage the risks and to streamline the process when risks are negligible, allowing the development team to be more agile when possible. Table 1 contains a list of the special cases of the ICM and an example of each case. These cases cover a broad spectrum of software-intensive systems. In addition, Table 1 describes the characteristics of the case (or application category) with respect to size and complexity; expected change rate during the development process; the overall criticality of the application, typically as it applies to human life, security/protection of information, or financial liability; and the type of NDI support one might expect for an application in this category. It also indicates the organizational and personal capabilities that are required to be successful at building this type of application and the typical/suggested lengths for each internal system build and each external system increment delivery. Table 2 provides top-level guidelines for tailoring the key activities in Stage I (incremental definition) and Stage II (incremental development and operations) of the ICM.
Replaced/Superseded by document(s)
The Incremental Commitment Model (ICM) organizes systems engineering and acquisition processes in ways that better accommodate the different strengths and difficulties of hardware, software, and human factors engineering approaches. As with other models trying to address a wide variety of situations, its general form is rather complex. However, its risk-driven nature has enabled us to determine a set of twelve common risk patterns and organize them into a decision table that can help new projects converge on a process that fits well with their particular process drivers. For each of the twelve special cases, the decision table provides top-level guidelines for tailoring the key activities of the ICM, along with suggested lengths between each internal system build and each external system increment delivery. This paper elaborates on each of the twelve cases and provides examples of their use.