Selecting the Development Approach

From SEBoK Draft
Jump to navigation Jump to search

Lead Authors: David Endler Contributing Authors: Mike Yokell, Garry Roedler


Choosing the right development approach is a critical step after selecting and adapting a life cycle model. Each system element or enabling system may require its own approach, especially in complex or innovative projects involving new technologies or business domains. Options like sequential, incremental, evolutionary, or agile must be weighed based on risk, system size, requirements clarity, and other contextual factors. Tools such as risk analysis and frameworks like PMI’s Situation Context Framework offer valuable guidance. A shared understanding between acquirer and supplier is essential to ensure alignment on strategy, resources, and delivery expectations throughout the system’s development.

Select the Development Approach

Within the selected life cycle model for the system of interest, and after that model has been adapted as appropriate, the specifics of the development approach for the system of interest should be selected and adapted. Determination of the development approach should be performed not just for the system of interest, but for each system element, as well as each enabling system. It is possible, perhaps likely, that the development approaches will differ.

A particular challenge arises when the system of interest involves new technologies or is developed to target a new business area. It is then very likely that development approaches used previously are no longer up-to-date and applicable.

Candidate development approaches include Sequential, Incremental, Evolutionary, and Agile. Depending on what is known and what is not known, a development approach can be more favorable in terms of reducing risk. Risk analysis can be used to compare the development approaches to help guide the selection process.

There are good practices on how to select a suitable development approach, for example in ISO/IEC/IEEE 24748-1. The Project Management Institute (PMI) published their Situation Context Framework (SCF) that “defines how to select and tailor a situation-dependent strategy for software development. The SCF is used to provide context for organizing your people, process, and tools for a software-based solution delivery team.” This framework defines seven dimensions (team size, geographic distribution, organizational distribution, skill availability, compliance, domain complexity, and solution complexity) with scaling factors in each dimension.

Considerations:

  • How well are the requirements understood
  • How large is the system
  • How quickly is technology changing
  • How constrained is the staff
  • How constrained is the budget
  • Does the user have preferences on capabilities in first delivery
  • Does the user need to phase out an old system at once

There should be agreement between the acquirer and supplier on the development approaches.

References

Works Cited

https://www.pmi.org/disciplined-agile/agility-at-scale/tactical-agility-at-scale/scaling-factors

Primary References

ISO/IEC/IEEE 24748-1. 2024. Systems and software engineering — Life cycle management, Part 1: Guidelines for life cycle management. Geneva, Switzerland: International Organization for Standardization (ISO), International Electrotechnical Commission, and Institute of Electrical and Electronics Engineers.

Additional References

None.


< Previous Article | Parent Article | Next Article >
SEBoK v. 2.12, released 27 May 2025