Process Improvement: Based on Models, Implemented in Reality Better Software Conference and EXPO: W7 Wednesday, September 29, 2004, 11:30 AM By Barbara Ainsworth CSQA, CSTE Process Plus International, LLC Phone: 618.749.2080 Email: email@example.com
Introduction Disclaimer and Limitation of Liability: The author has used best efforts in designing and developing this presentation. There are no representations or warranties with respect to accuracy or completeness of the contents of this publication and specifically disclaim any implied warranties or merchantability or fitness for any particular purpose and shall in no event be liable for any loss of profit or any other commercial damage, including but not limited to special, incidental,consequential, or other damages Experience demonstrates that no matter the end product — financial services, insurance, beer, construction, etc. — the foundation for and focus on implementing process improvement remains consistent. Using models as the basis for improving processes makes success more likely; however, no single model has all the right answers. • Overview and comparison of popular models • Determine aspects of the available models that are right for you • Examples of starting and reinvigorating process improvement initiatives Acknowledgements: Thank you to Peer Review participants: Tom Ainsworth, Brad Carroll, Inger Dooley , Quince Hedley, Kimi Ziemski. Additional thanks to Brad Carroll for his UML expertise and willingness to share for the benefit of the community.
Overview: Terms & Premise Process Improvement: An effort to improve the processes used in an organization to accomplish its business Model [Framework]: Structured collection of elements that describe characteristics of effective processes Model-Based Process Improvement: A process improvement effort that uses a model to appraise the quality of its current processes, identify and prioritize needed changes, and guide its improvement activities Process Management Premise: The quality of a system is highly influenced by the quality of the process used to acquire, develop and maintain it System Boundaries: The focus of process improvement must have defined boundaries that surround and contain the problem to be addressed by the PI initiative. May be entire organization, department, product, project, or function.
International Standards Organization (ISO) Family of Standards
Quality Assurance Institute’s (QAI) Implementation Approach Model and Bodies of Knowledge
Project Management Institute’s (PMI) Models and Body of Knowledge
Malcolm Baldrige National Quality Award (MBNQA)
Unified Modeling language (UML)
Overview: Models In Review
Set Context Build Sponsorship Charter Infrastructure Characterize Current & Desired States Develop Recommendations Set Priorities Develop Approach Plan Actions Create Solution Pilot/Test Solution Refine Solution Implement Solution Analyze and Validate Propose Future Actions Initiating Diagnosing Establishing Acting Learning Stimulus for Change Do work according to plan Learn from experience & improve ability to adopt new technologies Lay groundwork for successful improvement Determine where you are relative to where you want to be Plan specifics how to reach destination * sei.cmu.edu Overview: SEI IDEAL Model Software Engineering Institute’s IDEAL Model
Overview: SEI SW_CMM Level Focus Key Process Areas Result 5 Optimizing 4 Managed 3 Defined 2 Repeatable 1 Initial Continuous process improvement Product and process quality Engineering processes & organization processes defined; Performance more predictable Project management in place, individual performance repeatable Process informal and ad-hoc, unpredictable performance Defect prevention Technology innovation Process change management Process measurement and analysis Quality management Organization process focus Organization process defn. Peer reviews Training program Inter-group coordination Software product engineering Integrated software mgt. Requirements Mgt. Software Project planning Software Project Tracking & Oversight Software Quality Assurance Software Configuration Mgt. Software Subcontract Mgt. Software Test Mgt. [DRAFT] Productivity & Quality Risk SEI Software Capability Maturity Model v 1.1 * sei.cmu.edu
Overview: SEI CMMI 5 Optimizing 4 Quantitatively Managed 3 Defined 2 Managed 1 Initial Quality Productivity Risk / Rework SEI Capability Maturity Model Integrated v1.1: Staged Process Areas Requirements Management Project Planning Project Monitoring & Control Supplier Agreement Management Measurement & Analysis Process and Product Quality Assurance Configuration Management Requirements Development Technical Solution Product Integration Verification Validation Organization Process Focus Organization Process Definition Organizational Training Integrated Project Management Risk Management Integrated Teaming Integrated Supplier Management Decision Analysis and Resolution Organizational Environment for Integration Organizational Process Performance Quantitative Project Management Organizational Innovation and Deployment Causal Analysis and Resolution Focus Continuous Process Improvement Quantitative Management Process Standardization Basic Project Management 2002-2003 by Carnegie Mellon University Introduction to CMMI ® - Staged V 1.1 Module 9-090103 Pg. 12 Level
Overview: SEI TSP SM /PSP SM PSP SM Skill-building TSP SM Team-building TSP SM Team-working Personal measures Process discipline Estimating & planning Quality management Project goals Team roles Team process Project plan Balanced plan Risk analysis Team communication Team coordination Status tracking Project reporting Team Members Team Management Integrated Product Teams *http://www.sei.cmu.edu/tsp/mapping-tsp-cmmi.pdf Nov 2003 Team Software Process SM & Personal Software Process SM Team Disciplines
Quality Management System (QMS) has essential features where relevant ISO 9000/ISO 14000 families of standards provide requirements
THE ISO 9000: 2000_12_15 FAMILY OF STANDARDS - ISO 9000: Quality Mgmt. Systems - Fundamentals and Vocabulary ISO 9001: Quality Mgmt. Systems - Requirements ISO 9004: Mgmt. Systems - Guidelines for Performance Improvements ISO19011 is applicable to both quality and environmental mgmt system audits - The 20 elements in ISO 9001 contain five main clauses titled: Quality Mgmt.System; Mgmt.Responsibility; Resource Mgmt.; Product Realization; Measurement, Analysis & Improvement - ISO 9001 “Quality Management System” (QMS) Contents (free samples available) Overview; Manual Preparation; QMS Quality Manual; QMS Quality Procedures; EMS Quality Procedures; Reports and Forms; Index - The new standards have been aligned with the existing standards
ISO/IEC for Software [“software” search = 71 standards 1994 -2001] - ISO/IES 90003:2004: Guidelines for applying ISO 9001:2000 to software - ISO/IEC 12207: IT SW Life Cycle Processes - ISO/IEC 15504: IT SW Process Assessment
www.iso.org http://www.iso.org/iso/en/CatalogueDetailPage.CatalogueDetail?CSNUMBER=35867&ICS1=35&ICS2=80&ICS3= Requires 3rd Party Certification
Highly disciplined process to focus on developing and delivering near-perfect products and services
There are three key elements of quality: Customers: Delighting Customers; Process: Outside-In Thinking; Employee: Leadership Commitment
All GE employees are trained in the strategy, statistical tools and techniques of Six Sigma quality. Training courses are offered at various levels
Six Sigma Quality Approaches and Models
Design for Six Sigma (DFSS): a systematic methodology utilizing tools, training & measurements to enable products and processes design that meets customer expectations & be produced at Six Sigma quality levels.
Define, Measure, Analyze, Improve and Control (DMAIC): a systematic, scientific, fact based, closed-loop continuous improvement process
Six Sigma – A vision of quality which equates with only 3.4 defects per million opportunities for each product or service transaction. Strives for perfection.
A Philosophy - 4 value statements and 12 principles (Agile Manifesto)
A Set of methods - over 10 methods & method families
A collection of practices - e.g., 19 engineering practices in eXtreme Programming (XP) alone http://www.sei.cmu.edu/tsp/tug-2003-presentations/smiley/
Be Agile: Slash the budget; If it doesn't work, kill it; Keep requirements to a minimum; Build on success, not hope; Keep your development teams small; Assign non-IT executives to software projects http://www.cio.com/research/current/agile
Overview: Agile www.agilemanifesto.org/ Note cautions at comparison slides
Object Management Group - Independent non-profit organization that researches, maintains and publishes UML, Common Warehouse Metamodel (CWM™), MOF™ 2.0 XMI® ( XML Metadata Interchange) and other standards http://www.omg.org
Nine UML Models – Use Case, Class Diagram, Sequence Diagram, Activity Diagram, State Diagram, Collaboration Diagram, Component and Deployment
Universality – Commonly accepted and used throughout software industry, domestically and internationally, to model and communicate software functional specifications, architecture and designs
Numerous references, tools, and other guidance [interpreting, documenting, training, FAQs and answers, survival guides, business mapping techniques, support links, sample documentation, style guidelines, workbooks, etc.]
Compared to other models
Can be successfully used; or disastrous
Input Tasks, Tools & Techniques Output
Comparison: SEI CMM/CMMI ® Level CMMI ® Process Areas 5 Optimizing 4 Managed 3 Defined 2 Repeatable Quantitative Process Management Software Quality Management Organization Process Focus Organization Process Definition Training Program Integrated Software Management Software Product Engineering Intergroup Coordination Peer reviews SW_CMM ® v1.1 Key Process Areas Defect Prevention Technology Change Management Process Change Management Requirements Management Software Project Planning Software Project Tracking & Oversight Software Subcontract Management Software Quality Assurance Software Configuration Management Software Test Management [DRAFT] Requirements Management Project Planning Project Monitoring & Control Supplier Agreement Management Product and Process Quality Assurance Configuration Management Measurement & Analysis Organization Process Focus Organization Process Definition Organizational Training Integrated Project Management Risk Management Requirements Development Technical Solution Product Integration Verification Validation Decision Analysis and Resolution Organizational Process Performance Quantitative Project Management Causal Analysis and Resolution Organizational Innovation & Deployment 2003 Carnegie Mellon University Software Engineering Institute
Comparison: CMMI ® /TSP SM /PSP SM CMMI ® Builds organizational capability TSP SM Builds quality products on cost and schedule PSP SM Builds Individual skill and discipline *http://www.sei.cmu.edu/tsp/tsp.html
Comparison: CMM/ISO9000 * The Capability Maturity Model: Guidelines for Improving the Software Process : CMU SEI pg.417 *Software Engineering Institute’s Technical Report: CMU/SEI-94-TR-12; See appendices re detailed listing - what practices are addressed where. SEI SW_CMM ® compared to ISO-9001 Compliant Organization
MBNQA to ISO 9000 http://www.baldrige.nist.gov - ISO 9000 registration covers less than 10% of Baldrige Award criteria - Responsible for making quality a national priority & disseminating best practices across USA - For organizations utilizing Six Sigma Quality, TQM, ISO9000 and process improvement - MB feedback report is arguably the best bargain in consulting in USA; improve organization or business overall health
CMMI ® To OTHER MODELS http://www.sei.cmu.edu/cmmi/adoption/comparisons.html - CMMI ® to Six Sigma to Achieve Levels 4 & 5: DMAIC process aligns with CMMI ® practices http://www.sei.cmu.edu/cmmi/presentations/sepg04.presentations/sixsigma.pdf - Six sigma process is applied to CMMI ® process improvement optimizing processes at Level 5 http://www.dtic.mil/ndia/2003CMMI/Kovar.ppt - Using CMMI ® to Balance Agile and Plan-Driven Methods http://www.dtic.mil/ndia/2003CMMI/turner.ppt
Agile to ISO and CMM http://www.computer.org/computer/homepage/0603/GEI/ - Some common CMM & ISO practices at odds with Agile value set - CMM relies on processes, plans, and delivering to original contract; ISO requirements not met - If need CMM certification; less interest in Agile value proposition - If need agility for business reasons; less interest in CMM or ISO 9000 certification
TSP SM Compared to Agile http://www.sei.cmu.edu/tsp/tug-2003-presentations/smiley/
Part compatible with TSP SM /PSP SM ; not all TSP SM /PSP SM met
In practice, the two approaches tend to align with different : - Philosophies on design - Degrees of formalism in design verification - Levels of team data gathering and analysis
Comparison: Caution: - Agile Development has hit a nerve. Some argue for it, some strongly aginst it, and others mix agile &plan-driven approaches. http://www.computer.org/computer/homepage/0603/GEI/ - “Considered Harmful for Reliable Software Development” - 6/2/02 http://www.agilealliance.org/articles/articles/XPConsideredHarmful-GeraldKeefer.pdf
Comparison: UML / SW_CMM ® Sample Model Comparison - Not intended to be comprehensive
Business - How well known are the business objectives? How mature are the current processes? How strongly are processes mapped to the business objectives? Will improvements be made across the organization or within a product line? Which business objectives will be supported by the Process Improvement Program (PIP)?
Culture - What is the organization’s ability to deploy a PIP? Is the organization process based and experienced in PI? Does a specific process need improvement quickly?
Legacy - Is the organization experienced with a model? Has the organization invested resources and deployed processes across the organization using a model?
Determine Right Model: Factors *CMMI ® Guidelines for Process Integration and Product Improvement
Review empirical data of organizations using the model
SEI data: sei.cmu.edu SEIR is repository of data; must register to use; no cost; can re-register and de-register; not as much data on CMMI ® as SW_CMM ®
MBNQA organizations are required to communicate/share
ISO certified companies are listed
Conference materials are on the internet
Match business needs criteria to model
What is expected ROI?
Define the process improvement system boundaries
Standard yet scalable, flexible and customizable
culture, staff size, personnel, system critically [consequences of error], application domain, size, optimized quality, dynamism, innovativeness h ttp://www.sei.cmu.edu/tsp/tug-2003-presentations/smiley/smiley.pdf
Determine Right Model: Tips
Where are you? What’s Missing? Elements of Change: Effects of Missing Links SEI Visitors Day, June 20, 1996 - Transition Enabling, Mike Phillips from Ambrose, 1987 Start/Re-Energize PI: Current Status? What’s in place?
Example: Use Adaptive or Predictive Process? Consider the following...
1.) (a) Factors suggest adaptive process:
Uncertain or volatile requirements
Responsible and motivated developers
Customer who understands & will get involved
(b) Factors suggest predictive process:
A team of over a hundred
Fixed price, or more correctly a fixed scope, contract http://www.martinfowler.com/articles/newMethodology.html
2.) [need] developers and business execs alike—who can follow ...principles of flexibility, teamwork, trust, & reflection. ...these environments...few & far between. http://comment.cio.com/soundoff/081601.html
3.)(a) Combine TSP SM /Agile advantages based on org’s & project characteristics (b) Criteria considerations: culture, staff size, personnel, system critically [consequences of error], application domain, size, optimized quality, dynamism, innovativeness h ttp://www.sei.cmu.edu/tsp/tug-2003-presentations/smiley/smiley.pdf
Not intended as a comprehensive list of considerations. If “adaptive” then...? If “predictive then…? Start/Re-Energize PI: Example