A Reverse Chronology of Evolutionary Architecture and Agile - - PowerPoint PPT Presentation

a reverse chronology of evolutionary architecture and
SMART_READER_LITE
LIVE PREVIEW

A Reverse Chronology of Evolutionary Architecture and Agile - - PowerPoint PPT Presentation

Software Solutions Symposium 2017 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 A Reverse Chronology of


slide-1
SLIDE 1

1

A Reverse Chronology of Evolutionary Architecture and Agile Development March 21, 2017

1

Software Solutions Symposium 2017

CACI International Inc 1100 North Glebe Road Arlington, VA 22201

A Reverse Chronology of Evolutionary Architecture and Agile Development

A Reverse Chronology of Evolutionary Architecture and Agile Development

Gallagher Brian Hanif Mostafa Mielke Thomas

slide-2
SLIDE 2

2

A Reverse Chronology of Evolutionary Architecture and Agile Development March 21, 2017

2

Software Solutions Symposium 2017

Agenda

This half-hour presentation has five brief sections:

  • 2. The End
  • 3. The Middle
  • 4. The Beginning
  • 5. The Future
  • 1. Introduction

Architecture-Centric Engineering Process

slide-3
SLIDE 3

3

A Reverse Chronology of Evolutionary Architecture and Agile Development March 21, 2017

3

Software Solutions Symposium 2017

A Reverse Chronology of Evolutionary Architecture and Agile Development

A Reverse Chronology of Evolutionary Architecture and Agile Development

  • 1. Introduction
slide-4
SLIDE 4

4

A Reverse Chronology of Evolutionary Architecture and Agile Development March 21, 2017

4

Software Solutions Symposium 2017

Approaching Systems Engineering

Delivered Capabilities Customer Needs and System Concerns

See SEI’s “Patterns of Failure: System Archetypes” http://www.sei.cmu.edu/acquisition/research/pofsa.cfm

End State Starting State

slide-5
SLIDE 5

5

A Reverse Chronology of Evolutionary Architecture and Agile Development March 21, 2017

5

Software Solutions Symposium 2017

Improvised Systems Engineering: A Story of Scrambling and Confusion

Delivered Capabilities Customer Needs and System Concerns

See SEI’s “Patterns of Failure: System Archetypes” http://www.sei.cmu.edu/acquisition/research/pofsa.cfm

What am I doing today?

?

slide-6
SLIDE 6

6

A Reverse Chronology of Evolutionary Architecture and Agile Development March 21, 2017

6

Software Solutions Symposium 2017

Improvised Systems Engineering = Improvised Decisions

Delivered Capabilities Customer Needs and System Concerns

Failure Partial Success Complete Success

See SEI’s “Patterns of Failure: System Archetypes” http://www.sei.cmu.edu/acquisition/research/pofsa.cfm

What am I doing today?

?

slide-7
SLIDE 7

7

A Reverse Chronology of Evolutionary Architecture and Agile Development March 21, 2017

7

Software Solutions Symposium 2017

Conducting Repeatable, Deterministic Systems Engineering with Evolutionary Architecture + Agile Development

Customer Needs and System Concerns

Evolutionary Architecture Agile Development

Coordinated Efficient Adaptive

  • Incrementally Delivered

Capabilities

slide-8
SLIDE 8

8

A Reverse Chronology of Evolutionary Architecture and Agile Development March 21, 2017

8

Software Solutions Symposium 2017

Integrated, Evolving Architecture Enables Deterministic Systems Engineering

Customer Needs and System Concerns

Requirements Capability Models Process Models Use Cases / Scenarios Data and Information Models Systems and Services Models

Evolutionary Architecture Agile Development

Integrated Architecture

Integrated Architecture helps Systems Engineering teams effectively collaborate to achieve mission and business goals

Incrementally Delivered Capabilities

slide-9
SLIDE 9

9

A Reverse Chronology of Evolutionary Architecture and Agile Development March 21, 2017

9

Software Solutions Symposium 2017

Integrated, Evolving Architecture as the Systems Engineering centerpiece

Customer Needs and System Concerns

Requirements Capability Models Process Models Use Cases / Scenarios Data and Information Models Systems and Services Models

Evolutionary Architecture Agile Development

Integrated Architecture

[1] SEI Architecture-Centric Engineering Initiative, http://resources.sei.cmu.edu/library/asset-view.cfm?assetid=28284

“We use architecture as the focal point for performing ongoing analyses to gain increasing levels of confidence that systems will support their missions.”[1]

Incrementally Delivered Capabilities

slide-10
SLIDE 10

10

A Reverse Chronology of Evolutionary Architecture and Agile Development March 21, 2017

10

Software Solutions Symposium 2017

A Reverse Chronology of Evolutionary Architecture and Agile Development

A Reverse Chronology of Evolutionary Architecture and Agile Development

  • 2. The End
slide-11
SLIDE 11

11

A Reverse Chronology of Evolutionary Architecture and Agile Development March 21, 2017

11

Software Solutions Symposium 2017

Deterministically Delivering Reliable Capabilities

Evolutionary Architecture Agile Development

Synchronized Implementation & Architecture

Customer Needs and System Concerns Incrementally Delivered Capabilities

Requirements Capability Models Process Models Use Cases / Scenarios Data and Information Models Systems and Services Models

Integrated Architecture

Continuous Verification and Validation Manage Technical Complexity and Risk

  • Synchronized Architecture, Implementation & Documentation
  • Rapid Capability Delivery
  • Streamlined System Evolution
  • Predictable System Quality

Extend and Sustain Architecture

slide-12
SLIDE 12

12

A Reverse Chronology of Evolutionary Architecture and Agile Development March 21, 2017

12

Software Solutions Symposium 2017

Deterministically Delivering Reliable, Incremental Capabilities

Evolutionary Architecture Agile Development

Synchronized Implementation & Architecture

Customer Needs and System Concerns

Requirements Capability Models Process Models Use Cases / Scenarios Data and Information Models Systems and Services Models Extend and Sustain Architecture

Integrated Architecture

Architecture and Implementation are both open, adaptable, stable and readily support future extensions

Continuous Verification and Validation Manage Technical Complexity and Risk

Incrementally Delivered Capabilities

slide-13
SLIDE 13

13

A Reverse Chronology of Evolutionary Architecture and Agile Development March 21, 2017

13

Software Solutions Symposium 2017

A Reverse Chronology of Evolutionary Architecture and Agile Development

A Reverse Chronology of Evolutionary Architecture and Agile Development

  • 3. The Middle
slide-14
SLIDE 14

14

A Reverse Chronology of Evolutionary Architecture and Agile Development March 21, 2017

14

Software Solutions Symposium 2017

Integrated, Evolving Architecture Models Govern and Drive Agile Development

Lower-Level Development Synchronized Implementation & Architecture Revised Use Cases/Scenarios Validation and Verification Results

Customer Needs and System Concerns

Agile Development and Testing

Continuous Verification and Validation Manage Technical Complexity and Risk

Requirements Capability Models Process Models Use Cases / Scenarios Data and Information Models Systems and Services Models

Integrated Architecture

Sprint N… Sprint 6 Sprint 5 Sprint 4 Sprint 3 Sprint 2 Sprint 1

Parallel sprint team efforts remain integrated via architecture

More Concrete Elements, Increased Certainty

  • Plan Releases around capabilities
  • Plan Sprints around incremental

capability delivery

  • Validate sprint outputs against Use

Case/Scenario specifications

Evolutionary Architecture

Extend and Sustain Architecture

Incrementally Delivered Capabilities

slide-15
SLIDE 15

15

A Reverse Chronology of Evolutionary Architecture and Agile Development March 21, 2017

15

Software Solutions Symposium 2017

Integrated Architecture Models Govern and Drive Agile Development

Evolutionary Architecture

Lower-Level Development Synchronized Implementation & Architecture Requirements

  • Business/Mission

Objectives

  • Tech. Requirements
  • Mission/Business

Requirements

  • Rules/Constraints

Capability Models

  • Business/Mission

Capabilities

  • Technical Capabilities

Process Models

  • Operational

Activities

  • End-to-End

Use Cases / Scenarios

  • Actor
  • Triggers
  • Pre/Post Conditions
  • Normal/Alt. Flows

Data and Information Models

  • Exchanged Data
  • Persisted Data
  • Migrated Data

Systems and Services Models

  • System/Service

structure

  • System/Services

interactions

Revised Use Cases/Scenarios Validation and Verification Results

Customer Needs and System Concerns

Sprint N… Sprint 6 Sprint 5 Sprint 4 Sprint 3 Sprint 2 Sprint 1

Agile Development and Testing

Integrated Architecture

Continuous Verification and Validation Manage Technical Complexity and Risk

Integrated Architecture comprises highly structured information: UML – SysML – UPDM Standard This structure enables effective and thorough engineering planning and analysis of alternatives Use architecture to drive the agile backlog and facilitate delivering the right capabilities at the right times.

More Concrete Elements, Increased Certainty

Extend and Sustain Architecture

Incrementally Delivered Capabilities

slide-16
SLIDE 16

16

A Reverse Chronology of Evolutionary Architecture and Agile Development March 21, 2017

16

Software Solutions Symposium 2017

Sprint 2 Sprint 3

Evolutionary Architecture Drives Agile Development

  • Incremental approach for

architecture and development

  • Capabilities are

decomposed into smaller sub-capabilities enabling an evolutionary approach to major changes

Release Planning

Sprint 1

Release/Deploy (1 Sprint) (1 Sprint)

Evolutionary Architecture and Design

Requirements Capabilities Viewpoint Operational Viewpoint (Business Processes)

Use Cases

Data Viewpoint Systems/Services Viewpoint Standards Viewpoint

Artifact Creation Sprint Testing Live Demos Detailed Design

Sprint Team Iterations

Construction (I mplementation)

slide-17
SLIDE 17

17

A Reverse Chronology of Evolutionary Architecture and Agile Development March 21, 2017

17

Software Solutions Symposium 2017

A Reverse Chronology of Evolutionary Architecture and Agile Development

A Reverse Chronology of Evolutionary Architecture and Agile Development

  • 4. The Beginning
slide-18
SLIDE 18

18

A Reverse Chronology of Evolutionary Architecture and Agile Development March 21, 2017

18

Software Solutions Symposium 2017

Deliver Business Value Early while Applying Long-term Systems Thinking

Evolutionary Architecture

Highly Abstract Elements, More uncertainty More Concrete Elements, Increased Certainty Prototyping & High-Level Development Initial Use Cases/Scenarios Prototyping & Verification/Validation Results Synchronized Implementation & Architecture Requirements

  • Business/Mission

Objectives

  • Tech. Requirements
  • Mission/Business

Requirements

  • Rules/Constraints

Capability Models

  • Business/Mission

Capabilities

  • Technical Capabilities

Process Models

  • Operational

Activities

  • End-to-End

Use Cases / Scenarios

  • Actor
  • Triggers
  • Pre/Post Conditions
  • Normal/Alt. Flows

Data and Information Models

  • Exchanged Data
  • Persisted Data
  • Migrated Data

Systems and Services Models

  • System/Service

structure

  • System/Services

interactions

Revised Use Cases/Scenarios

Customer Needs and System Concerns

Sprint N… Sprint 6 Sprint 5 Sprint 4 Sprint 3 Sprint 2 Sprint 1 Sprint 0

Integrated Architecture

Establish Conceptual Integrity

Validation and Verification Results Lower-Level Development

Agile Development and Testing

Evolve Architecture Design for Known and Unknown Identify Problems Capture Reqs. and Quality Attributes

Maximize architectural runway opportunities: Understand – Document – Analyze – Evolve

Continuous Verification and Validation Manage Technical Complexity and Risk

Extend and Sustain Architecture

Incrementally Delivered Capabilities

slide-19
SLIDE 19

19

A Reverse Chronology of Evolutionary Architecture and Agile Development March 21, 2017

19

Software Solutions Symposium 2017

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
slide-20
SLIDE 20

20

A Reverse Chronology of Evolutionary Architecture and Agile Development March 21, 2017

20

Software Solutions Symposium 2017

CACI’s MDDI SE in Action: Automated Document Generation

  • SyRS/SSS to Business Processes
  • Business Rules to Business Processes
  • Data Elements to Interfaces
  • Requirements to Interfaces
  • Standards/LRP to EA Artifacts

Requirements Repository

Architecture Tools and Repository

Enterprise Architecture (GFI)

Interface Requirement Specifications (IRS) Detailed Functional Configuration Design Document (DFCDD) Detailed Technical Design Document (DTDD)

TRACEABILITY

Interface Design Descriptions (IDD) Integrated Enterprise Architecture (DoDAF)

Document Templates

Business/ Mission & Technical Requirements Business Rules Conversion/ Interface Design Configuration & Design Details Metadata & Specifications Standards & LRPs

slide-21
SLIDE 21

21

A Reverse Chronology of Evolutionary Architecture and Agile Development March 21, 2017

21

Software Solutions Symposium 2017

A Reverse Chronology of Evolutionary Architecture and Agile Development

A Reverse Chronology of Evolutionary Architecture and Agile Development

  • 5. The Future
slide-22
SLIDE 22

22

A Reverse Chronology of Evolutionary Architecture and Agile Development March 21, 2017

22

Software Solutions Symposium 2017

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

The Future: Continuous Evolution