Defining Agile SE

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 20

Defining Agile SE Agile Systems Development

Defining Agile SE
They say that ‘to
to dissect is to kill
kill’ but let
let’s
s risk
some collateral damage

Jim Brake
Lockheed Martin IS&GS, Senior Manager
jim.brake@lmco.com 719-277-5438

Michael Coughenour
Lockheed Martin IS&GS, System Engineering Technologist;
INCOSE Agile SE WG Co-Chair
mike.coughenour@lmco.com 618-910-0133

B d Newman
Brad N
Lockheed Martin IS&GS, MBSE SME
bradford.j.newman@lmco.com 719-277-4118
© 2013 Lockheed Martin Corporation. All Rights Reserved. 1
The World Through the Lens of an SE
Defining Agile SE Agile Systems Development

 To properly and effectively create a solution we must:


– Understand the problem
– Effectively describe it
– Methodically create and communicate it
 This is true of all efforts regardless of their size or life cycle
model
 These SE activities must be performed whether or not they
carry the SE label
 These activities can be time-boxed as appropriate

© 2013 Lockheed Martin Corporation. All Rights Reserved. 2


Defining Agile SE Agile Systems Development

© 2013 Lockheed Martin Corporation. All Rights Reserved. 3


Topics
Defining Agile SE Agile Systems Development

 They say “Agile Program” – What do they really mean?


– Traditional SE Managed as Agile
– Traditional SE with Agile Development
– Traditionally managed Evolutionary Agile SE technical approaches (Plan
driven))
 Scaled SE with Traditional Development Balancing
Prescriptive
 Scaled SE as precursor (leading) to Agile Development and Emergent
– “Agilely”
Agilely Managed Evolutionary Agile technical approaches
 Ad-hoc SE driven by Agile Development (essentially no prescriptive
design)
 Scaled SE as precursor (leading) to Agile Development (the whole
enchilada)
– Expedited SE – Traditional or Agile Management
– Combinations of approaches
pp on complex
p p
programs
g
 Examples of Scaled SE Technical Practices
© 2013 Lockheed Martin Corporation. All Rights Reserved. 4
Agile Management Practices
Defining Agile SE Agile Systems Development

 Short, Time-Boxed Iterations with Frequent Deliveries


 Continuous
C ti Planning
Pl i
 Small, Self-Directed Teams
 Early and Frequent Stakeholder Involvement
 Daily Standup Meetings
 Frequent Feedback/Early Learning (e.g. retrospectives)
 Backlog Driven Management

 Examples
E l off Popular
P l Approaches
A h
– Scrum
– Scaled Agile Framework (SAFe) (Leffingwell)
– A il P
Agile Project
j tMManagementt (APM) F Framework
k (Hi
(Highsmith)
h ith)
– Disciplined Agile Delivery (DAD) (Ambler)

© 2013 Lockheed Martin Corporation. All Rights Reserved. 5


Agile Technical Practices
Defining Agile SE Agile Systems Development

 Test-driven Development (TDD)


 Automated
A t t d Testing
T ti
 Continuous Integration (CI)
 Paired Programming
 Scaled Architecture

© 2013 Lockheed Martin Corporation. All Rights Reserved. 6


Traditional SE on a Traditional Program
Defining Agile SE Agile Systems Development

We have been doing this one for


decades…

© 2013 Lockheed Martin Corporation. All Rights Reserved. 7


Traditional SE Managed as Agile
Defining Agile SE Agile Systems Development

 Management Approach  Technical Practices Employed


– Program Management – SE approach
Approach  Prescriptive design
 Heterogeneous or  Traditional technical practices
Homogeneous
– Development approach
– Project Management
 Traditional or Agile Development
Approach
practices
 Value driven
What might the agile management of Requirements Development look like?
Begin Bounding Context Spec
Spec Complete
Baseline Baseline Baseline Baseline

Develop Develop Develop Develop


Some More More More
Reqs Reqs Reqs Reqs

Knowledge Knowledge Knowledge


© 2013 Lockheed Martin Corporation. All Rights Reserved. 8
Traditional SE with Agile Development
Defining Agile SE Agile Systems Development

 Management Approach
– Program
g Management
g Approach  Homogeneous or Heterogeneous
– Project Management Approach  Plan or Value Driven
 Technical Practices Employed
– SE approach
 Will prescribe system architecture
– But will allow for emergence at lower levels handled by change management
from an SE Perspective (Retrospectives)
 Traditional
– Development approach  Agile SW/HW practices

Traditional
T diti l Agile
A il IIntegration
t ti &
O&M
System Design Development Verification

© 2013 Lockheed Martin Corporation. All Rights Reserved. 9


Traditionally Managed, Evolutionary Agile
SE Technical Approaches
Defining Agile SE Agile Systems Development

 2 Flavors
– With Traditional Development
p
– As a Precursor to Agile Development

Waterfall / Traditional Agile


Requirements
(Scope) Resources Date
FIXED

VALUE
DRIVEN

PLAN
DRIVEN
ESTIMATED
R
Resources D t
Date Requirements
(Scope)
Source: Leffingwell, Dean. “Agile Software Requirements”. Boston MA: Addison-Wesley, 2011

© 2013 Lockheed Martin Corporation. All Rights Reserved. 10


Traditionally Managed,
Scaled SE with Traditional Development
Defining Agile SE Agile Systems Development

 Management Approach
– Program Management Approach  Homogeneous or Heterogeneous
– Project Management Approach  Plan Driven
 Technical Practices Employed
– SE approach
 Emergent design on SE Products
 Evolution
 Minimal Documentation post development (essential only)
– Development approach
 Traditional Development practices

Scaled System Traditional Integration &


O&M
Design Development Verification

© 2013 Lockheed Martin Corporation. All Rights Reserved. 11


Traditionally Managed, Scaled SE as
Precursor to (enabling) Agile Development
Defining Agile SE Agile Systems Development

 Management Approach
– Program Management Approach  Homogeneous or Heterogeneous
– Project Management Approach  Plan Driven
 Technical Practices Employed
– SE approach
 Emergent
 Evolution
 Minimal Documentation post development (essential only)
– Development approach: Agile

Scaled System Agile IIntegration


i &
O&M
Design Development Verification

© 2013 Lockheed Martin Corporation. All Rights Reserved. 12


Defining Agile SE Agile Systems Development

© 2013 Lockheed Martin Corporation. All Rights Reserved. 13


“Agilely” Managed ,
AD--hoc SE Driven by Agile Development
AD
Defining Agile SE Agile Systems Development

 Management Approach
– Program Management Approach  Homogeneous or Heterogeneous
– Project Management Approach  Value Driven
 Technical Practices Employed
– SE approach
 Non prescriptive, all emergent design
 Evolutionary
– Development
p approach
pp  Agile
g HW/SW p practices
Project S Bounding persistent requirements and architecture context Project
Initiation E Some Req’s Some Req’s Some Req’s Some Req’s Close
S Deploy S Deploy S Deploy S Deploy
E E E E
Design Design Design Design
Test Test Test Test
Develop Develop Develop Develop
Integrate Integrate Integrate Integrate

Full system integration context

Knowledge Knowledge Knowledge


© 2013 Lockheed Martin Corporation. All Rights Reserved. 14
“Agilely” Managed , Scaled SE as Precursor to
Agile Development – The Whole Enchilada!
Defining Agile SE Agile Systems Development

 Management Approach
– Program
g Management
g Approach
pp  Heterogeneous
g
– Project Management Approach  Value Driven
 Technical Practices Employed
– SE approach
 Emergent Design
 Evolutionary
– Development approach  Agile Development Practices
Full System Integration Context
Prescriptive SE Prescriptive Engineering
Baseline Baseline S Deploy S Deploy
p y S Deploy
p y
E E E
Scaled Scaled Design Design Design
SE
(MA, RA,
… SE
(MA, RA,
Test
Develop
Test Test
Develop
Develop
Arch) Arch) Integrate Integrate Integrate

Knowledge Knowledge Knowledge Knowledge


© 2013 Lockheed Martin Corporation. All Rights Reserved. 15
Expedited SE – Traditional or Agile
Management
Defining Agile SE Agile Systems Development

 Management Approach
– Program Management Approach  Homogeneous
H or Heterogeneous
H t
– Project Management Approach  Plan or Value Driven
 Technical Practices Employed
– SE approach
 Prescriptive Design
 Lean
– Development approach
 Traditional or Agile HW/SW practices

Expedited SE is Performing “Just Enough” Systems Engineering to Develop the Solution

© 2013 Lockheed Martin Corporation. All Rights Reserved. 16


Combinations of Approaches on Complex
Programs
Defining Agile SE Agile Systems Development

 Depending on the complexity, one can use a number of


different approaches effectively
– The approach may be driven by “Wicked Problems” [1]
 You don't understand the problem until you have developed a solution
 Wicked problems have no stopping rule
 Solutions to wicked problems are not right or wrong, simply "better," "worse,"
"good enough," or "not good enough"
 Every wicked problem is essentially unique and novel
 Every solution to a wicked problem is a "one-shot operation"
 Wicked problems have no given alternative solutions
 This mix of p
possible agile
g approaches
pp results in a number of
variants of “agile” programs

[1] Rittel, Horst W. J.; Melvin M. Webber (1973). "Dilemmas


Dilemmas in a General Theory of Planning“
Planning

There is much to learn in regard to which variants work best for a given effort

© 2013 Lockheed Martin Corporation. All Rights Reserved. 17


Defining Agile SE Agile Systems Development

© 2013 Lockheed Martin Corporation. All Rights Reserved. 18


Scaled Solution Description (Architecture)
Defining Agile SE Agile Systems Development

Back of the  Statically  Dynamically 


Whiteboard Diagrammed
Envelope Modeled Modeled

Technical Maturity

Technical Rigor

Design Uncertainty

Technical Execution Risk

Problem Complexity

© 2013 Lockheed Martin Corporation. All Rights Reserved. 19


Questions and/or Comments?
Defining Agile SE Agile Systems Development

© 2013 Lockheed Martin Corporation. All Rights Reserved. 20

You might also like