agile development & systems engineering€¦ · define agile development and systems...
TRANSCRIPT
Agile Development & Systems Engineering: “The Odd Couple”
December 2017
Glenn Tolentino, PhD
John Wood, PhD
Copyright © 2017 by Glenn Tolentino & John Wood. Permission granted to INCOSE to publish and use.
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
The Odd Couple
3Image source: https://resizing.flixster.com/ZvIbrWYxq0kI7w9RfsKzj59nErY=/206x305/v1.bTsxMTIwNzE1OTtqOzE3NTQ0OzEyMDA7MTUzNjsyMDQ4
New Main Characters
4Image source: http://4.bp.blogspot.com/_xtBmdA2H-GE/S5hnV6qWbGI/AAAAAAAABKQ/TVGdBk2MGM8/s400/WhitonEngineer.jpg
Hat Tip – Barclay Brown
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/
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
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/
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
Old Perception of SEs
9Image source: http://www.trainsarefun.com/lirr/fresh%20pond/1929brakemanFreshPondWest.jpg & http://www.museumsyndicate.com/images/3/28897.jpg
Old Perception of Agile Developers
10Image source: https://swittersb.files.wordpress.com/2011/10/locomotive-coal.jpg?w=655
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
Results?
At first…
12Image source: http://www.historyinsidepictures.com/siteimages/R57.JPG
Results?
13Image source: https://upload.wikimedia.org/wikipedia/commons/1/19/Train_wreck_at_Montparnasse_1895.jpg
But then…
And the SEs response…
14
And the SEs response…
15
I told you so!!
(No, not really.)
Why did this happen?
• Remember the definitions…
16
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
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
How to fix?
• Engineer a collaborative environment that maximizes ADs ability to develop quickly while empowering SEs to influence design
19
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
3-Tier Roadmap
21
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
Systems Engineering Plan
23
Business Case Analysis Software Development Plan
Test Plan Test Report
Schedule Product Support Plan
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
Change Control Board
25
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
Prioritization and Task Monitoring
27
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
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
Two Culture Change Frameworks
• Strategic Level
• John Kotter’s 8-step model
• Tactical Level
• Gleicher’s change formula
30
John Kotter’s 8-step Model
31Image source: http://gtwebmarque.com/wikis/gtwm/images/8/82/Kotter.gif
Gleicher’s Change Formula
32
(Dissatisfaction) (Vision) (First Steps) (Resistance to Change)
Gleicher’s Change Formula(modified by John Sahlin, PhD)
33
(Number of Change Efforts)
Missing Elements
34Image source: http://day-by-day.park.bz/2011/02/can-design-drive-organisational-change/
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
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
Q&A
37
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