Process Concurrency, Iteration, and Recursion
Concurrency, iteration, and recursion ensure dynamic, non-linear system life cycle management. Concurrency allows parallel processes; iteration enables refinement through feedback and evolving requirements; recursion applies processes across system levels for consistency. Together, they promote continuous learning, adaptability, and informed decision-making throughout system definition and realization.
Fundamental Concepts
The concepts of concurrency, iteration, and recursion is also discussed in ISO/IEC/IEEE 15288 and article Applying the Systems Approach. While the article in SEBoK Part 2 explains the application of concurrency , iteration, and recursion in the development of complex systems, this article deals with the application of these concepts to life cycle processes.
The system life cycle processes are sometimes mistakenly perceived as linear and sequential, applied at a single system hierarchy level. In reality, effective system life cycle management relies on exchanging information and insights across processes to ensure a system definition that meets stakeholder needs efficiently and effectively. To do this, it is often necessary to account for learning and feedback that is obtained as processes are applied during the system definition. Applying concurrency, iteration, and recursion supports continuous communication, ongoing learning, and informed decision-making as the technical solution evolves.
Concurrency
Concurrency involves performing two or more processes in parallel. Many processes can proceed simultaneously when they do not strongly depend on each other’s outputs. For instance, risk management and measurement processes are typically continuous and concurrent.
Iteration
Iteration refers to repeated application and interaction between processes for a variety of reasons, including to accommodate stakeholder decisions, to incorporate learning and feedback, and evolving understanding, architectural constraints, and trade-offs for affordability, feasibility, resilience, and adaptability. Iteration frequently occurs between processes such as system requirements definition and system architecture definition. Evolving requirements can drive architectural changes, which in turn can prompt updates to requirements, design, or trade-offs.
Recursion
Recursion is the repeated application of life cycle processes throughout the system structure. Technical Management and Technical Processes are applied recursively for many reasons, including defining the system at continually lower levels until decisions on make, buy, or reuse are made. Outputs from one element level serve as inputs for another, whether in system definition or system realization, ensuring consistency and integrity.
References
Works Cited
INCOSE. 2023. Systems Engineering Handbook: A Guide for System Life Cycle Processes and Activities, 5th Edition. Ed(s): D. Walden, T.M. Shortell, G.J. Roedler, B.A. Delicado, O. Mornas, Y. Yew-Seng, D. Endler. San Diego, CA: International Council on Systems Engineering (INCOSE). Available at https://www.incose.org/publications/se-handbook-v5.
ISO/IEC/IEEE. 2023. Systems and software engineering — System life cycle processes. Geneva, Switzerland: International Organization for Standardization (ISO), International Electrotechnical Commission (IEC), and Institute of Electrical and Electronics Engineers (IEEE). ISO/IEC/IEEE 15288:2023.
Primary References
None
Additional References
None