A Reverse Chronology of Evolutionary Architecture and Agile Development Gallagher Brian Hanif Mostafa Mielke Thomas CACI International Inc 1100 North Glebe Road Arlington, VA 22201 March 21, 2017 1
Agenda This half-hour presentation has five brief sections: 1. Introduction Architecture-Centric Engineering Process 2. The End 3. The Middle 4. The Beginning 5. The Future March 21, 2017 2
1. Introduction March 21, 2017 3
End State Approaching Systems Engineering Starting State Delivered Capabilities Customer Needs and System Concerns See SEI s Patterns of Failure: System Archetypes http://www.sei.cmu.edu/acquisition/research/pofsa.cfm March 21, 2017 4
Improvised Systems Engineering: A Story of Scrambling and Confusion Delivered Capabilities? What am I doing today? Customer Needs and System Concerns See SEI s Patterns of Failure: System Archetypes http://www.sei.cmu.edu/acquisition/research/pofsa.cfm March 21, 2017 5
Improvised Systems Engineering = Improvised Decisions Delivered Capabilities? What am I doing today? Failure Customer Needs and System Concerns Partial Success Complete Success See SEI s Patterns of Failure: System Archetypes http://www.sei.cmu.edu/acquisition/research/pofsa.cfm March 21, 2017 6
Conducting Repeatable, Deterministic Systems Engineering with Evolutionary Architecture + Agile Development Evolutionary Architecture Incrementally Delivered Capabilities Coordinated - Efficient - Adaptive Customer Needs and System Concerns Agile Development March 21, 2017 7
Integrated, Evolving Architecture Enables Deterministic Systems Engineering Evolutionary Architecture Incrementally Delivered Capabilities Data and Information Systems and Services Use Cases / Scenarios Requirements Integrated Architecture Process Capability Integrated Architecture helps Systems Engineering teams effectively collaborate to achieve mission and business goals Customer Needs and System Concerns Agile Development March 21, 2017 8
Integrated, Evolving Architecture as the Systems Engineering centerpiece Evolutionary Architecture Incrementally Delivered Capabilities Data and Information Systems and Services Use Cases / Scenarios Requirements Integrated Architecture Process Capability We use architecture as the focal point for performing ongoing analyses to gain increasing levels of confidence that systems will support their missions. [1] Customer Needs and System Concerns Agile Development [1] SEI Architecture-Centric Engineering Initiative, http://resources.sei.cmu.edu/library/asset-view.cfm?assetid=28284 March 21, 2017 9
2. The End March 21, 2017 10
Deterministically Delivering Reliable Capabilities Evolutionary Architecture Manage Technical Complexity and Risk Incrementally Delivered Capabilities Synchronized Implementation & Architecture Extend and Sustain Architecture Agile Development Data and Information Systems and Services Use Cases / Scenarios Requirements Integrated Architecture Process Continuous Verification and Validation Capability Synchronized Architecture, Implementation & Documentation Rapid Capability Delivery Streamlined System Evolution Predictable System Quality Customer Needs and System Concerns March 21, 2017 11
Deterministically Delivering Reliable, Incremental Capabilities Evolutionary Architecture Manage Technical Complexity and Risk Incrementally Delivered Capabilities Synchronized Implementation & Architecture Extend and Sustain Architecture Data and Information Systems and Services Use Cases / Scenarios Requirements Integrated Architecture Process Capability Architecture and Implementation are both open, adaptable, stable and readily support future extensions Customer Needs and System Concerns Agile Development Continuous Verification and Validation March 21, 2017 12
3. The Middle March 21, 2017 13
Integrated, Evolving Architecture Govern and Drive Agile Development Incrementally Delivered Capabilities Synchronized Implementation & Architecture More Concrete Elements, Increased Certainty Manage Technical Complexity and Risk Evolutionary Architecture Extend and Sustain Architecture Revised Use Cases/Scenarios Validation and Verification Results Data and Information Systems and Services Use Cases / Scenarios Requirements Integrated Architecture Process Capability Parallel sprint team efforts remain integrated via architecture Plan Releases around capabilities Plan Sprints around incremental capability delivery Validate sprint outputs against Use Case/Scenario specifications Customer Needs and System Concerns Sprint N Sprint 6 Sprint 5 Sprint 4 Sprint 3 Sprint 2 Sprint 1 Agile Development and Testing Continuous Verification and Validation Lower-Level Development March 21, 2017 14
Integrated Architecture Govern and Drive Agile Development More Concrete Elements, Increased Certainty Manage Technical Complexity and Risk Evolutionary Architecture Integrated Architecture comprises highly structured information: UML SysML UPDM Standard Incrementally Delivered Capabilities Synchronized Implementation & Architecture Extend and Sustain Architecture Revised Use Cases/Scenarios Validation and Verification Results Data and Information Exchanged Data Persisted Data Migrated Data Systems and Services System/Service structure System/Services interactions Use Cases / Scenarios Actor Triggers Pre/Post Conditions Normal/Alt. Flows Requirements Business/Mission Objectives Tech. Requirements Mission/Business Requirements Rules/Constraints Integrated Architecture Process Operational Activities End-to-End This structure enables effective and thorough engineering planning and analysis of alternatives Capability Business/Mission Capabilities Technical Capabilities Use architecture to drive the agile backlog and facilitate delivering the right capabilities at the right times. Customer Needs and System Concerns Sprint N Sprint 6 Sprint 5 Sprint 4 Sprint 3 Sprint 2 Sprint 1 Agile Development and Testing Continuous Verification and Validation Lower-Level Development March 21, 2017 15
Evolutionary Architecture Drives Agile Development Evolutionary Architecture and Design Requirements Capabilities Viewpoint Operational Viewpoint (Business Processes) Use Cases Incremental approach for architecture and development Capabilities are decomposed into smaller sub-capabilities enabling an evolutionary approach to major changes Data Viewpoint Systems/Services Viewpoint Standards Viewpoint Construction (Implementation) Release Planning Sprint 1 Release/Deploy (1 Sprint) (1 Sprint) Sprint 2 Detailed Design Artifact Creation Sprint Team Iterations Sprint 3 Live Demos Sprint Testing March 21, 2017 16
4. The Beginning March 21, 2017 17
Deliver Business Value Early while Applying Long-term Systems Thinking Incrementally Delivered Capabilities Synchronized Implementation & Architecture More Concrete Elements, Increased Certainty Highly Abstract Elements, More uncertainty Manage Technical Complexity and Risk Evolutionary Architecture Extend and Sustain Architecture Revised Use Cases/Scenarios Validation and Verification Results Data and Information Exchanged Data Persisted Data Migrated Data Systems and Services System/Service structure System/Services interactions Use Cases / Scenarios Actor Triggers Pre/Post Conditions Normal/Alt. Flows Requirements Business/Mission Objectives Tech. Requirements Mission/Business Requirements Rules/Constraints Integrated Architecture Process Operational Activities End-to-End Capability Business/Mission Capabilities Technical Capabilities Establish Conceptual Integrity Sprint N Sprint 6 Sprint 5 Sprint 4 Sprint 3 Sprint 2 Sprint 1 Sprint 0 Agile Development and Testing Lower-Level Development Evolve Architecture Design for Known and Unknown Maximize architectural runway opportunities: Understand Document Analyze Evolve Identify Problems Continuous Verification and Validation Prototyping & High-Level Development Initial Use Cases/Scenarios Capture Reqs. and Quality Attributes Prototyping & Verification/Validation Results Customer Needs and System Concerns March 21, 2017 18
CACI s Model-Driven Design and Implementation for Systems Engineering CACI Model-Driven Programs Enterprise Resource Planning (ERP) COTS: IPPS-A, Procure-to-Pay Case Management: Investigation Workflow Tracking Support Product Lines: Bomber Armament Tester (BAT) Tool Integration: SIMPROCESS with Architecture tooling Automated Document Generation for Use Case Specifications, Testing, CDRLs March 21, 2017 19
CACI s MDDI SE in Action: Automated Document Generation Requirements Repository Business/ Mission & Technical Requirements Business Rules Standards & LRPs Conversion/ Interface Design Configuration & Design Details Metadata & Specifications Enterprise Architecture (GFI) Architecture Tools and Repository Document Templates TRACEABILITY SyRS/SSS to Business Processes Business Rules to Business Processes Data Elements to Interfaces Requirements to Interfaces Standards/LRP to EA Artifacts Interface Requirement Specifications (IRS) Interface Design Descriptions (IDD) Detailed Functional Configuration Design Document (DFCDD) Detailed Technical Design Document (DTDD) Integrated Enterprise Architecture (DoDAF) March 21, 2017 20
5. The Future March 21, 2017 21
The Future: Continuous Evolution Implement additional Federal and Private Sector guidance: Increase architecture precision and expressiveness Architecture Analysis and Design Language (AADL) Systems Modeling Language (SysML) Enable deeper analysis and simulation capabilities Expand DevOps tactics in architecture/design Enhance product automation and integration Embed quality attributes across system architecture elements Enhance analysis of risk factors in architecture/design March 21, 2017 22