software process improvement and cmmi
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/