Six Sigma and CMM : Showdown in Software Process Engineering

advertisement
Six Sigma and CMMI :
Showdown in Software
Process Engineering
Jonathan Beckham
Process Improvement Goals
• Process Goals
– Improve schedule and budget predictability
– Improve cycle time / time to market
– Increase productivity
– Improve quality (as measured by defects)
– Increase customer satisfaction
– Improve employee morale
– Decrease cost of quality
Process Improvement Goals
• Companies want to increase Return On Investment
What affects software?
People
Process
Technology
Six Sigma: What is it?
• According to David Card, (IEEE Software 2000),
Six sigma is “A generic quantitative approach to
improvement that applies to any process.”
• “Six Sigma is a disciplined, data-driven approach
and methodology for eliminating defects (driving
towards six standard deviations between the
mean and the nearest specification limit) in any
process -- from manufacturing to transactional
and from product to service.” –isixsigma.com
What’s the missing piece?
• In essence, six sigma is an approach to
finding the cause of business problems and
solving them making an impact on the
bottom line of a corporation and decreasing
variation for products.
• Six Sigma is more
of a methodology
or a philosophy.
Six Sigma Levels
• Six Sigma can be identified at three levels:
– Metric
– Methodology
– Philosophy
Metric
• 3.4 Defects Per Million
Opportunities (DPMO)
• DPMO allows you take
complexity of product/process
into account
• Refers to statistics. The +-6
standard deviations (sigmas)
away from the standard mean
• Most companies are within 3
standard deviations of the
mean
Metric
• The higher the
sigma value, the
better the
process is
capable of
producing defect
free results.
• To be in this six sigma range you must
have a quality product 99.9999998% of
the time.
Philosophy
• Reduce variation in your business and
make customer-focused, data driven
decisions
• Translate customer
needs into operational
measurements
Methodology
• Structured problem solving techniques and
roadmap
• Two primary sub-methodologies in Six
Sigma
– DMAIC
– DMADV
DMAIC
• Define-Measure-Analyze-Improve-Control
• Tool for incremental process improvement
of existing processes within an
organization that fall below required
specification
DMAIC cont.
• Define
– Define the problem or process to improve upon related to the customer
and goals
• Measure
– How can you measure this process in a systematic way?
• Analyze
– Analyze the process or problem and identify the way in which it can be
improved. What are the root causes of problems within the process?
• Improve
– Once you know the causes of the problems, present solutions for them
and implement them
• Control
– Utilize Statistical Process Control to continuously measure your results
and ensure you are improving
– Several Software Packages available to assist in measuring yield, defects
per million opportunities, etc.
DMADV
• Define-Measure-Analyze-Design-Verify
• Methodology for producing new processes
that meet the Six Sigma Quality levels
desired
• Similar to DMAIC, however, we have a
design stage here
• DFSS
– Design-For-Six-Sigma
– Using models or prototypes to create designs
and ensure they are effective in meeting goals
DMAIC VS. DMADV
Six Sigma Personnel
• Champion
– Manager/Director/Executive who
makes sure the resources are in
place for a Six Sigma project
• Master Black Belts
– Quality experts in an organization
– Responsible for strategic implementation
– Teach/Mentor other Black and Green Belts
• Black Belts
– Six Sigma team leaders responsible for implementing process
improvement projects within the business
• Green Belts
– Employee of an organization that has some training in Six Sigma
and may lead a Six Sigma project, but only as part of their job
CMM: What is it?
• “A Capability Maturity Model (CMM) is a
reference model of mature practices in a
specified discipline, used to improve and
appraise a group’s capability to perform
that discipline” -SEI
• CMM contains a list of key process areas
that includes software engineering, project
management, and process improvement
divided into different levels
CMMI
• CMM sunset
– No more SEI CMM training since 2003
• Some vendors may still offer it
– CMM Appraisals will end this year
• SEI states other vendors may offer this but questions value
• Version 1.1 CMMI released in December 2001
– Adds requirements development, validation
– Identifies strategy for verification and validation or
products (testing)
– Adds relevant stakeholders and level of involvement
(Identify key people)
– Less focus on “documented procedures” (Only when
critical to a process)
CMMI Models
• Capability Maturity Model Integration brings
together four disciplines
– Systems Engineering (SE)
– Software Engineering (SW)
– Integrated Product and Process Development
(IPPD) (Level 3 add on)
– Supplier Sourcing (SS) or Acquisition (Level 3
add on)
CMMI Maturity Levels
Maturity Levels of
Organizations 9/28/04
SW-CMMI Strengths
• Engineering focused which assists in
integration and interaction among
engineering departments
• Recognized Internationally
• DOD contracts require certain levels for
bids
• Utilizes best practices in the industry
Six Sigma Strengths
• Generic Process Improvement Strategy
can be applied to any process
• Trained personnel working on process
improvements for organization on
continuous basis
SW-CMMI Weaknesses
• Statistical methods often not used at levels 4 and
5 when they could ease data analysis
– Six Sigma embraces statistical methods
– Improvement in CMMI
• CMMI goals are not always aligned with business
and customer goals
– Generally Software Specific, but improving with CMMI
• CMMI assessors are certified, but implementers
are not so they may not understand underlying
concepts (statistical process control, etc)
– Six Sigma has competence certifications for relevant
subject matter
Six Sigma Weaknesses
• Derived from manufacturing which has a real tangible
process that is easy to measure and apparent, as
opposed to software engineering
• No formal connection to ISO 9000
– ISO 9000 and CMM have milestones and certifications
• Six Sigma relies on training personnel (black belts) that
look for areas that need improvement which may not be
the best way to go about this
– Costs also involved in training for Six Sigma
• Focuses on Internal process experience and doesn’t
consider external technology or best practices
CMMI Case Studies
• Lockheed Martin M&DS
– SW CMM ML 2 (1993)
– SW CMM ML 3 (1996)
– CMMI SW ML5 (2002)
– Increased software productivity by 30%
– Decreased unit software cost by 20%
– Decreased defect find and fix costs by 15%
CMMI Case Studies
• Bosch Gasoline Systems
– CMM Level 4
– Predictability – internal on-time delivery
improved by 15%
– Less Rework – first pass yield improved by
10%
– Product Quality – reduction in error cases in
company by one order of magnitude
Six Sigma Case Study
• >$3 billion energy company
• Customer dissatisfaction with software
deliverables
• Customer satisfaction improved by 2 points
on their “report card”
• Product quality was improved by 30%
• Reduction of rework by 50% was achieved
• Project savings of $150 K was achieved
So which one is better?
•
•
•
•
“The is no silver bullet” – Fred Brooks
Neither one is necessarily “better”
Both have weaknesses
Both have multiple case studies and large
corporations that have realized real savings
and process improvements utilizing their
techniques
• Utilizing both is possible
CMM and Six Sigma Similarities
• Both emphasize reducing defects as their
main process improvement goal
• Both focus on quantitative decision making
that relies on measurement
– Six Sigma and CMM level 4 and 5
• Both utilize similar basic statistical process
control techniques
– As mentioned, Six Sigma has a better
foundation in this area
Using Six Sigma and CMM
• Six sigma provides a foundation to define,
measure, analyze, improve, and control the
process
– Utilize process mapping
• Can work in conjunction with CMM to map out a
process and identify gaps within software processes
– Failure Modes and Effects Analysis
• Detects how a process can fail and assigns severity
to it to prioritize actions
Using Six Sigma and CMM
• CMM level 4 and 5 and Six Sigma are often seen
as similar:
– Six Sigma training can help to deal with CMM’s
Quantitative Process Management and Defect
Prevention requirements
– CMM can clarify how to use Six Sigma techniques for
software process
– Important to note that organizations can achieve level
4 and 5 without using Six Sigma techniques
• Many utilize their own statistical methods and analysis
• Sometimes ad-hoc, as mentioned before CMM does not tell
you necessarily how to accomplish a level, just what need to
be accomplished
Benefits from
SW CMM and Six Sigma
• Study of utilizing them together:
– Tata Consultancy Service development center reduced cost of
process failures from 5 to 1 percent, thus reducing total quality
cost
– Improved cycle time and productivity
– Scheduled slippage was reduced from a range of +-20 percent to
+-2 percent saving the company roughly $700k over 3 years
– Amazingly, at the time of the article, clients had not reported
any defects in their software products!
Summary
• Six Sigma is a process methodology that focuses on
quantitatively measuring a process in order to control and
improve upon it
• Six Sigma strives for 3.4 Defects Per Million Opportunities
(DPMO) so that it is within six standard deviations of the
mean
• SW CMMI is a process improvement model for software
engineering that is divided into levels and contains a list of
key process areas
Summary
• Six Sigma and CMMI can be utilized together to
improve the software engineering process
• Six Sigma’s more advanced statistical methods
can be applied to assist in quantitatively
analyzing data within CMMI’s level 4 and 5
• Six Sigma can also complement any individual
process within CMMI by utilizing techniques such
as process mapping
Conclusion
• Lastly, the effects of implementing Six
Sigma and CMMI can highly improve the
quality of the product developed and
individual processes which can directly
impact a business's bottom line and
customer satisfaction
References
• David N. Card, “Sorting out Six Sigma and the CMM”, IEEE Software,
May June 2000, pp. 11-13
• Jack Horgan, “Six Sigma and CMM”, September 13 - 17, 2004,
http://www10.edacafe.com/nbc/articles/view_weekly.php?articleid=20
9200
• M. Murugappan and G. Keeni, “Blending CMM and Six Sigma to Meet
Business Goals”, IEEE Software, March/April 2003
• “IT Perspective: Balancing Six Sigma and the Capability Maturity
Model (CMM ®/CMMI SM )”,
http://www.gartner.com/4_decision_tools/measurement/measure_it_a
rticles/2002_10/six_sig.jsp
• SEI Website, http://www.sei.cmm.edu/
• Six Sigma, http://www.isixsigma.com/
• Thomas Pyzdek, "DMAIC and DMADV", Pyzdek Consulting, Inc. Six
Sigma Handbook, http://www.pyzdek.com/DMAICDMADV.htm
Questions
Or
Comments?
Download