Using the Software CMM in Small Projects and Small Organizations



Similar documents
The Capability Maturity Model for Software, Version 1.1

Understanding High Maturity Organizations

Effective CMM-Based Process Improvement

SEI Level 2, 3, 4, & 5 1 Work Breakdown Structure (WBS)

Capability Maturity Model Integration (CMMI ) Overview

Distributed and Outsourced Software Engineering. The CMMI Model. Peter Kolb. Software Engineering

Process Improvement. From the Software Engineering Institute:

Toward Quantitative Process Management With Exploratory Data Analysis

Using the Software CMM in Small Organizations

Software Process Improvement CMM

Jason Bennett Thatcher Clemson University, 101 Sirrine Hall, Clemson, SC U.S.A.

How To Understand And Understand The Cmm

Capability Maturity Model Integration (CMMI ) Version 1.2 Overview

International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research)

Software Process Improvement. Overview

Engineering Standards in Support of

Moving from ISO9000 to the Higher Levels of the Capability Maturity Model (CMM)

Concept of Operations for the Capability Maturity Model Integration (CMMI SM )

Software and Systems Engineering. Software and Systems Engineering Process Improvement at Oerlikon Aerospace

Making Sense of Process Improvement Programs and Appraisals

Software Quality Assurance: VI Standards

Lecture 8 About Quality and Quality Management Systems

Foredragfor Den Norske Dataforening, den

PROCESS IMPROVEMENT CAPABILITY MATURITY MODEL

Acquisition Process Improvement in Stealth Mode: Is it IDEAL?

Software Process Maturity Model Study

CMMI Version 1.2. SCAMPI SM A Appraisal Method Changes

Software Engineering: Analysis and Design - CSE3308

A Capability Maturity Model (CMM)

Steve Masters (SEI) SEPG North America March Carnegie Mellon University

Software Quality Management

CMM SM -Based Appraisal for Internal Process Improvement (CBA IPI): Method Description

SW Process Improvement and CMMI. Dr. Kanchit Malaivongs Authorized SCAMPI Lead Appraisor Authorized CMMI Instructor

Quality Management for Small Enterprises

A Report on The Capability Maturity Model

Software Process Improvement Works! Advanced Information Services Inc. Pat Ferguson Gloria Leman Prasad Perini Susan Renner Girish Seshagiri

Reaching CMM Levels 2 and 3 with the Rational Unified Process

Buyer Beware: How To Be a Better Consumer of Security Maturity Models

UML Modeling of Five Process Maturity Models

Software Acquisition Capability Maturity Model (SA-CMM ) Version 1.03

Process Improvement. Objectives

Security Engineering Best Practices. Arca Systems, Inc Boone Blvd., Suite 750 Vienna, VA

Quality Systems Frameworks. SE 350 Software Process & Product Quality 1

CAPABILITY MATURITY MODEL INTEGRATION

PROJECT MANAGEMENT PLAN TEMPLATE < PROJECT NAME >

How Rational Configuration and Change Management Products Support the Software Engineering Institute's Software Capability Maturity Model

Capability Maturity Model Integration (CMMI SM ) Fundamentals

Treasury Board of Canada Secretariat (TBS) IT Project Manager s Handbook. Version 1.1

Software Development Life Cycle (SDLC)

GAO. CUSTOMS SERVICE MODERNIZATION Ineffective Software Development Processes Increase Customs System Development Risks

Using Rational Software Solutions to Achieve CMMI Level 2

Your Software Quality is Our Business. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc.

Camber Quality Assurance (QA) Approach

CS 1632 SOFTWARE QUALITY ASSURANCE. 2 Marks. Sample Questions and Answers

THE ROLE OF SOFTWARE PROCESS IMPROVEMENT INTO TOTAL QUALITY MANAGEMENT: AN INDUSTRIAL EXPERIENCE

DATA QUALITY MATURITY

Simulation of Different SPI Models

Using the Agile Methodology to Mitigate the Risks of Highly Adaptive Projects

Scheduling Process Maturity Level Self Assessment Questionnaire

Capability Maturity Model Integrated (CMMI)

CMMI KEY PROCESS AREAS

Leveraging CMMI framework for Engineering Services

Developing CMMI in IT Projects with Considering other Development Models

SOFTWARE QUALITY & SYSTEMS ENGINEERING PROGRAM. Quality Assurance Checklist

Process and Procedure Definition: A Primer

Software Project Management and Support - Practical Support for CMMI -SW Project Documentation: Using IEEE Software Engineering Standards

Capability Maturity Model Software Development Using Cleanroom Software Engineering Principles - Results of an Industry Project

CMMI Level 5 Processes Make it Easy to Define and Deploy Measurable, Achievable Goals to Your Organization

Software Process Improvement

Evaluation and Integration of Risk Management in CMMI and ISO/IEC 15504

5 Regional Approaches

An Integrated Model of ISO 9001:2000 and CMMI for ISO Registered Organizations

Future of CMM and Quality Improvement. Roy Ko Hong Kong Productivity Council

SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur

About the time Fred Brooks was warning us there was. Capability Maturity Mo. Software Quality and the

Darshan Institute of Engineering & Technology Unit : 7

Continuous Risk Management Guidebook

Design of Software Process Improvement Model

There s More to Software Process Improvement Than CMMI

V. Phani Krishna et al, / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 2 (6), 2011,

Software Engineering. Standardization of Software Processes. Lecturer: Giuseppe Santucci

HOW ISO 9001 COMPARES WITH THE CMM. he Capability Maturity Model

Frameworks for IT Management

building a business case for governance, risk and compliance

Operationalizing Data Governance through Data Policy Management

Life Cycle Models, CMMI, Lean, Six Sigma Why use them?

Agile Process Improvement

Development and Integration Issues about Software Engineering, Systems Engineering and Project Management Processes

SPICE, CMMI & Beyond: Industry Perspectives and Challenges for Software Process Management

Integrating Quality Assurance into the Software Development Life Cycle

The Software Development Life Cycle: An Overview. Last Time. Session 8: Security and Evaluation. Information Systems Security Engineering

The Systems Security Engineering Capability Maturity Model (SSE-CMM)

CMMI with Digité Universal Process Framework

Extreme Programming from a CMM Perspective

Introduction to SEIs Capability Maturity Model Integration (CMMI)

MKS Integrity & CMMI. July, 2007

MTAT Software Engineering Management

PORTFOLIO, PROGRAMME & PROJECT MANAGEMENT MATURITY MODEL (P3M3)

Transcription:

Using the Software CMM in Small Projects and Small Organizations Mark C. Paulk February 1999 Pittsburgh, PA 15213-3890 SM IDEAL, Personal Software Process, PSP, Team Software Process, and TSP are service marks of. Capability Maturity Model and CMM are registered in the U.S. Patent and Trademark Office. This work is sponsored by the U.S. Department of Defense. 1999 by. Topics The Current State of Affairs Small Projects & Organizations Software CMM Interpretation Examples of Interpreting the Software CMM Abusing the Software CMM Concluding Thoughts 2 Page 1 1

Software Crisis Headlines Are meeting schedules, budgets, and requirements important to small projects? To small organizations? Software crisis headlines focus on large projects. Most software projects are comparatively small. size of software growing rapidly tools and support environment helping software professionals do more many small problems sum to crisis! 3 The State of the Practice Is this the state of affairs in your organization? I'd rather have it wrong than have it late. - A senior software manager (industry) The bottom line is schedule. My promotions and raises are based on meeting schedule first and foremost. - A program manager (government) If it is, are managers and practitioners unhappy with the status quo? sufficiently unhappy to change things? willing and able to attack the known problems? 4 Page 2 2

What Is the CMM? A common-sense application of process management and quality improvement concepts to software development and maintenance A community-developed guide A model for organizational improvement The underlying structure for reliable and consistent CMM-based appraisal methods 5 Applying Total Quality Management to Software Organization Projects A B C TQM System Hardware Software CMM Process improvement fits in an overall business context CMM applies to software. 6 Page 3 3

SW-CMM v1.1 Key Process Areas 5 4 3 Level Focus Key Process Areas Optimizing Managed Defined Continuous process improvement Product and process quality Engineering processes and organizational support Defect Prevention Technology Change Management Process Change Management Quantitative Process Management Software Quality Management Organization Process Focus Organization Process Definition Training Program Integrated Software Management Software Product Engineering Intergroup Coordination Peer Reviews Quality Productivity 2 1 Repeatable Initial Project management processes Competent people and heroics Requirements Management Software Project Planning Software Project Tracking & Oversight Software Subcontract Management Software Quality Assurance Software Configuration Management Risk Waste What the CMM Can Do A model, such as the CMM, can aid communication by establishing a common language focus your attention provide general recommendations help prioritize actions - the roadmap in the maturity levels provide a framework for measurement, tracking, and benchmarking 8 Page 4 4

Universal Value? The CMM can be (and has been) successfully used to provide significant value. by customers, suppliers, even individuals in the form of the Personal Software Process SM! for any size organization or project, any application domain, any business context but you do have to apply professional judgment. the CMM user needs knowledge and experience in software engineering 9 A Need for Improvement? Why is the organization interested in using the Software CMM? desire to improve process - direct tie to business objectives - willingness to invest in improvement flavor of the month - prescription for disaster! customer concerns about process performance - leading to collaborative improvement? concern about software capability evaluations - cost-effective for small organizations? 10 Page 5 5

M is for Model System engineering Organization culture Technology THE REAL WORLD Integrated product teams Marketing People issues Models are simplified views of the real world. Maturity Levels Key Process Areas Key Practices Process descriptions, models, and instantiations are below the level of detail of the CMM. CMM Process Descriptions All models are wrong; some models are useful. George Box 11 SM SEI s IDEAL Approach Learning Propose Future Actions Analyze and Validate Implement Solution Acting Stimulus for Change Set Context Build Sponsorship Charter Infrastructure Refine Solution Initiating Characterize Current and Desired States Pilot/Test Solution Create Solution Develop Recommendations Diagnosing Set Priorities Plan Actions Develop Approach Establishing 12 Page 6 6

Topics The Current State of Affairs Small Projects & Organizations Software CMM Interpretation Examples of Interpreting the Software CMM Abusing the Software CMM Concluding Thoughts 13 An Example Context for Using the CMM Frequently asked question: Can the Software CMM be used for small projects (or small organizations)? 14 Page 7 7

Defining Small Is a small project (or team) 2-3 professionals? 4-7? fewer than 25? Operating for a small period of time 2-3 months? 5-6? less than a year? For a small organization fewer than 10 employees? 25? 100? Result of CMM Tailoring workshop (1995) was conclusion that we could not even agree on what small really meant! 15 Variations of Small Small = 3-5 people 6-month project Very small = 2-3 people 4-month project Tiny = 1-2 people 2-month project Individual = 1 person 1-week project Ridiculous = 1 person 1-hour project distinguish between a task and a project! Team Software Process (TSP) Personal Software Process (PSP) 16 Page 8 8

Challenges for the Small The primary business objective of small organizations? Survive! Problems in initiating process improvement? deciding the status quo is unsatisfactory. deciding process improvement will help. finding the resources and assigning responsibility for process improvement! Problems in following through? finding the resources and assigning responsibility for defining and deploying processes! 17 Small Organization Culture? We are all competent. people were hired to do the job we can t afford training - time or money We all communicate with one another... osmosis works because we re so close We are all heroes. we do whatever needs to be done rules don t apply to us (they just get in the way of getting the job done) we live with short cycle times and high stress 18 Page 9 9

Challenges for the Small Handling requirements -- documented? Managing projects -- management experience? Allocating resources -- we re small! Providing training -- everyone is competent here! Conducting reviews -- who s qualified/available? Generating documentation -- when there s time... Measuring progress -- the great unknown... 19 Small Is Beautiful Although there are massive problems that may require large numbers of people to solve.... Small teams can be much more productive than large teams. teams jell quicker fewer communication problems ideal team size fewer than 10 people Is process discipline needed for small teams? what do we mean by discipline? 20 Page 10 10

Assessing Small Organizations Use a streamlined assessment process. a two-week CBA IPI is probably excessive - less rigorous assessments should identify important problems, but may miss some focus on institutionalization practices appropriate to the organization remember to look beyond the Software CMM - business needs, not just an appraisal - people and technology issues perform a readiness survey before trying to begin the improvement cycle - dissatisfaction with the status quo is needed to drive change 21 Where the Rubber Meets the Road Use the Software CMM as a guide, not a dictate. tie process improvement to business goals CMMs are about management, communication, and coordination. Keep process documentation concise and simple. cannot eliminate basic process definition 22 Page 11 11

Improving Small Projects Watts Humphrey is currently working on the Team Software Process (TSP). The Personal Software Process (PSP) demonstrates the applicability and validity of the process discipline for individual efforts. TSP and PSP are applications of CMM concepts to the micro-level of the organization. demonstrate that we can be level 5 professionals! 23 Topics The Current State of Affairs Small Projects & Organizations Software CMM Interpretation Examples of Interpreting the Software CMM Abusing the Software CMM Concluding Thoughts 24 Page 12 12

Where Does CMM Apply? Software CMM was written to provide good software engineering and management practices for any project in any environment. model described in hierarchy detailed practices primarily support large, contracting software organizations normative components of the CMM are maturity levels, key process areas, and goals all practices in the CMM are informative! organizational learning prevents reinventing the wheel fi repeatable processes 25 Maturity Levels The CMM Structure indicate Process Capability Key Process Areas achieve Goals Common Features address Implementation & Institutionalization Key Practices describe Activities & Infrastructure 26 Page 13 13

An Example of CMM Structure Defined Level indicates Software Product Engineering achieves Goal 1 The software engineering tasks are defined, integrated, and consistently performed to produce the software. Activities Performed address Implementation Activity 3 The software design is developed, maintained, documented, and verified, according to the project's defined software process, to accommodate the software requirements and to form the framework for coding. describes Activity 27 CMM Practice Granularity CMMs Unknown? CMM Integration! Maturity Levels 5 Key Process Areas 18 Goals 52 (2-4 per KPA) Key Practices 316 total 150 KPs at ML2/3 62 Activities at ML2/3 28 Page 14 14

The CMM Is 500 Pages Long! Key practices, subpractices, examples, etc., provide guidance for interpreting the CMM. much of the guidance is directed at large projects and large organizations Documentation is important. documents need not be lengthy or complex Training, resources, tools, policies, oversight, measurement, etc., are important. institutionalization need not be intrusive - culture is the way we do things around here 29 What Versus How To Software CMM is intended to be descriptive of software engineering and management practices prescriptive for process improvement priorities Key process areas describe what not how. ignorance of how to implement processes can lead to ticking off CMM practices particularly a problem for technical people promoted to management positions - different skill set than what they excel at 30 Page 15 15

Using the CMM Correctly Correct use of the CMM implies reflecting the reality of your business environment - tailoring (interpreting) the CMM to suit your context and needs - allowing for professional judgment identifying problems as objectively as possible thinking and analyzing how the CMM applies - doing and not just thinking! - not forcing foolish decisions! supporting worker participation and empowerment 31 Using the CMM Effectively Effective use of the CMM implies admitting the existence of critical problems in your software process - understanding that there are non-cmm problems having the will to change - balancing stability and change in improvement doing organizational learning - do it, then improve it investing time and money to make change happen 32 Page 16 16

The Business Environment. Environments where interpretation and tailoring are needed very large programs virtual projects or organizations geographically distributed projects rapid prototyping projects research and development organizations software services organizations small projects and organizations pretty much everywhere! 33 The Interpretation Guidance for Small Projects & Organizations... Is Also Applicable to Large Projects & Organizations! All projects are different... All projects are the same... Organizational learning is the lesson! 34 Page 17 17

Topics The Current State of Affairs Small Projects & Organizations Software CMM Interpretation Examples of Interpreting the Software CMM Abusing the Software CMM Concluding Thoughts 35 Interpreting and Tailoring Develop a mapping between CMM terminology and the language used by the organization. organizational structures - independent groups (SQA, testing, SCM) roles and relationships - project manager - project software manager - customer (internal? external?) formality - frequency of periodic, event-driven - granularity of procedures, plans, etc. - scope of processes (e.g., subcontracting) 36 Page 18 18

Invariants of Process Discipline Assume key process areas and goals are always relevant to any environment. Software Subcontract Management may be not applicable if no subcontracting in contrast, Peer Reviews cannot be reasonably tailored out for a level 3 organization Some informative practices should always be present, some are context-sensitive, and sometimes it depends... professional judgment and trained, experienced assessors are crucial 37 Always Needed! Never seen a case where the following were not needed (though implementations differ) documented customer (system) requirements communication with customer (and end users) agreed-to commitments planning documented processes work breakdown structure 38 Page 19 19

Context-Sensitive? Large-project implementations SCM group and Change Control Board - but configuration management necessary independent SQA group - but objective verification necessary (independent) testing group - but testing necessary Many context-sensitive, large project implementation issues relate to organizational structure (read the CMM definition of group ) 39 It Depends... Even for Small Use of historical data in planning use work packages directly in estimating small efforts Training may be through external sources rather than internally developed training on internal processes may still be necessary Risk management complete failure of the project may be a minor risk 40 Page 20 20

Management Sponsorship Management must actively support improvement. dissatisfaction with status quo establish expectations provide improvement resources pay attention! Alternative is ad hoc islands of improvement. However. in small organizations the president/ceo is the primary role model, but a respected champion frequently has the influence to move the entire organization! 41 Planning The #1 factor in successful process definition and improvement is planfulness. - Bill Curtis, "The Factor Structure of the CMM and Other Latent Issues," 1996 Software Engineering Process Group Conference Planning is needed for every major software process. within the bounds of reasonable judgment, the organization determines what is major packaging of plans is an organizational decision 42 Page 21 21

Risk Management Project management = risk management? Both order and chaos have a place keep the system in balance so it can change and grow Incremental and evolutionary life cycles phased approach to delivering the product address requirements volatility 43 Process Focus Not just a level 3 concern Software engineering process group competent, respected staff with good interpersonal skills focus for following through, action, change part-time participants (worker participation!) - small organizations may not have full-time SEPG staff at all Align with any other TQM initiatives 44 Page 22 22

Focusing on Improvement Identify the process owner - establish clear responsibility. process improvement team is primarily process implementers SEPG has a coordination and communication oriented role. in very small organizations, process focus may be assigned to an existing manager central, accessible repository for current process descriptions, e.g., Web, database 45 Documented Processes Granularity, scope, and detail of procedures and standards should be useful, not onerous. packaging and formality are organizational decisions if the process is there, then its existence can be demonstrated to an appraiser! - appraisers look for the audit trail - appraisers look for knowledge of the process fi communication and consistency making the appraiser s job easy is nice but not necessary - address problems, not practices! 46 Page 23 23

Process Definition Keep it simple! identify process owners rule of thumb: process descriptions should be 1-2 pages long - reference subprocesses, procedures, standards, and checklists as needed rule of thumb: 2-3 tasks per week at most in the bottom-level process description - procedures, standards, and checklists may be more detailed, but they are task-focused remember your software design principles - locality, information hiding, abstraction,. mix of graphics and text - ETVX, EITVOX, IDEF0, Information Mapping,... 47 Deploying Processes Buy-in for the documented process is critical to successful deployment. process implementers must be part of process definition and improvement Don t force implementation of a bad process. find out what the problems are - as is versus should be processes - pilot processes before broadscale deployment know - where you are and where you want to be - how you re going to get there and how you will recognize success automate where possible 48 Page 24 24

Training Necessary to effectively deploy and support processes training (and mentoring) in the process is crucial to institutionalization True need is skills, not training! crucial to professional development and employee retention Choosing between internally developed and externally provided training is an organizational decision. 49 Customer-Supplier Relationship Talk to the customer. communication, coordination, and integrity Software Capability Evaluations are driven by a customer need! build the supplier base -- even by industry Communication and coordination are intrinsic to Requirements Management and Intergroup Coordination. 50 Page 25 25

Peer Reviews Any kind is better than none inspections structured walkthroughs No longer an argument over whether peer reviews are worthwhile debates are over how recognizing the value does not mean that we do them systematically - need to walk the walk, not just talk the talk 51 Successful Improvement Success is based on achieving business objectives. customer satisfaction/delight decreased cycle time increased productivity Don t forget to build a product that customers will want to buy! 52 Page 26 26

LOGOS Tailored CMM For small businesses, small organizations, and small projects by Judith Brodman and Donna Johnson Version 1.0 published August 1996 Modifications to the Software CMM clarification of existing practices exaggeration of the obvious introduction of alternative practices alignment of practices with small structure and resources 53 LOGOS Points to Remember Shortcuts, such as templates and checklists, for documentation Alternative methods, such as spot checks and resource sharing, for activities Combined roles for agents of activities Manual methods or basic tools 54 Page 27 27

Topics The Current State of Affairs Small Projects & Organizations Software CMM Interpretation Examples of Interpreting the Software CMM Abusing the Software CMM Concluding Thoughts 55 Using the CMM Improperly Improper uses of the CMM include checking off (sub)practices for conformance mandating processes from above: not involving the true process owners the workers riding roughshod over reasonable concerns confusing documented detailed onerous Value judgments are embedded in the terminology you use to describe your processes! guidance disciplined measured law inflexible bureaucracy judgmental 56 Page 28 28

Drivers for CMM Abuse Unwillingness or inability to interpret, tailor, or apply judgment within organization easy to mandate the key practices judgment is needed even for large projects and organizations! paranoia about customer intentions and competence Ignorance by the customer software capability evaluation (SCE) teams? judgments may differ! fi risk profile rather than maturity level 57 SCEs on Small Organizations? Questionable whether SCEs for small projects are cost-effective. SCEs for small acquisitions may be of value when the customer wishes to build a stronger supplier base build better customer-supplier relations understand software acquisition issues better SCEs impose a significant overhead on suppliers! 58 Page 29 29

The Danger of Focusing on Score Standards such as the CMM, ISO 15504 (SPICE), and ISO 9001 can help organizations improve their software process. Focusing on achieving a maturity level or certification without addressing the underlying process can cause dysfunctional behavior. Maturity levels and certification should be measures of improvement, not goals of improvement. need to tie improvement to business needs 59 Topics The Current State of Affairs Small Projects & Organizations Software CMM Interpretation Examples of Interpreting the Software CMM Abusing the Software CMM Concluding Thoughts 60 Page 30 30

The Bottom Line Software process improvement should be done to help the business not for its own sake. Improvement means different things to different organizations. What are your business goals? How do you measure progress? Improvement is a long-term, strategic effort. What is the expected impact on the bottom line? How will the impact be measured? 61 Let Common Sense Prevail! Documented Process Yes No Common Sense No Yes Quality Mindless Bureaucracy Creative Chaos Mindless Chaos With thanks to Sanjiv Ahuja, President and COO of Bellcore. 62 Page 31 31

General SEI Information SEI Customer Relations +1 (412) 268-5800 SEI FAX number +1 (412) 268-5758 Internet Address customer-relations@sei.cmu.edu Mailing Address Customer Relations 4500 Fifth Avenue Pittsburgh, PA 15213 63 Internet Access to SEI SEI Web pages www.sei.cmu.edu www.sei.cmu.edu/cmm/ www.sei.cmu.edu/cmm/cmm.articles.html For the latest version of this presentation, see ftp.sei.cmu.edu/pub/cmm/misc/cmm-small.pdf 64 Page 32 32

Acronyms -1 CM CM CMM CMMI IDEAL ISO ISO 12207 ISO 15288 ISO 15504 ISO 9000, ISO 9001 PSP SCE SCM Configuration Management Capability Model (term used by CMMI) Capability Maturity Model CMM Integration Initiating, Diagnosing, Establishing, Acting, Learning model for continual process improvement International Organization for Standardization ISO standard for software life cycle processes draft ISO standard (currently working draft) for system life cycle processes draft ISO standards (currently type 2 technical reports) for software process assessment ISO standards for quality management systems Personal Software Process Software Capability Evaluation Software Configuration Management 65 Acronyms -2 SEI SEPG SPICE SQA SW-CMM TQM TSP Software Engineering Process Group Software Process Improvement and Capability determination (aka ISO 15504 - Software Process Assessment) Software Quality Assurance Capability Maturity Model for Software Total Quality Management Team Software Process 66 Page 33 33