a reverse chronology of evolutionary architecture and ... · a reverse chronology of evolutionary...
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