software process improvement and cmmi

Upload: seeramzan

Post on 07-Apr-2018

231 views

Category:

Documents


1 download

TRANSCRIPT

  • 8/3/2019 Software Process Improvement and CMMI

    1/25

    SW Process Improvementand CMMI

    Dr. Kanchit Malaivongs

    Authorized SCAMPI Lead Appraisor

    Authorized CMMI Instructor

  • 8/3/2019 Software Process Improvement and CMMI

    2/25

    Topics of Presentation

    Why improvement?

    What is CMMI?

    Process Areas and Practices in CMMI

    CMMI Representation

    CMMI components

    CMMI Implementation

    Thai SW industry and CMMI

    Conclusion

  • 8/3/2019 Software Process Improvement and CMMI

    3/25

    Why Improvement?

    Improvement is necessary for all entities whether they are livingbodies or not.

    We need to improve our performance to get a better job and

    better life. Organizations need to improve their processes in producing

    products and services.

    Government must improve their decisions and all their work tobe able to lead the country to prosperity.

    Software companies must improve their work to ensure thattheir products are reliable and meeting the customersexpectation.

  • 8/3/2019 Software Process Improvement and CMMI

    4/25

    What is CMMI?

    CMMI or Capability Maturity Model Integrationis aprocess improvement model developed by the SoftwareEngineering Institute, Carnegie Mellon University.

    CMMI was developed from the SW-CMM which was usedwidely by software organizations throughout the world.

    Additional disciplines are included in CMMI.

    Software Park introduced SW CMM to Thai SW industryin 1999 and transit to CMMI about three years ago.

    Now SIPA has set a target to have at least 20 companiesappraised in the next two years.

  • 8/3/2019 Software Process Improvement and CMMI

    5/25

    CMMI can be used for:

    Software Engineering Discipline

    Hardware Engineering Discipline

    System Engineering Discipline

    And above disciplines with the addition of Integrated Productand Process Development

    And

    Other disciplines by carefully specifying corresponding practices

  • 8/3/2019 Software Process Improvement and CMMI

    6/25

    CMMI Consists of ProcessAreas

    A Process Area is a cluster of related practices in an area that,when implemented collectively, satisfies a set of goalsconsidered important for making significant improvement in that

    area. There are 22 Process Areas in CMMI

    Examples of process areas related to software development

    Project Planning

    Requirement management

    Configuration Management

    Risk Management

    These PAs are organized in two ways

  • 8/3/2019 Software Process Improvement and CMMI

    7/25

    ProjectManagement

    Process AreasCategory

    Requirements ManagementRequirements DevelopmentTechnical Solution

    Product IntegrationVerificationValidation

    Engineering

    Configuration ManagementProcess and Product Quality AssuranceMeasurement and AnalysisDecision Analysis and ResolutionCausal Analysis and Resolution

    Support

    Project PlanningProject Monitoring and Control

    Supplier Agreement ManagementIntegrated Project Management for IPPDRisk ManagementQuantitative Project Management

    Organizational Process FocusOrganizational Process DefinitionOrganizational TrainingOrganizational Process PerformanceOrganizational Innovation and Deployment

    ProcessManagement

    Continuous Representation: PAs by Categories

  • 8/3/2019 Software Process Improvement and CMMI

    8/25

    Organizational Innovation and DeploymentCausal Analysis and Resolution

    5 Optimizing

    4 QuantitativelyManaged

    3 Defined

    2 Managed

    ContinuousProcessImprovement

    QuantitativeManagement

    ProcessStandardization

    BasicProjectManagement

    Organizational Process PerformanceQuantitative Project Management

    Requirements Development

    Technical Solution

    Product Integration

    Verification

    Validation

    Organizational Process Focus

    Organizational Process Definition

    Organizational Training

    Integrated Project Management for IPPD

    Risk Management

    Decision Analysis and Resolution

    Requirements ManagementProject PlanningProject Monitoring and ControlSupplier Agreement ManagementMeasurement and AnalysisProcess and Product Quality AssuranceConfiguration Management

    QualityProductivity

    RiskRework

    1 Initial

    Process AreasLevel Focus

    Staged Representation: PAs by Maturity Level

  • 8/3/2019 Software Process Improvement and CMMI

    9/25

    Two Kinds of Practices

    Practices are activities that must be performed in each processarea.

    There are two kinds of practices:

    Specific Practices: Description of an activity consideredimportant to achieve the associated specific goal of the processarea. Specific Practices are the essence of the PA and aredifferent for each PA.

    Generic Practices: Description of an activity considered

    important to achieve the associated generic goal. Genericpractices strengthen the institutionalization of the PA. SameGeneric practices appear in all PA.

  • 8/3/2019 Software Process Improvement and CMMI

    10/25

    Analogy with learning

    When we study for a degree we need to take several courses

    We can imagine each course as a Process Area

    The specific goal of learning a course is to pass the exam with

    good grade, e.g., not less than C. Specific practices in learningare: attending the classes, work on exercises, sit in midtermexam, submit the project work and sit in final exam.

    The generic goal of learning a course is to have our nameregistered for credit. The generic practices are: register the

    course, pay the fee, purchase textbook, prepare learning tools,etc.

  • 8/3/2019 Software Process Improvement and CMMI

    11/25

    Two Representations

    Staged Representation

    A systematic, structured way to approach processimprovement one step at a time.

    Achieving each step is a foundation for the next step. There are five levels of maturity.

    Continuous Representation

    A flexible approach to improve process performance. Theorganization may choose to improve a single PA or a groupof PAs.

    Organization may improve each PA at different rates.

    There are six levels of process capability.

  • 8/3/2019 Software Process Improvement and CMMI

    12/25

    Process Area ComponentsDescribed in the Technical Note

    RelatedProcess Areas

    IntroductoryNotes

    Typical WorkProducts

    Subpractices

    Expected Informative

    Specific Goals (SG)

    Generic Goals (GG)

    Required

    PurposeStatement

    SpecificPractices

    (SP)Generic

    Practices(GP)

    Generic PracticeElaborations

    Legend

    Process Area (PA)

  • 8/3/2019 Software Process Improvement and CMMI

    13/25

    CMMI Staged Representation

    Main ideas are to improve organization processes such asSW processes

    Five Maturity Levels

    Each maturity level must have clear and rigorous processesand is shown as a step of stairs

    1

    4

    3

    2

    5

    ManagedInitialDefined

    QuantitativelyManagedOptimizing

  • 8/3/2019 Software Process Improvement and CMMI

    14/25

    Capability Levels Shown as a

    Bar into 6 Levels5 Optimizing

    4 Quantitatively Managed

    3 Defined

    2 Managed

    1 Performed

    0 Incomplete

  • 8/3/2019 Software Process Improvement and CMMI

    15/25

    CMMI Implementation

    Lobby for executive support

    Select staff to attend Intro to CMMI course

    Create SEPG(Software Engineering Process Group) Employ CMMI consultants

    Create appropriate organization policies

    Attend SPIN Group Meeting (at SW Park) Study materials in SEI website

  • 8/3/2019 Software Process Improvement and CMMI

    16/25

    Select Staged Representation

    Software organizations should select stage representation.

    Fundamental process areas are specified at Maturity Level 2 andare not too difficult to implement. These are

    Requirements Management Project Planning

    Project Monitoring and Control

    Supplier Agreement Management

    Measurement and Analysis Process and Product Quality Assurance

    Configuration Management

  • 8/3/2019 Software Process Improvement and CMMI

    17/25

    SEPG Tasks

    Study organization processes

    Write process standards

    Develop SDLC stages and details Create meeting procedures

    Create estimation procedures

    Create planning procedures

    Create Quality Assurance procedures Create Configuration Management Procedures

  • 8/3/2019 Software Process Improvement and CMMI

    18/25

    Executives Support

    Understand importance of CMMI implementation

    Make commitment by announcing CMMI Policy

    Sending staff to learn Intro to CMMMI Course

    Sending staff to learn Project Management Course

    Sending staff to learn Quality Assurance Course

    Sending staff to learn Configuration ManagementCourse

    Allocate resources to acquire project management andCMMI tools

    Select pilot projects for implementation

  • 8/3/2019 Software Process Improvement and CMMI

    19/25

    Managing Projects

    Executive announces objectives of implementing CMMI

    Executive appoint a Project Leader to manage a selectedproject following the CMMI model

    Staff members are appointed as team members withappropriate roles. A project must have QA and CM.

    Customers must be informed of the intention to followthe CMMI model so that customers will appropriatelyparticipate in the project processes.

    Standard processes are followed strictly until the projectis over.

  • 8/3/2019 Software Process Improvement and CMMI

    20/25

    Learn and Improve

    After implementing CMMI in a few pilot projects, SEPG shoulddiscuss the results and improve the software processes.

    All project staff should share the experience in using CMMI and

    recommendations must be given on improving the processes atthe end of the projects.

    More projects should be implemented using the improvedprocesses.

  • 8/3/2019 Software Process Improvement and CMMI

    21/25

    Thinking about Appraisal

    Organization should think about CMMI Appraisal whichis called SCAMPI-A.

    Appraisal can confirm that the organization implement

    CMMI correctly and provide insight into SW processimprovement.

    Appraisal must be led by SCAMPI Lead Appraiser.

    Appraisal Team Members must be appointed to help LAto review documents and to interview staff members

    working in the projects.

  • 8/3/2019 Software Process Improvement and CMMI

    22/25

    Three Phases of SCAMPI-A

    First Phase: Objective setting, Planning, Contracting

    Second Phase: Training of ATM, Document Review

    Third Phase: Onsite SCAMPI, Interviewing, Evidence

    Consolidation, Rating, Recommendation

  • 8/3/2019 Software Process Improvement and CMMI

    23/25

    What Thailand is doing?

    Two government offices are promoting the implementation ofCMMI in Thailand.

    Software Park is an official SEI Partner and has at least 3

    Lead appraisers and 1 Intro to CMMI Instructor. Software Park founds a SPIN group and supports a monthly

    meeting of SPIN Group members.

    Software Park initiates a project to provide funding for SWcompanies who need support to implement CMMI.

    SIPA plans to provide some funds also for SW companies toimplement CMMI

    SIPA also funds a simpler version of a similar standard forsmall enterprises

  • 8/3/2019 Software Process Improvement and CMMI

    24/25

    SPIN Group

    Software Process Improvement Network

    The group tries to help members to understand improvementprocesses through:

    Discussion Special lecture

    Site visit

    Please contact SW Park and apply for a membership

  • 8/3/2019 Software Process Improvement and CMMI

    25/25

    Acknowledgement

    Some slides here are adapted from SEI for providing ideasabout CMMI to the participants. Thanks for the kindness of SEIin allowing me to provide CMMI ideas to Thai software

    community. If you are interested in CMMI please visit the website:

    www.sei.cmu.edu

    You will also obtain many good advices and articles that canhelp you perform your job better.

    http://www.sei.cmu.edu/http://www.sei.cmu.edu/