Wednesday, August 17, 2016

CMMI Development Case Study

Case of a Mission Critical System

Story of a large size (50+) software maintenance and production support project. It was a mission critical system having 2/3 Releases per week and highly volatile requirements. Average cycle time for the system changes was 2 days.

Customer faced post-delivery issues after almost every release and this delayed the new release by more than a month. Due to the defects observed, the project always missed important deadlines wrt statutory requirements.

Customer reported the issue to the CEO of the vendor company and Customer suggested implementing CMMI practices.

Solution to the issue: CMMI Implementation

As a result of CMMI initiative took place in the entire organisation. A full time software quality analyst was appointed on the project.

Following were the tasks performed by the quality person:

1.    The defects reported by the customer reported were analysed to understand the root causes of the problems. It was observed that most of the problems are due to lack of proper communication, lack of clarity about the requirements, and lack of review processes

2.    Performing initial process analysis, it was observed that there were few problems in the process as below:

·         No estimates for the changes to be done
·         No root cause analysis to understand the problems
·         No plans were prepared to schedule the release delivery
·         Effort spent by the team member was not reported
·         No clarification from the customer on the requirements.
·         There was no evidence process documentation
·         No review of requirements, design, test plan, source code, and release plans.
·         No confirmation about user acceptance

3.    The issues in the process were discussed with the project manager and quality head, subsequently it was decided that audits shall be performed for every release.

4.    Estimation model based on complexity of the change requirements was prepared.

5.    Release schedule was established and team was asked to update the effort spent on each task mentioning activity wise effort spent.

6.    A Release Process template was prepared which included:
·         Change Request Description
·         Changes to UI Design
·         Changes to Database Design
·         Test Cases
·         Release Note
·         Live Migration Plan

7.    Customer was informed that due to new process introduced the cycle time would increase from 2 days to two weeks. As customer was concerned about defect free delivery, he agreed to accept delivery every couple of weeks.

8.    The checklist was prepared which included items such as
·         Change Request Note (CR)
·         Requirements Analysis,
·         Review of Requirements analysis by project lead
·         Customer approval on Requirements analysis
·         Changes to user interface and database design  
·         Peer review of design
·         Peer review of source Code
·         Test cases
·         Peer review of test cases
·         Review of test cases by customer
·         Closure of defects reported during reviews and testing,
·         Confirmation about User Acceptance Test
·         Review of release plan

9.    Independent quality auditor was given authority to stop the release delivery if there was non-compliance.
10.  After every release the release audit was conducted and problems were resolved before the final delivery.

Over a period of six months, the post-delivery defects have been significantly reduced and customer results were highly satisfactory.

At an Organisation level, CMMI initiative was happening where other projects learned from the experience and cross-pollination between the projects started happening.

Lot of other initiatives which took place with the support from organisational level process functions as below. The initiative was to standardise the project practices and roll out them to the larger audience. Following practices were implemented:

·         OSSP Orientation
·         Project Defined Process
·         Configuration Management and Audits
·         Risk Management
·         Decision Analysis and Resolution

Project processes started improving further when organisation moved from CMMI Level 3 to 4 and then to 5 subsequently in three years. Following practices were implemented.

·         Quantitative Project Management
·         Causal Analysis and Resolution
·         Process and Technology Innovation

Over the period of 3 years, the project processes became capable of delivering high maturity performance.


This is how the critical problem faced by a project became an opportunity for the organisation to improve its process and make use of the same to attain high maturity status amongst the early CMMI adopters. This proved to be competitive advantage for the organisation which was now even more ready to take quantum leap towards achieving business excellence.

No comments:

Post a Comment