1. Introduction

CESAM Agility: an Iterative & Collaborative Approach for Complex Systems Development

Agile development methods are nowadays well established in software engineering. They refer to an approach to software development under which requirements and solutions evolve simultaneously through the collaborative effort of self-organizing cross-functional teams, including customer(s) and end-users(s), whose objective is to construct a software solution that answers as well as possible to its business needs. Agile approaches advocate adaptive planning, evolutionary development, early delivery and continuous improvement. They also encourage rapid and flexible responses to changes (see for instance [34], [56] or [68] for more details).

The term agile was popularized – in the software engineering area – by the Manifesto for Agile Software Development that goes back to 2001 (cf. [1]). The values and principles proposed by this manifesto are especially the cornerstones of a broad range of modern software development frameworks, including Scrum and Kanban, which are among the most popular agile methodologies in these contexts (see [24] for a short history of agile methodologies). One shall finally point out that such agile approaches are nowadays widely used in the industry for non-critical software development: most of service industries (banks, insurances, retail, telecommunications, etc.) are typically using them on a daily basis for developing their business software capabilities.

The maturity of agile approaches in software development can be measured by the worldwide success and dissemination of agile frameworks at enterprise scale, such as SAFe (whose acronym stands for Scaled Agile Framework) which is the most famous one in this matter (see [40], [57] or [58]). This last framework proposes a full body of knowledge for deploying and scaling agile methods at enterprise level: SAFe® indeed explains how to use consistently agile approaches both at team, program, large solutions and enterprise portfolio levels, again still in the context of software development.

The same maturity does however not exist in the context of complex systems development where one can only find some poor and still quite recent references to agile systems engineering. The first attempt of extending the agile framework to the context of system development seems for instance to only go back to the end of 2012 when an IBM researcher, Hazel Woodcock, proposed a revisit of the Agile Manifesto for systems engineering (see [76]). In the line of this seminal initiative, a working group of the International Council on Systems Engineering (INCOSE) started then – in 2014 – to work on agile systems engineering (see [38]) with a regular production on this subject, leading in particular to a first textbook which was published by B.P. Douglass in end 2015 (see [28]). Finally, one shall also point out a quite recent first attempt – that goes back to October 2017, as far as we could trace it – of SAFe® team that proposed a sketch of a Model-Based Systems Engineering agile framework. This last proposal is however reduced to a very small number of ideas, not detailed at all and clearly not very effective and not supported by returns on experiments from real system developments (see [58]).

Moreover, these attempts for extending the agile paradigm to systems engineering clearly did not deeply penetrate the industry. In practice, most of the industrial development organizations are indeed not “agile” at all – taking here this term in the meaning of agile methods – and are still using quite classical more or less cascaded development approaches, based on a V-cycle organization with specialized teams working in silos, where customer-focus and transversal collaboration are usually weak. One may observe that this situation is probably due to the fact that physical systems are much more difficult to handle than software systems and that systems development frameworks are usually strongly constrained by regulatory issues, especially when dealing with critical systems. Nevertheless, we can however see that some industrial companies have successfully started to deploy agile systems engineering (also called iterative systems engineering) approaches with outstanding outcomes. Two of these examples are SpaceX and Gripen that are quickly presented below.

• First of all, SpaceX was for instance able to apply an “agile” approach to a multidisciplinary industrial and complex system such as a launcher. Agility allowed SpaceX to significantly reduce program costs by transforming the classical unique single development cycle into a series of short design-buildtest development cycles. During these short cycles, departments and disciplines are aligned on the same system view of the global product. All development actors involved in SpaceX engineering activities are also regularly synchronized to reduce over-costs and delays on each short iterative cycle. In the same way, customers’ requirements are permanently tracked and verified in order to optimize all design items covering these requirements at each iterative design-build-test cycle.Note finally that digital continuity is key to improve collaboration and to master dashboarding status at each cycle, allowing the three SpaceX locations, each of them mixing many teams and sub-teams, to work as a global team sharing all key information.
• In the same way, Saab applied successfully an iterative systems engineering approach for developing the JAS 39 E/F Gripen military aircraft, with a huge impact on design complexity. The design cost of this aircraft is indeed estimated at 14 B€ instead of 25 B€ for the Dassault Aviation Rafale. The Gripen success is considered as mainly linked to the efficiency of the transversal collaboration between functional & design teams, who used digital and functional mockup tools as pivot to synchronize.

These two examples are showing well the strategic importance of agility in the context of multiphysical complex industrial system development.

Page suivante

TABLE DES MATIÈRES

References

[1] Agile Manifesto, Agile Manifesto, http://agilemanifesto.org/

[24] Dingsoyr T., Nerur S., Balijepally V., Moe N.B., A decade of agile methodologies: Towards explaining agile software development, Journal of Systems and Software, 85, (6), 1213-1221, 2012

[28] Douglas B.P., Agile Systems Engineering, Morgan Kaufman, 2015

[34] Highsmith J., Agile Project Management: Creating Innovative Products, Addison-Wesley, 2009

[38] INCOSE, Agile systems,
https://www.incose.org/ChaptersGroups/WorkingGroups/transformational/agile-systems-se

[40] Knaster R., Leffingweel D., SAFe® Distilled: Applying the Scaled Agile Framework for Lean Software and Systems, Addison-Wesley, 2017 

[56] Runyan K., Ashmore S., Introduction to Agile Methods, Addison-Wesley, 2014

[57] SAFe, Scaled Agile Framework, http://www.scaledagileframework.com/

[58] SAFe, Model Based Systems Engineering, http://www.scaledagileframework.com/modelbased-systems-engineering/

[68] Wilipedia, Agile software development,
https://en.wikipedia.org/wiki/Agile_software_development

[76] Woodcock H., The Agile Manifesto reworked for Systems Engineering, INCOSE UK, ASEC conf., 2012

Nos réseaux