Gundars Osvalds, CSEP; Larri Rosser; Phyllis Marbach, David Lempia
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 mid-size (~80 contributors), 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 better customer alignment and the ability to absorb changes in mission requirements through collaboration between systems engineers and software engineers.