19
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 Certied Scrum Professional Certied Six Sigma Black Belt Co-founder of Agile Egypt and Egypt Lean and Agile Network (ELAN) Agile Coach and Trainer (Middle-East and Africa)

Agile and Six Sigma. How do they mix together?schd.ws/hosted_files/agile2014/2f/1510_Agile and Six Sigma... · • Prioritize X’s and identify critical factors (CTQ)

  • 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