Applying An Agile Approach With MBSE

Transcription

Applying an AgileApproach with MBSE2019 Agile in Government SummitMay 8-9, 2019Madeline PantanoSystems EngineerFlavius Galiber IIICyber ArchitectDistribution Statement A: Approved for Public Release; Distribution is Unlimited; #19-0788; Dated 05/07/19 2019 Northrop Grumman Corporation

AbstractThe combination of Model-Based Systems Engineering (MBSE) and the Agileprocess aids in the execution of programs that are constantly changing, are highlycomplex, and contain uncertainties throughout system development. Establishing anAgile MBSE approach allows teams to manage change and uncertainties, managethe complexity of a system, foster multidisciplinary collaboration between crossfunctional teams, and provide a central repository model as the source of truth forsystem information.Implementing an Agile MBSE approach provides teams the opportunity to easilymanage changing system requirements and focus on Lean Modeling to delivercapabilities aligning to team-defined iteration goals. By breaking down modeldevelopment into time-boxed iterations, the overall quality is increased allowingteams to focus on specific iteration goals to develop and collaborate upon. At thecompletion of each iteration, teams receive feedback to ensure customer alignment,overall focusing the team’s efforts on Lean Modeling by avoiding Big Modeling UpFront (BMUF). This iterative process supports model development by adapting tochange, ensuring transparency, delivering models frequently, and ensuring a shortperiod of time where teams fail-fast to learn what specific approaches work. Bydefining the approach for combining Agile and MBSE best practices, the groundworkis laid for successful collaboration and generation of meaningful architecturalsolutions.2Distribution Statement A: Approved for Public Release; Distribution is Unlimited; #19-0788; Dated 05/07/19

Table of Contents Why Model-Based Systems Engineering (MBSE)? How do you apply MBSE in Agile Development? What are the challenges associated with Agile MBSE? Summary References3Distribution Statement A: Approved for Public Release; Distribution is Unlimited; #19-0788; Dated 05/07/19

Why Model-Based SystemsEngineering (MBSE)?Distribution Statement A: Approved for Public Release; Distribution is Unlimited; #19-0788; Dated 05/07/19

Key Systems Engineering (SE) Challenges Customers do not have detailed/justifieddefinitions of their problems The complexity of future problems andsolutions (e.g., hardware, software,systems, systems-of-systems) is growingexponentially and will (or have) reach apoint where we can no longer afford tosolve them Using documentation to manually manageSE data, information and knowledge isexceptionally labor-intensive and errorprone for complex systems (of systems) Producing and using voluminousdocumentation to share and transfer SEknowledge is ineffectivedocumentsmodels Assessing the impact of changes isexceptionally difficult in complex solutionsGovernment programs involving complex solutions must address some enduring SE challenges5Distribution Statement A: Approved for Public Release; Distribution is Unlimited; #19-0788; Dated 05/07/19

Model-Based Systems Engineering (MBSE) MBSE is a standardized environment/methodology that provides linkage, rules,metrics and views of engineering artifacts created to define, solve, and manageproblems and solutions of high complexity MBSE models are the central repository of all engineering/management artifacts—single source of truth MBSE modeling tools are used to build and evolve models, described using modelinglanguagesGovernment programs increasingly employ MBSE throughout the solution lifecycle6Distribution Statement A: Approved for Public Release; Distribution is Unlimited; #19-0788; Dated 05/07/19

Models What is a Model?– A simplified—physical,mathematical and/or logical—representation of amission/solution at some particularpoint in time or space intended topromote understanding of the realmission/solution– Provides insight about one or moreof the mission/solution's aspects,such as its function, structure,properties, performance, behavior,or cost– Leveraged by most engineeringdisciplines (e.g., electrical,mechanical, software) Types of Models– Descriptive– Analytical– Hybrid (Descriptive Analytical)– Domain-Specific– Mission/Solution/System– Integrated/Executable Simulations– Implement models over time– Used to analyze the complexdynamic behavior of missions,solutions and their respectiveoperational environments– May be live, virtual or constructive“All models are wrong, but some are useful.”—George E. P. Box7Distribution Statement A: Approved for Public Release; Distribution is Unlimited; #19-0788; Dated 05/07/19

Examples of ModelsGovernment programs will develop numerous models during the period of performance8Distribution Statement A: Approved for Public Release; Distribution is Unlimited; #19-0788; Dated 05/07/19

Uses of Models Characterizing an existingmission/solution Capture and sharing of solutionknowledge Mission/solution conceptformulation, exploration andevaluation Support change impactanalysis, as part of on-goingsolution design evolution Solution design synthesis andrequirements flow-down Estimate mission/solution costs Support for solution integrationand verification Support for training solutionoperators, maintainers andother stakeholders Evaluate mission/solutionalternatives Efficiently produce contract- orcompliance-requireddocumentationGovernment programs use models to help answer critical SE questions9Distribution Statement A: Approved for Public Release; Distribution is Unlimited; #19-0788; Dated 05/07/19

Benefits of MBSE Single source of engineeringtruth Increase ability to managecomplexity Improve communicationsamong stakeholders Rapidly analyze the impact ofchanges Improve system architecture,design and quality Minimize staff attrition impact Enable fast-feedback onrequirements and designdecisions Lower maintenance costs tomodify solution design Validate problem and solutionhypotheses at lower cost Identify risks earlier Improve productivity throughautomation and reusabilityGovernment programs employing MBSE realize numerous benefits—at a cost10Distribution Statement A: Approved for Public Release; Distribution is Unlimited; #19-0788; Dated 05/07/19

How do you apply MBSE in AgileDevelopment?Distribution Statement A: Approved for Public Release; Distribution is Unlimited; #19-0788; Dated 05/07/19

Agile Development(c) 2019 Lynne CazalyImage used with permission. www.lynnecazaly.comAgile values, principles and methods continue to be embraced by industries worldwide12Distribution Statement A: Approved for Public Release; Distribution is Unlimited; #19-0788; Dated 05/07/19

Agile Development Traditional Agile developmentframeworks and best practices(e.g., Scrum, XP) don’t explicitlyprovide guidance on how to:– Integrate MBSE and other SEdisciplines– Scale to large, distributed projectteams (potentially with manysuppliers) developing complexsolutions– Manage projects in heavilyregulated domains such as health,financial, government, etc.– Operate, maintain and evolvesystems in production“We embrace modeling, but not in order to file some diagram in a dustycorporate repository.”—Jim Highsmith, History: The Agile ManifestoDefense Innovation Board Issues Guide to'Detecting Agile BS'Most government programs that develop any software are expected to employ Agile13Distribution Statement A: Approved for Public Release; Distribution is Unlimited; #19-0788; Dated 05/07/19

Agile Development at ScaleSource: SAFe Government agencies are starting to embrace the Scaled Agile Framework (SAFe ), which incorporates MBSE14Distribution Statement A: Approved for Public Release; Distribution is Unlimited; #19-0788; Dated 05/07/19

Agile MBSE (AMBSE) Best Practices Incrementally build “just barely good enough” models ofthe Solution Intent (“as-built” and “to-be”) with eachIteration– Avoid Big Modeling Up Front (BMUF)Source: SAFe Apply AMBSE when there is significant complexity, uncertainty and/or ambiguity during solution development15Distribution Statement A: Approved for Public Release; Distribution is Unlimited; #19-0788; Dated 05/07/19

Agile MBSE (AMBSE) Best Practices Describe modeling-relatedAcceptance Criteria and/orDefinition of Done on theSolution’s Capabilities andFeaturesSource: SAFe Describe explicit modeling workas Enablers associated with theSolution’s Capabilities,Features and/or Non-FunctionalRequirementsSource: SAFe Source: SAFe Apply AMBSE when there is significant complexity, uncertainty and/or ambiguity during solution development16Distribution Statement A: Approved for Public Release; Distribution is Unlimited; #19-0788; Dated 05/07/19

Agile MBSE (AMBSE) Best Practices Utilize models to support SetBased Design and Compliance(e.g., V&V, RMF) activitiesSource: SAFe Ensure models are configurationcontrolled Employ role-based accesscontrol to models Create testable and executablemodels (when feasible)– Utilize Behavior-DrivenDevelopment (BDD)– Utilize/develop model verificationscriptsSource: SAFe Apply AMBSE when there is significant complexity, uncertainty and/or ambiguity during solution development17Distribution Statement A: Approved for Public Release; Distribution is Unlimited; #19-0788; Dated 05/07/19

Agile MBSE (AMBSE) Best Practices Maximize stakeholder participation in identifying, building and validatingmodels Create and capture informal models developed as part of refining theSolution Backlogs, Program Backlogs and Team Backlogs (i.e., “modelstorming”) Minimize duplication of model elements Model at the lowest security classification possible Establish modeling standards (e.g., processes, style guide) across allprojects in the Portfolio Leverage Iteration Retrospectives and Inspect & Adapt workshops toimprove modeling standardsApply AMBSE when there is significant complexity, uncertainty and/or ambiguity during solution development18Distribution Statement A: Approved for Public Release; Distribution is Unlimited; #19-0788; Dated 05/07/19

Agile MBSE (AMBSE) Best Practices Create models working in pairs Conduct a modeling “jam session” afterIteration Planning with modelersacross the Agile Release Train– Review models created in the previousIteration– Share lessons learned & best practices– Collaborate on the most difficult modelingproblems in the current IterationApply AMBSE when there is significant complexity, uncertainty and/or ambiguity during solution development19Distribution Statement A: Approved for Public Release; Distribution is Unlimited; #19-0788; Dated 05/07/19

What are the challengesassociated with Agile MBSE?Distribution Statement A: Approved for Public Release; Distribution is Unlimited; #19-0788; Dated 05/07/19

Agile MBSE (AMBSE) Challenges Culture change Leadership buy-in Building and retaining modeling talent Access to and availability of stakeholders to support iterative modelvalidation Adopting emerging modeling standards (e.g., UAF 1.0, SysML 1.5) Lack of training in modeling methodologies, languages, frameworks and tools Vendor lock-in with modeling tools Communicating models with stakeholders with no experience with modelinglanguages and notationGovernment programs that embrace AMBSE will still face a number of challenges21Distribution Statement A: Approved for Public Release; Distribution is Unlimited; #19-0788; Dated 05/07/19

Agile MBSE (AMBSE) Challenges Integration of multiple modeling tools and associated data, as well assimulators, within and across security classifications Integration of modeling tools with agile project management and softwaredevelopment tools Tools, modeling notations, and processes used by one discipline (e.g.,Systems, Hardware, or Software) do not mesh well with other disciplines Semantic gaps between business/mission and engineering domain &disciplines Creating executable models Automated document production snafus Use of models in DevSecOps (at scale) and Software FactoriesGovernment programs that embrace AMBSE will still face a number of challenges22Distribution Statement A: Approved for Public Release; Distribution is Unlimited; #19-0788; Dated 05/07/19

SummaryDistribution Statement A: Approved for Public Release; Distribution is Unlimited; #19-0788; Dated 05/07/19

Summary Government development programs are increasingly employing MBSEin order to cost-effectively explore and document solutioncharacteristics Government organizations are beginning to adopt the Scaled AgileFramework (SAFe ) in order to improve solution development andmission outcomes across their entire enterprise– Provides guidance on adopting MBSE on large-scale Agile Development programs Government programs operating within SAFe can leverage provenAgile MBSE (AMBSE) best practices to incrementally plan, developand validate models– Efficiently and effectively manage complexity, uncertainty and/or ambiguitythroughout the solution lifecycle– Additional challenges will still need to be addressed24Distribution Statement A: Approved for Public Release; Distribution is Unlimited; #19-0788; Dated 05/07/19

References Scaled Agile Framework (SAFe ) 4.6 Agile Modeling – Scott Ambler Agile Systems Engineering – Bruce Powel Douglass, Ph.D. A Practical Guide to SysML: The Systems Modeling Language, ThirdEdition – Sanford Friedenthal, Alan Moore, Rick Steiner Unified Architecture Framework Specification Version 1.0 – ObjectManagement Group SEBoK: Guide to the Systems Engineering Body of Knowledge –INCOSE, IEEE Computer Society, Systems Engineering ResearchCenter25Distribution Statement A: Approved for Public Release; Distribution is Unlimited; #19-0788; Dated 05/07/19

Contact InformationMadeline PantanoNorthrop Grumman(410) 993-8014madeline.pantano@ngc.comFlavius Galiber IIINorthrop Grumman(410) 689-3230flavius.galiber@ngc.com26Distribution Statement A: Approved for Public Release; Distribution is Unlimited; #19-0788; Dated 05/07/19

frameworks and best practices (e.g., Scrum, XP) don't explicitly provide guidance on how to: - Integrate MBSE and other SE disciplines - Scale to large, distributed project teams (potentially with many suppliers) developing complex solutions - Manage projects in heavily regulated domains such as health, financial, government, etc.