Upload
dolien
View
217
Download
0
Embed Size (px)
Citation preview
8/13/14
1
Agile and Six Sigma. How do they mix together?
Mohamed Amr
Mohamed Amr (Agile Academy) [email protected]
Trained / Coached teams from
10
years of experience in software process improvement and Agile software development
Certified Scrum Professional Certified Six Sigma Black Belt
Co-founder of Agile Egypt and Egypt Lean and Agile Network (ELAN)
Agile Coach and Trainer (Middle-East and Africa)
8/13/14
2
Agenda • What is Six Sigma? • Six Sigma and Agile SW Development • Inspect and Adapt in Agile Teams • Our Experience (Agile and Six Sigma together) • Conclusions • Q&A
SO…
WHAT IS
SIX SIGMA?
8/13/14
3
Six Sigma is…
An empirical and
analytical method /
approach for problem
solving and process
improvement aiming
to improve quality and
performance
Six Sigma methodologies
DFSS (Design for Six Sigma)
DMAIC (Define-Measure-Analyze-Improve-Control)
Improving existing
products or processes - Solving existing problems
- For designing new products or processes
8/13/14
4
DMAIC Roadmap
• Problem Definition and Recognition
• Problem Quantification (Magnitude)
• Goal Establishment
• Business Case
Define
• Data Collection • Measuring
factors contributing to the problem
• Establishment of a current baseline for performance
Measure • Study cause and effect relationships to understand critical factors
• Identify and prioritize root causes for critical factors
Analyze
• Identify different improvement actions/solutions
• Pilot and evaluate improvement actions
• Eliminate root causes in part or in whole
Improve
• Monitor and control improvements achieved
• Deploy improvements
• Ensure improvements are sustainable
Control
Why Six Sigma for Agile teams
“At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly ”
8/13/14
5
Common anti-patterns on how Agile teams “Inspect and Adapt”
• Mainly done based on soft observations (less reliance on quantitative data)
• Short term (what went bad last sprint and what are we gonna do about it next sprint?)
• Teams are so neck-deep in everyday details and issues that they overlook problems affecting their performance and quality on the long run
• Reacting to symptoms not root causes • Lacking a business case to support investment in
solutions to their problems and accordingly buy-in from the business or the management
HOW CAN SIX SIGMA HELP?
8/13/14
6
Six Sigma offers Agile
teams, a practical roadmap
(DMAIC), an approach and a
an abundant set of tools
and techniques that they
can use effectively for
problem solving and
improving their
performance strategically
Our Experience
• Project Background: – Domain: Healthcare (MRI analysis) product
development – Lifetime: 6+ years – Adopting Scrum for 1 year – Team size: 7-10 – Common issues: Complex Product - Large code-base
– legacy code with limited unit test coverage – large manual regression suite (1300+ test cases)
8/13/14
7
DEFINE Phase
• Problem Statement: – “Accumulated leaked bugs as well as delayed
regression and integration tests results in consuming a large stabilization phase at the end of each production release. This leads to delays in the release delivery which impacts the product sales and clients. It also leads sometimes to adding additional sprints in the next release as a result of bugs being transferred from one release to another”
DEFINE Phase
• Problem Statement (with magnitude) – Accumulated leaked bugs (reached an average of
100-140 bugs before entering the stabilization phase) as well as delayed regression and integration tests, results in consuming a large stabilization phase at the end of each production release. This leads to delays in the release delivery which impacts the product sales and clients. The % of time allocated for the stabilization activities reached more than 35% of the total time of the product release”
8/13/14
8
The Problem (Y) is a f(x)
• Main Problem à Y (Response) – Large stabilization periods
• Y is a function of several X’s – X’s are the factors contributing to Y
X’s contributing to Y
Long Stabiliza-on
Periods
Late Regression issues
Late discovery and reac-on to problems
Accumula-on of Bugs -ll end of release
Some0mes not conducted
Ineffec0ve Retrospec0ves
Manual regression tests
Late integra-on
No synchroniza0on during development with Middleware team
Integra0on checkpoints with Middleware team not incorporated in Planning
Infrequent Builds from Middleware Team
Consuming last day in tes0ng and Demo prepara0on Lack of
Contribu0on
Lack of Facilita0on
Ongoing Regression tests are ineffec0ve
Lack of understanding of the applica0on design
Poor code coverage by unit tests for the old features
Late Bug detec0on during development sprints Unresolved bugs from
development sprints
Stories are closed with bugs s0ll remaining
Weak Story Done Defini0on
Very liWle 0me allocated for bug fixing
Late Tes0ng during sprint
Average size of stories is big
Mini-‐waterfall
8/13/14
9
Goal establishment
• At that point our goal was: – Decrease the time allocated for Stabilization
activities from 35% to somewhere between 15% and 20% (only 1 stabilization sprint every 6 development sprints) in order to release faster
– Decrease the number of leaked bugs which consumes a lot of time at the end of each product release
– Produce a potentially shippable product increment at the end of each sprint
Formulating a simple business case
Cost Benefit
Better TTM, increased customer satisfaction
Effort Saving, i.e. Cost Reduction in Stabilization activities
Cost to implement Six Sigma activities by the team (DMAIC)
8/13/14
10
Measure Phase
• Take a closer look at the factors (X’s) affecting the main problem (Y)
• Collect data about those factors • Establish a baseline for current performance
Long Stabiliza-on
Periods
Late Regression issues
Late discovery and reac-on to problems
Accumula-on of Bugs -ll end of release
Some0mes not conducted
Ineffec0ve Retrospec0ves
Manual regression tests
Late integra-on
No synchroniza0on during development with Middleware team
Integra0on checkpoints with Middleware team not incorporated in Planning
Infrequent Builds from Middleware Team
Consuming last day in tes0ng and Demo prepara0on Lack of
Contribu0on
Lack of Facilita0on
Ongoing Regression tests are ineffec0ve
Lack of understanding of the applica0on design
Poor code coverage by unit tests for the old features
Late Bug detec0on during development sprints Unresolved bugs from
development sprints
Stories are closed with bugs s0ll remaining
Weak Story Done Defini0on
Very liWle 0me allocated for bug fixing
Late Tes0ng during sprint
Average size of stories is big
Mini-‐waterfall
8/13/14
11
Long Stabiliza-on
Periods
Late Regression issues
Late discovery and reac-on to problems
Accumula-on of Bugs -ll end of release
Some0mes not conducted
Ineffec0ve Retrospec0ves
Manual regression tests
Late integra-on
No synchroniza0on during development with Middleware team
Integra0on checkpoints with Middleware team not incorporated in Planning
Infrequent Builds from Middleware Team
Consuming last day in tes0ng and Demo prepara0on Lack of
Contribu0on
Lack of Facilita0on
Ongoing Regression tests are ineffec0ve
Lack of understanding of the applica0on design
Poor code coverage by unit tests for the old features
Late Bug detec0on during development sprints Unresolved bugs from
development sprints
Stories are closed with bugs s0ll remaining
Weak Story Done Defini0on
Very liWle 0me allocated for bug fixing
Late Tes0ng during sprint
Average size of stories is big
Mini-‐waterfall
Factor (X) Type Baseline Value
Total number of accumulated bugs for product release (before entering the stabilization)
QUANTITATIVE Avg. of 140+ bugs per 3 month product release
The % of leaked bugs vs. the total number of detected bugs in a production release
QUANTITATIVE An avg. of 82%
Per Sprint à The % of leaked bugs vs. the total detected bugs
QUANTITATIVE An avg. of 73%
Per Sprint à The % of bugs detected and resolved in the same sprint
QUANTITATIVE An avg. of 50%
Weak Done definition (on Story level) QUALITATIVE Allowed stories to be finished with unresolved bugs
Measuring X’s
8/13/14
12
Analyze phase • Analyze X’s to the root cause level • Investigate relations between X’s • Prioritize X’s and identify critical factors (CTQ) • Quick wins / Low hanging fruit Through à • Root cause analysis session(s) with the team • Interviews • Investigations and work product reviews • Studied correlation and causal relations between
different X’s
Analysis of our X’s
8/13/14
13
Improve phase • At this stage, we try to come up with a list of
improvement actions to start implementing and piloting across future sprints
• Create an improvement backlog, where improvement actions are prioritized and implemented incrementally through future sprints
• Establish new baselines for performance after improvement (Measure the effectiveness of the improvements actions taken against the main problem)
• Decide on deployment
Measuring improvements in X’s Factor
Improvement Before After
Per Sprint à The % of leaked bugs vs. the total detected bugs
Per Sprint à The % of bugs detected and resolved in the same sprint
… …
… …
… …
73
32
Before A\er
Avg. % of leaked bug/total detected bugs
50
100
Before A\er
The % of bugs detected and resolved in the same sprint
8/13/14
14
Measuring improvements in Y
Factor Improvement
Before After
Total number of accumulated bugs for product release (before entering the stabilization) (Main X)
Avg. of 100+ bugs for a 3 months product release Avg. of 25 bugs for a 3
months product release
The % of stabilization sprints from the total product release duration (Y)
36
10
Before A\er
The % of stabiliza-on sprints from the total release dura-on
Control phase • Objective: – Make sure improvements achieved are sustainable – Deploy improvements • Incorporate new changes in the team’s culture and
process – Obtain team commitment on new DONE definition and
communicate it to Product Management team – Establish integration points between the main product
development team and the middleware team – Maintain the effective retrospectives techniques introduced …
8/13/14
15
HOW AGILE WAS USED TO MANAGE THE SIX
SIGMA PROJECT?
Six Sigma is about Process Improvement
• Process Improvement is about introducing change
• Sometimes, change is big and is associated with risk, uncertainty, cost…etc.
Agile Kicks in
8/13/14
16
Iterative and Incremental
• Mini (MAIC) cycles
Define Measure Analyze Improve Control
Define M A I C M A I C …
Improvement Backlog • Improvement backlog – Divided the Six Sigma project scope and activities
in mini increments that were placed in a backlog – For each increment: • Description • Acceptance/Completion criteria • Estimate • Priority
8/13/14
17
THEME / PROCESS
AREA
PROCESS INCREMENT SIZE CONDITIONS OF SATISFACTION
DEFINE Create an initial Business Case 5
• Verify that a Problem statement is defined • Verify that the magnitude of the problem is assessed and
defined • Verify that the initial CoPQ (Cost of Poor Quality) is assessed
and calculated • Verify that the initial improvement goals are identified • Verify that the initial Cost-Benefit Analysis is conducted
MEASURE Collect and
gather data about X’s
5
• Verify that the list of X’s contributing to the main problem is completed
• Verify that X’s are classified as (quantitative vs. qualitative) • Verify that X’s are classified as (controllable vs. uncontrollable) • Verify that required information and facts about X’s are
available in order to measure X’s • Verify that major X’s are measured and baselined as the basis
for further improvement
Improvement Backlog
CONCLUSION
8/13/14
18
Benefits of Adop0ng Six Sigma • Having a very rich set of tools and techniques and approaches for
long-term and strategic process improvement and problem solving • Shifting focus:
– From simple acknowledgement of problems to effectively defining those problems along with their quantitative magnitude and impact on the business
– From discussing and reacting to symptoms of issues to measuring and analyzing root causes and eventually eliminating them
– From being solution driven to problem driven (tackle the root causes of the right problems rather than offer a predefined solution)
• Focusing on using quantitative data along with the right set of tools and asking the right set of questions in order to focus on the right problems
• Obtaining the buy-in and support from management and customers, through having business cases for their problems and solutions
Benefits of adopting agile to manage DMAIC projects
• Managing the DMAIC project in an iterative and incremental fashion mitigates the risks associated with introducing, measuring and evaluating bulky changes
• Scope and Progress visibility for the DMAIC project which leads to more involvement and buy-in from different stakeholders specially management
• The involvement of the whole team in the journey to improve their performance and quality, with the support and buy-in of the management
8/13/14
19
Keep in touch !
• Email: – [email protected]
• Web: – www.agileacademy.co
• References: – Agile and Six Sigma Paper (Agile Conference 2014)
http://www.agilealliance.org/files/4814/0509/9273/ExperienceReport.2014.AmrKhalifa.pdf
– Process Increments Paper (Agile Conference 2011)http://www.agilealliance.org/files/8313/2435/0794/Process%20Increments%20An%20Agile%20Approach%20to%20Software.pdf
– Process Increments Presentation (Global Scrum Gathering 2013)https://www.scrumalliance.org/scrum/files/fb/fb7bd805-1944-4f6c-b5c1-a92e5d2d38a6.pdf