Approved for Public Release; Distribution Unlimited. 14-0890 Towards Agile Systems Engineering for the National Airspace System SEDC 2014 April 4, 2014 Nadya Subow o The contents of this document reflect the views of the author and The MITRE Corporation and do not necessarily reflect the views of the Federal Aviation Administration (FAA) or the Department of Transportation (DOT). Neither the FAA nor the DOT makes any warranty or guarantee, expressed or implied, concerning the content or accuracy of these views. © 2014 The MITRE Corporation. All rights reserved. |2| Outline Why do we need Agile? Background – Next Generation Air Transportation Vision – Acquisition Management System Motivation and Scope Agile Systems Engineering Framework Agile System Design Framework Stakeholder Analysis and Impact Conclusion Next Steps © 2014 The MITRE Corporation. All rights reserved. |3| Why Do We Need Agile? Information Technology is a large part of today’s enterprise infrastructure Defense Science Board Task Force [1] found that large information systems take about 91 months to field from conceptual design to deployment – Conventional acquisition process does not accommodate systems that require any hardware/software updates and changes in the operational requirements Statutory restrictions have risen due to lack of confidence in the execution of such program, resulting in increased program scrutiny and budgetary actions (e.g. funding cuts) © 2014 The MITRE Corporation. All rights reserved. |4| Federal Aviation Administration Vision © 2014 The MITRE Corporation. All rights reserved. http://www.jpdo.gov/library/20090521AllHands/20090521_Enterprise_Architecture_Prese ntation_Jay_Merkle_v2.pdf |5| Acquisition Management Process Where does Systems Engineering fit in? © 2014 The MITRE Corporation. All rights reserved. Federal Aviation Administration. (2006). National Airspace System System Engineering Manual v3.1. |6| Motivation & Scope FAA Lifecycle Management Process Flowchart – Systems Engineering Concept & Requirements Definition Investment Analysis Support concept and Requirements Defintiion Support Initial Investment Analysis Support Final Investment Analysis Solution Implementation Define System Architectural Design Analyze System Requirements Develop System Architectural Design Develop System Detailed Design Develop and Test Software Code Integrate Software and Conduct Design Qualification Tests The Federal Aviation Administration (FAA) utilizes traditional waterfall approach during Solution Implementation How can the FAA leverage emerging agile practices to deliver usable NextGen operational capabilities to the aviation community? © 2014 The MITRE Corporation. All rights reserved. |7| Agile Systems Engineering Framework Adopt agile principles Solution Implementation of the AMS process A single release is comprised of several iterations, adapting to any technical changes and creating a usable system for the end user Agile Iteration #1 Concept Definition Requirements Analysis System Functional Design Implementation Verification Use in design of nonsafety-critical systems © 2014 The MITRE Corporation. All rights reserved. Deployment |8| Integrated Technical Planning Process that encapsulates the upfront program planning work, defining the program’s goals and the goals for each iteration and associated release Agile Process – Macro vs. Micro view – Iteration address high priority and high risk operational features – Release represents a fully integrated and usable capability – Continuous user feedback from stakeholders Evidence Based Framework The Agile Manifesto states that the “…highest priority of a program is to satisfy the customer through early and continuous delivery…” [2] Iteration #n Integrated Technical Planning Concept Development © 2014 The MITRE Corporation. All rights reserved. Requirements Analysis Functional Design Implementation Verification Deployment |9| Concept Development Define the mission needs and capture the primary operational functions and requirements Agile Processes – Establish enterprise understanding of the mission need and the program’s architecture and objectives to ensure alignment Defer any detailed design decisions until sufficient information is available by fostering a collaborative design environment – Open architecture enables rapid responses and asynchronous upgrades Iteration #n Integrated Technical Planning Concept Development © 2014 The MITRE Corporation. All rights reserved. Requirements Analysis Functional Design Implementation Verification Deployment | 10 | Requirements Analysis Output a set of known system functions, system requirements, and measures of performance (acceptance criteria) based on mission need and additional technical needs from Specialty Engineering Agile Process – User stories to define the operational needs and system requirements – Backlog of user stories – Prioritization of user stories based on risk, need, and/or complexity User stories for non-functional requirements should be considered as high priority due to its complexity and may require multiple iterations The Agile Manifesto stresses the importance of welcoming requirements changes, even if it is late in the development [2] Iteration #n Integrated Technical Planning Concept Development © 2014 The MITRE Corporation. All rights reserved. Requirements Analysis Functional Design Implementation Verification Deployment | 11 | Functional Design Define an architectural solution that addresses the stakeholder’s needs and the operational Agile Process – The first iteration should define the enterprise level concept and architecture – Iterations to refine the enterprise physical architecture – All internal and external interactions captured as interface requirements in the requirement’s Backlog for future iterations Iteration #n Integrated Technical Planning Concept Development © 2014 The MITRE Corporation. All rights reserved. Requirements Analysis Functional Design Implementation Verification Deployment | 12 | Agile System Design Framework System design is based on fulfilling an operational need – What happens when the system becomes too large and costly for any minor requirements change or technical upgrades? Desirable to have system components that can be rapidly modified without repeating the entire system design process Agile System Design enables rapid adaptation change from one operating condition to another after initial deployment – Use in small technical, non-safety-critical systems – Benefits come from ability to hedge against an uncertain future – Balance between design flexibility and life cycle cost, including investment costs and cost for switching operations © 2014 The MITRE Corporation. All rights reserved. | 13 | NextGen Stakeholders A challenge in systems engineering is balancing disparate stakeholder needs Who may present a Challenge for adopting agile? © 2014 The MITRE Corporation. All rights reserved. | 14 | POET Analysis and Impact Political Many stakeholders including: Development Contractors Joint Resource Council (JRC) Bargaining Units FAA Organizational Structure Oversight Committees (GAO, IG) Congress Economic DOT Budget and FAA Appropriation Investment and maintenance costs Program Technical Staffing Operational Procedures, rulemaking, etc. Aircraft Standards – Certification and Equipage Mandates – standards implementation Air Carriers & General Aviation Airports/Airport Authority Acquisition Management System and Systems Engineering Process Technical Information Systems Security Managers Safety systems categorization Technology availability and maturity Resources © 2014 The MITRE Corporation. All rights reserved. *Legend: Red represents strong program influence | 15 | How Can Agile be Beneficial? Technical availability and maturity may be mitigated by an agile systems engineering or agile system design – Agile system design - smaller technical, non-safety critical systems – Agile systems engineering - joint effort for non-safety critical system/service design and implementation The FAA can increase USER confidence by incorporating them early and often into the design and requirements process Agile allows the FAA to focus on building and delivering incremental value to the end users in a rapid manner – Planning for a release incorporates program risks, operational priorities, cost and schedule constraints © 2014 The MITRE Corporation. All rights reserved. | 16 | Next Steps Validate the Agile Systems Engineering and Agile System Design frameworks through a use case study with non-safetycritical NextGen programs Identify quantifiable and qualitative metrics that show the benefits of an agile engineering approach © 2014 The MITRE Corporation. All rights reserved. | 17 | Questions? Nadya Subowo nsubowo@mitre.org © 2014 The MITRE Corporation. All rights reserved. | 18 | References [1] Force, Defense Science Board Task. (2009). Department of Defense Policies and Procedures for the Acquisition of Information Technology (T. Office of the Under Secretary of Defense For Acquisition, and Logistics, Trans.) (pp. 109). Washington, D.C. 20301-3140. [2] “Agile Manifesto.” Manifesto for Agile Software Development. http://www.agilemanifesto.org/ © 2014 The MITRE Corporation. All rights reserved. | 19 | Backup © 2014 The MITRE Corporation. All rights reserved. | 20 | Agile vs. Waterfall The following definitions characterize agile as the following: – Agile is an effective response to an opportunity and problem within the construct of the mission, where effective response is defined as timely, affordable, predictable (quality), and comprehensive [3] – Agility applies memory and history to adjust to new environments, react and adapt, take advantage of unexpected opportunities, and update the experience base for the future [4] – A shift from plan-driven to value-driven software development © 2014 The MITRE Corporation. All rights reserved.