agile development & systems engineering€¦ · define agile development and systems...

38
Agile Development & Systems Engineering: “The Odd Couple” December 2017 Glenn Tolentino, PhD [email protected] John Wood, PhD [email protected] Copyright © 2017 by Glenn Tolentino & John Wood. Permission granted to INCOSE to publish and use.

Upload: others

Post on 18-Oct-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Agile Development & Systems Engineering€¦ · Define Agile Development and Systems Engineering ... • Individuals and interactions over processes and tools • Working software

Agile Development & Systems Engineering: “The Odd Couple”

December 2017

Glenn Tolentino, PhD

[email protected]

John Wood, PhD

[email protected]

Copyright © 2017 by Glenn Tolentino & John Wood. Permission granted to INCOSE to publish and use.

Page 2: Agile Development & Systems Engineering€¦ · Define Agile Development and Systems Engineering ... • Individuals and interactions over processes and tools • Working software

Presentation Goals

• Define Agile Development and Systems Engineering

• Understand strengths and weaknesses of each discipline

• Describe approach to integrate the disciplines in a manner that maximizes the benefits while minimizing the weaknesses of each

2

Page 3: Agile Development & Systems Engineering€¦ · Define Agile Development and Systems Engineering ... • Individuals and interactions over processes and tools • Working software

The Odd Couple

3Image source: https://resizing.flixster.com/ZvIbrWYxq0kI7w9RfsKzj59nErY=/206x305/v1.bTsxMTIwNzE1OTtqOzE3NTQ0OzEyMDA7MTUzNjsyMDQ4

Page 4: Agile Development & Systems Engineering€¦ · Define Agile Development and Systems Engineering ... • Individuals and interactions over processes and tools • Working software

New Main Characters

4Image source: http://4.bp.blogspot.com/_xtBmdA2H-GE/S5hnV6qWbGI/AAAAAAAABKQ/TVGdBk2MGM8/s400/WhitonEngineer.jpg

Hat Tip – Barclay Brown

Page 5: Agile Development & Systems Engineering€¦ · Define Agile Development and Systems Engineering ... • Individuals and interactions over processes and tools • Working software

What is Agile Development?According to the Agile Alliance:

Agile Software Development is an umbrella term for a set of methods and practices based on the values and principles expressed in the Agile Manifesto.

5Source: https://www.agilealliance.org/agile101/

Page 6: Agile Development & Systems Engineering€¦ · Define Agile Development and Systems Engineering ... • Individuals and interactions over processes and tools • Working software

What is Systems Engineering?

According to INCOSE:

Systems Engineering is an interdisciplinary approach and means to enable the realization of successful systems. It focuses on defining customer needs and required functionality early in the development cycle, documenting requirements, then proceeding with design synthesis and system validation while considering the complete problem:

6

Operations Cost & Schedule

Performance Training & Support

Test Disposal

Manufacturing

Source: http://www.incose.org/AboutSE/WhatIsSE

Page 7: Agile Development & Systems Engineering€¦ · Define Agile Development and Systems Engineering ... • Individuals and interactions over processes and tools • Working software

Project Context

7Image source: http://www.navair.navy.mil/img/uploads/PICT0080.jpg, http://www.navair.navy.mil/img/uploads/E-2D%20Advanced%20Hawkeye%205.jpg, http://www.navair.navy.mil/index.cfm?fuseaction=home.displayplatform&key=c927dd6a-12f6-41f8-9547-9c1ce41a66a5, & http://navylive.dodlive.mil/2014/07/08/naval-aviation-enterprise-10-years-of-advancing-cost-wise-readiness/

Page 8: Agile Development & Systems Engineering€¦ · Define Agile Development and Systems Engineering ... • Individuals and interactions over processes and tools • Working software

Behind the Scenes…

8

Disparate Data Sources

Data Types • IETM

• Faults

• Sensor data

• AC Diagnostics

• Maintenance

• Engineering/Modeling

• Configuration/Supply/Vendor

• Mission

• Training

• Discrepancies

Collect Condition & Store Consolidate/Fuse Consume

Services • Ingest, Parse and/or

condition data

• Transform data as to

support consumers

• Identify data gaps and

notify provider

• Gap fill for missing data

if needed

• Store data in repository

Services • Transform, fuse, consolidate data to support:

• Targeted analytics

• Reporting

• Fleet, logistics, engineering and Readiness

activities

• Persist meta-data in repository

• Provide Common web portal for access to data,

analytics and tools

• Inter-widget communication

Services • Targeted analytics

• Automated alerting

• Automated reporting

• CAP activity services

• Metrics collection/distribution

• Engineering Support

• Logistics Support

• Fleet Support

Data Repository

Engineering

Logistics

Fleet Support

Reports/Alerts

Target Analytics

Common Web Portal, Inter-widget communication,

Data Services

Alerting

Analytics

Reports

Data Mining

Graphic Viewers

Text Mining

CAP Services

Metrics

In Service Support Activities

Corrective Action

Page 9: Agile Development & Systems Engineering€¦ · Define Agile Development and Systems Engineering ... • Individuals and interactions over processes and tools • Working software

Old Perception of SEs

9Image source: http://www.trainsarefun.com/lirr/fresh%20pond/1929brakemanFreshPondWest.jpg & http://www.museumsyndicate.com/images/3/28897.jpg

Page 10: Agile Development & Systems Engineering€¦ · Define Agile Development and Systems Engineering ... • Individuals and interactions over processes and tools • Working software

Old Perception of Agile Developers

10Image source: https://swittersb.files.wordpress.com/2011/10/locomotive-coal.jpg?w=655

Page 11: Agile Development & Systems Engineering€¦ · Define Agile Development and Systems Engineering ... • Individuals and interactions over processes and tools • Working software

Appearance vs. Reality

• Appearance

• SEs appeared to be slowing down progress

• ADs appeared to be advancing efforts quickly

• Reality

• SEs were considering not only the development efforts but also the life-cycle sustainment effects

• ADs were quickly developing products without regard to life-cycle sustainment constraints

11

Page 12: Agile Development & Systems Engineering€¦ · Define Agile Development and Systems Engineering ... • Individuals and interactions over processes and tools • Working software

Results?

At first…

12Image source: http://www.historyinsidepictures.com/siteimages/R57.JPG

Page 13: Agile Development & Systems Engineering€¦ · Define Agile Development and Systems Engineering ... • Individuals and interactions over processes and tools • Working software

Results?

13Image source: https://upload.wikimedia.org/wikipedia/commons/1/19/Train_wreck_at_Montparnasse_1895.jpg

But then…

Page 14: Agile Development & Systems Engineering€¦ · Define Agile Development and Systems Engineering ... • Individuals and interactions over processes and tools • Working software

And the SEs response…

14

Page 15: Agile Development & Systems Engineering€¦ · Define Agile Development and Systems Engineering ... • Individuals and interactions over processes and tools • Working software

And the SEs response…

15

I told you so!!

(No, not really.)

Page 16: Agile Development & Systems Engineering€¦ · Define Agile Development and Systems Engineering ... • Individuals and interactions over processes and tools • Working software

Why did this happen?

• Remember the definitions…

16

Page 17: Agile Development & Systems Engineering€¦ · Define Agile Development and Systems Engineering ... • Individuals and interactions over processes and tools • Working software

Why did this happen?• Agile Software Development is an umbrella term for a set of methods and practices based on the values

and principles expressed in the Agile Manifesto.

• Individuals and interactions over processes and tools

• Working software over comprehensive documentation

• Customer collaboration over contract negotiation

• Responding to change over following a plan

• Systems Engineering is an interdisciplinary approach and means to enable the realization of successful systems. It focuses on defining customer needs and required functionality early in the development cycle, documenting requirements, then proceeding with design synthesis and system validation while considering the complete problem:

• Operations

• Cost & Schedule

• Performance

• Training & Support

• Test

• Disposal

• Manufacturing17

Source: https://www.agilealliance.org/agile101/ & http://www.incose.org/AboutSE/WhatIsSE

Page 18: Agile Development & Systems Engineering€¦ · Define Agile Development and Systems Engineering ... • Individuals and interactions over processes and tools • Working software

Symptoms of Uncontrolled Development

• Building tools without regard to how they will be owned, maintained, governed, etc.

• Building tools without regard to operating and sustainment costs

• Building tools without regard to applicable policy (e.g., requirement for Authority to Operate on DoD networks)

• Building tools without regard to future plans (i.e., no product roadmap)

• Building tools without regard to future plans of interfaces and inherited components (e.g., end of life dates for commercial software)

• Building tools without regard to site constraints (e.g., available servers, CPUs, data storage, HVAC, power)

18

Page 19: Agile Development & Systems Engineering€¦ · Define Agile Development and Systems Engineering ... • Individuals and interactions over processes and tools • Working software

How to fix?

• Engineer a collaborative environment that maximizes ADs ability to develop quickly while empowering SEs to influence design

19

Page 20: Agile Development & Systems Engineering€¦ · Define Agile Development and Systems Engineering ... • Individuals and interactions over processes and tools • Working software

Key Tools

• 3-Tier Roadmap –Show the big picture

• Systems Engineering Plan – Introduce structured approach

• Change Control Board – Allow for inevitable change

• Prioritization and Task Monitoring –Visually measure progress

PLUS

• Understanding of Culture Change

20

• 3-Tier Roadmap

• Systems Engineering Plan

• Change Control Board

• Prioritization and Task Monitoring

Page 21: Agile Development & Systems Engineering€¦ · Define Agile Development and Systems Engineering ... • Individuals and interactions over processes and tools • Working software

3-Tier Roadmap

21

Page 22: Agile Development & Systems Engineering€¦ · Define Agile Development and Systems Engineering ... • Individuals and interactions over processes and tools • Working software

Execution Tips

• Engage key developers one-on-one, building understanding, relationships, and trust

• Use Post It exercise to capture ideas, align to timeframes, and cluster related concepts

• Ensure to capture viewpoints of other key stakeholders (e.g., sponsor, users, etc.)

22

Page 23: Agile Development & Systems Engineering€¦ · Define Agile Development and Systems Engineering ... • Individuals and interactions over processes and tools • Working software

Systems Engineering Plan

23

Business Case Analysis Software Development Plan

Test Plan Test Report

Schedule Product Support Plan

Page 24: Agile Development & Systems Engineering€¦ · Define Agile Development and Systems Engineering ... • Individuals and interactions over processes and tools • Working software

Execution Tips

• Avoid the appearance of Waterfall approach (the nemesis of Agile!)

• Vee model concepts are solid, but many developers equate the Vee model to waterfall approach

• Embed SEs with the development team to complete required documentation

• Remember: ADs value “working software over comprehensive documentation”

24

Page 25: Agile Development & Systems Engineering€¦ · Define Agile Development and Systems Engineering ... • Individuals and interactions over processes and tools • Working software

Change Control Board

25

Page 26: Agile Development & Systems Engineering€¦ · Define Agile Development and Systems Engineering ... • Individuals and interactions over processes and tools • Working software

Execution Tips

• Have ADs actively participate in change request review and approval

• Have ADs dictate the level of documentation required for them to make a decision

• Remember: ADs value “working software over comprehensive documentation”

26

Page 27: Agile Development & Systems Engineering€¦ · Define Agile Development and Systems Engineering ... • Individuals and interactions over processes and tools • Working software

Prioritization and Task Monitoring

27

Page 28: Agile Development & Systems Engineering€¦ · Define Agile Development and Systems Engineering ... • Individuals and interactions over processes and tools • Working software

Execution Tips

• Leverage Scrum Board style visualization tools

• Allow individual teams to define process within each state and requirements to progress to the next state (e.g., moving from “In Progress” to “Review”)

28

Page 29: Agile Development & Systems Engineering€¦ · Define Agile Development and Systems Engineering ... • Individuals and interactions over processes and tools • Working software

But processes and tools are NOT enough…

29Image source: https://pontusstaunstrupdotcom.files.wordpress.com/2014/08/culture-eats-strategy-for-breakfast.png

“Culture eats

Strategy for

Breakfast”

- Peter Drucker

Page 30: Agile Development & Systems Engineering€¦ · Define Agile Development and Systems Engineering ... • Individuals and interactions over processes and tools • Working software

Two Culture Change Frameworks

• Strategic Level

• John Kotter’s 8-step model

• Tactical Level

• Gleicher’s change formula

30

Page 31: Agile Development & Systems Engineering€¦ · Define Agile Development and Systems Engineering ... • Individuals and interactions over processes and tools • Working software

John Kotter’s 8-step Model

31Image source: http://gtwebmarque.com/wikis/gtwm/images/8/82/Kotter.gif

Page 32: Agile Development & Systems Engineering€¦ · Define Agile Development and Systems Engineering ... • Individuals and interactions over processes and tools • Working software

Gleicher’s Change Formula

32

(Dissatisfaction) (Vision) (First Steps) (Resistance to Change)

Page 33: Agile Development & Systems Engineering€¦ · Define Agile Development and Systems Engineering ... • Individuals and interactions over processes and tools • Working software

Gleicher’s Change Formula(modified by John Sahlin, PhD)

33

(Number of Change Efforts)

Page 34: Agile Development & Systems Engineering€¦ · Define Agile Development and Systems Engineering ... • Individuals and interactions over processes and tools • Working software

Missing Elements

34Image source: http://day-by-day.park.bz/2011/02/can-design-drive-organisational-change/

Page 35: Agile Development & Systems Engineering€¦ · Define Agile Development and Systems Engineering ... • Individuals and interactions over processes and tools • Working software

Execution Tips

• Have realistic expectations

• “It’s harder than expected, takes longer than planned, and there’s usually a crisis.” – Thom Walsh, PhD

• Constantly communicate the vision

• Build momentum by taking credit for early wins

35

Page 36: Agile Development & Systems Engineering€¦ · Define Agile Development and Systems Engineering ... • Individuals and interactions over processes and tools • Working software

Results?

36Image source: https://en.wikipedia.org/wiki/Golden_spike#/media/File:East_and_West_Shaking_hands_at_the_laying_of_last_rail_Union_Pacific_Railroad_-_Restoration.jpg

Page 37: Agile Development & Systems Engineering€¦ · Define Agile Development and Systems Engineering ... • Individuals and interactions over processes and tools • Working software

Q&A

37

Page 38: Agile Development & Systems Engineering€¦ · Define Agile Development and Systems Engineering ... • Individuals and interactions over processes and tools • Working software

In Conclusion

• ADs are great at developing fast

• SEs are great at seeing the big picture as well as managing both near- and long-term risks

• Get the most out of both by creating a collaborative environment that maximizes ADs ability to develop quickly while empowering SEs to influence design

• Be prepared – Culture change is hard and takes significant time

• Key tips:

• Involve ADs in the development and execution of tools (create a sense of ownership and control)

• Shift documentation burden away from ADs

• Avoid the appearance of waterfall

• Embrace appearance of agile and scrum38