a reverse chronology of evolutionary architecture and ... · a reverse chronology of evolutionary...

22
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

Upload: others

Post on 29-May-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

1A Reverse Chronology of Evolutionary Architecture and Agile DevelopmentMarch 21, 2017 1

Software Solutions Symposium 2017

CACI International Inc1100 North Glebe RoadArlington, VA 22201

A Reverse Chronology of Evolutionary Architecture and Agile Development

A Reverse Chronology of Evolutionary Architecture and Agile DevelopmentGallagher BrianHanif MostafaMielke Thomas

2A Reverse Chronology of Evolutionary Architecture and Agile DevelopmentMarch 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

3A Reverse Chronology of Evolutionary Architecture and Agile DevelopmentMarch 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

4A Reverse Chronology of Evolutionary Architecture and Agile DevelopmentMarch 21, 2017 4

Software Solutions Symposium 2017

Approaching Systems EngineeringDe

liver

ed C

apab

ilitie

s

Cust

omer

Nee

ds a

nd S

yste

m C

once

rns

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

End State

StartingState

5A Reverse Chronology of Evolutionary Architecture and Agile DevelopmentMarch 21, 2017 5

Software Solutions Symposium 2017

Improvised Systems Engineering: A Story of Scrambling and ConfusionDe

liver

ed C

apab

ilitie

s

Cust

omer

Nee

ds a

nd S

yste

m C

once

rns

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

What am I doing today?

?

6A Reverse Chronology of Evolutionary Architecture and Agile DevelopmentMarch 21, 2017 6

Software Solutions Symposium 2017

Improvised Systems Engineering = Improvised DecisionsDe

liver

ed C

apab

ilitie

s

Cust

omer

Nee

ds a

nd S

yste

m C

once

rns

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?

?

7A Reverse Chronology of Evolutionary Architecture and Agile DevelopmentMarch 21, 2017 7

Software Solutions Symposium 2017

Conducting Repeatable, Deterministic Systems Engineering withEvolutionary Architecture + Agile Development

Cust

omer

Nee

ds a

nd S

yste

m C

once

rns

Evolutionary Architecture

Agile Development

Coordinated Efficient Adaptive- -

Incr

emen

tally

Del

iver

ed

Capa

bilit

ies

8A Reverse Chronology of Evolutionary Architecture and Agile DevelopmentMarch 21, 2017 8

Software Solutions Symposium 2017

Integrated, Evolving Architecture Enables Deterministic Systems Engineering

Cust

omer

Nee

ds a

nd S

yste

m C

once

rns

Requirements

Capability Models

Process Models

Use Cases / Scenarios

Data and Information

Models

Systems and Services Models

Evolutionary Architecture

Agile Development

IntegratedArchitecture

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

Incr

emen

tally

Del

iver

ed

Capa

bilit

ies

9A Reverse Chronology of Evolutionary Architecture and Agile DevelopmentMarch 21, 2017 9

Software Solutions Symposium 2017

Integrated, Evolving Architecture as the Systems Engineering centerpiece

Cust

omer

Nee

ds a

nd S

yste

m C

once

rns

Requirements

Capability Models

Process Models

Use Cases / Scenarios

Data and Information

Models

Systems and Services Models

Evolutionary Architecture

Agile Development

IntegratedArchitecture

[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]

Incr

emen

tally

Del

iver

ed

Capa

bilit

ies

10A Reverse Chronology of Evolutionary Architecture and Agile DevelopmentMarch 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

11A Reverse Chronology of Evolutionary Architecture and Agile DevelopmentMarch 21, 2017 11

Software Solutions Symposium 2017

Deterministically Delivering Reliable Capabilities

Evolutionary Architecture

Agile Development

Sync

hron

ized

Impl

emen

tatio

n &

Arc

hite

ctur

e

Cust

omer

Nee

ds a

nd S

yste

m C

once

rns

Incr

emen

tally

Del

iver

ed

Capa

bilit

ies

Requirements

Capability Models

Process Models

Use Cases / Scenarios

Data and Information

Models

Systems and Services Models

IntegratedArchitecture

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

12A Reverse Chronology of Evolutionary Architecture and Agile DevelopmentMarch 21, 2017 12

Software Solutions Symposium 2017

Deterministically Delivering Reliable, Incremental Capabilities

Evolutionary Architecture

Agile Development

Sync

hron

ized

Impl

emen

tatio

n &

Arc

hite

ctur

e

Cust

omer

Nee

ds a

nd S

yste

m C

once

rns

Requirements

Capability Models

Process Models

Use Cases / Scenarios

Data and Information

Models

Systems and Services Models

Extend and Sustain Architecture

IntegratedArchitecture

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

Continuous Verification and Validation

Manage Technical Complexity and Risk

Incr

emen

tally

Del

iver

ed

Capa

bilit

ies

13A Reverse Chronology of Evolutionary Architecture and Agile DevelopmentMarch 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

14A Reverse Chronology of Evolutionary Architecture and Agile DevelopmentMarch 21, 2017 14

Software Solutions Symposium 2017

Integrated, Evolving Architecture Models Govern and Drive Agile Development

Lower-Level Development

Sync

hron

ized

Impl

emen

tatio

n &

Arc

hite

ctur

e

Revi

sed

Use

Cas

es/S

cena

rios

Valid

atio

n an

d Ve

rific

atio

n Re

sults

Cust

omer

Nee

ds a

nd S

yste

m C

once

rns

Agile Development and TestingContinuous Verification and Validation

Manage Technical Complexity and Risk

Requirements

Capability Models

Process Models

Use Cases / Scenarios

Data and Information

Models

Systems and Services Models

IntegratedArchitecture

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 specificationsEvolutionary Architecture

Extend and Sustain Architecture

Incr

emen

tally

Del

iver

ed

Capa

bilit

ies

15A Reverse Chronology of Evolutionary Architecture and Agile DevelopmentMarch 21, 2017 15

Software Solutions Symposium 2017

Integrated Architecture Models Govern and Drive Agile Development

Evolutionary Architecture

Lower-Level Development

Sync

hron

ized

Impl

emen

tatio

n &

Arc

hite

ctur

e

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

Revi

sed

Use

Cas

es/S

cena

rios

Valid

atio

n an

d Ve

rific

atio

n Re

sults

Cust

omer

Nee

ds a

nd S

yste

m C

once

rns

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

Agile Development and Testing

IntegratedArchitecture

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

Incr

emen

tally

Del

iver

ed

Capa

bilit

ies

16A Reverse Chronology of Evolutionary Architecture and Agile DevelopmentMarch 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 TeamIterations

Construction(Implementation)

17A Reverse Chronology of Evolutionary Architecture and Agile DevelopmentMarch 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

18A Reverse Chronology of Evolutionary Architecture and Agile DevelopmentMarch 21, 2017 18

Software Solutions Symposium 2017

Deliver Business Value Early while Applying Long-term Systems Thinking

Evolutionary Architecture

Highly Abstract Elements, More uncertaintyMore Concrete Elements, Increased Certainty

Prototyping & High-Level Development

Initi

al U

se C

ases

/Sce

nario

s

Prot

otyp

ing

& V

erifi

catio

n/Va

lidat

ion

Resu

lts

Sync

hron

ized

Impl

emen

tatio

n &

Arc

hite

ctur

e

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

Revi

sed

Use

Cas

es/S

cena

rios

Cust

omer

Nee

ds a

nd S

yste

m C

once

rns

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

IntegratedArchitecture

Establish Conceptual Integrity

Valid

atio

n an

d Ve

rific

atio

n Re

sults

Lower-Level Development

Agile Development and Testing

EvolveArchitecture

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

Incr

emen

tally

Del

iver

ed

Capa

bilit

ies

19A Reverse Chronology of Evolutionary Architecture and Agile DevelopmentMarch 21, 2017 19

Software Solutions Symposium 2017

CACI’s Model-Driven Design and Implementationfor 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

20A Reverse Chronology of Evolutionary Architecture and Agile DevelopmentMarch 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 Toolsand Repository

Enterprise Architecture (GFI)

Interface Requirement Specifications

(IRS)

Detailed Functional Configuration Design

Document(DFCDD)

Detailed Technical Design Document

(DTDD)

TRAC

EABI

LITY

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

21A Reverse Chronology of Evolutionary Architecture and Agile DevelopmentMarch 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

22A Reverse Chronology of Evolutionary Architecture and Agile DevelopmentMarch 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