Complex systems have characteristics that challenge traditional systems engineering processes and methods. These characteristics have been defined in various ways. INCOSE has previously identified characteristics of complex systems and potential methods to deal with complexity in system development. The purpose of this paper is to provide definitions and describe distinguishing characteristics of complexity using example systems to illustrate approaches to assessing the extent of complexity. The paper applies Appreciative Inquiry to identify and assess complex system characteristics. The characteristics are used to examine several different examples of systems to illuminate areas of complexity. These examples range from seemingly simple systems to complicated systems to complex systems. Different tiers of complexity are identified as a result of the assessment. The paper also identified and introduces topics on managing complexity and the integrating system perspective that represent new directions for the engineering of complex systems. The Appreciative Inquiry approach provides a method for systems engineering practitioners to more readily identify complexity when they encounter it, and to deal more effectively with this complexity once it has been identified.
“Systems engineering is an interdisciplinary approach and means to enable the realization of successful systems” as defined in the INCOSE Systems Engineering handbook. When software development teams apply agile software methodologies such as scrum, test driven development and continuous integration (collectively referred to as “Agile software development” hereafter); there are challenges in coordination with traditional systems engineering efforts. This paper, developed by the INCOSE Agile Systems Engineering Working Group, proposes methods for cross‐functional teams that include Systems and Software Engineers working on customer “pull” projects to produce software products. This paper defines a proposed Agile SE Framework that aligns with agile software development methodology, and describes the role of the Systems Engineer in this context. It presents an iterative approach to the aspects of development (requirements, design, etc.) that are relevant to systems engineering practice. This approach delivers frequent releasable products that result in the ability to absorb changes in mission requirements through collaboration between systems engineers and software engineers. The Agile SE Framework defines a way to scale agile from individual agile software teams with a few members to large projects that require a planned architecture and coordinated efforts.
The Manifesto for Agile Software Development [Beck 2001] and the Principles behind the Agile Manifesto were written specifically for software development teams. Since the manifesto does not appear to apply to systems or large programs with multiple teams of development, how it applies to systems engineers is not apparent. The Principles for Agile Development are recommended for cross‐functional teams that include Systems and Software Engineers working on customer “pull” projects to produce software products. These principles provide a foundation for the working relationship across the teams. We believe these principles apply to programs that include both hardware development and software development; however, we limit our examples to software intensive development for this discussion. As we strive to produce products more affordably in this ever‐increasing, global marketplace adopting these principles will serve as a foundation for working together to develop high‐value capabilities incrementally.
The Future of Systems Engineering (FuSE) is an INCOSE led multi‐organization collaborative activity focusing on many initiatives to identify and shape the future of systems engineering. The FuSE Agility collaboration identifies and elaborates a roadmap for an initial set of foundational concepts to further the integration of agility into the systems engineering lifecycle. This paper identifies four objectives for agility integration in people, process, technology, and environment and aligns nine foundational concepts to advance thinking and practice in agile‐systems engineering (solutions) and agile systems‐engineering (process).
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
hi@scite.ai
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.