Over the past few months, the GFT Group went through a CMMI certification process, in which GFT Costa Rica played a part. I’d like to tell you a little bit more about this process and what it meant to the different people involved in it; but first let’s start by having a clear understanding of what CMMI is and which goals needed to be accomplished to achieve the certification.
To better define what exactly CMMI is, let’s look into the CMMI Institute’s definition:
“The Capability Maturity Model Integration (CMMI®) is a capability improvement model that can be adapted to solve any performance issue at any level of the organization in any industry”. (Source)
The level of maturity is measured through an assessment called SCAMPI, and the SEI (Software Engineering Institute) has categorized three classes of assessments. Further Information can be found here.
Now that you know what CMMI is, let’s talk about the process
In order to achieve the CMMI certification, GFT had to go through several stages. First, a specific project was selected from GFT Costa Rica, along with GFT sites from eight different countries; the main reason this particular project was selected was because it is one of a kind, meaning it is the only end-to-end project in GFT Costa Rica. It has a good level of maturity as well, and the team is following an agile methodology, so it presented an interesting challenge because CMMI is typically applied to other types of methodologies.
After notifying the people involved in the project, the next stage of team organization began. As I mentioned before, the team is working with an agile methodology, and so it needed to map the documentation they already had, with the documentation needed for the process. This was mainly made up of documents of the day to day process and any changes to the project, its architecture, requirements, retrospectives, backlog, test planning, etc.
The process for collecting all of the documents was a team effort; all members had to keep the documentation up to date and they needed to make sure the time to it took to create it was included in the estimation of the tasks. The steps that followed for the collection of information were, organizing the documentation, using a standard format, ensuring they are accessible, providing onboarding for new resources, ensuring the functionality of the documents that were created (added value), matching process, i.e. Identifying which documents from the project match with the documents required for CMMI.
At this stage, I believe it is safe to say that the biggest challenge was filling in the gaps in the documentation. To accomplish this task, CMMI categories needed to be mapped to the GESUM, which is a document with the standard categories of GFT global. This whole stage left important assets that gave an extra value to the client and to the company by allowing a project to follow a standard. There is a common misunderstanding in agile projects where teams assume that they should not produce any documentation, but in a mature organization, we understand that there are important documents and processes to follow, such as risk management.
You must be wondering if an agile methodology is compatible with CMMI. Well, I must say: of course it is. An agile project follows most of the tasks required by CMMI, but in a different format. A good example of this is the management of requirements, while CMMI asks for a requirements list; in Scrum, they have the product backlog. Another misconception is that CMMI requires more documentation than a usual agile project. This is completely false. AMapping can be done in Scrum with the ceremonies, tools and artefacts to achieve the same objective than in CMMI.
The team also went through a phase of interviews, or appraisals in which they were divided into three different groups: the project governance team, the development team, and the PPQA. Each interview focused on the specifics of the corresponding area.
The key point to making the interview a success, was that the interviewers wanted to know more about the daily processes of the team, the artefacts to track the information, and how was quality assured. Therefore, all of the team members were on point with the knowledge, but the strategy was that each member took the time to think about each question and that the right person was in charge of answering it. At the end, it was a team effort, with everybody supporting and complementing each other.
Quality assurance was another aspect that helped. The team had a well-defined track of issues, good test cases, and a traceability matrix to ensure that all requirements were tested, as well as all team members being responsible of the quality of the product. The QA team was also involved, but only in the early stages of the project up to the planning and estimation of tasks. The metrics were an important tool to ensure the quality because as the code was measured and tested, it could be proven that any issues diminished as the project advanced. In the end, the issues detected within the metrics were highly technical and were detected, as they should have.
Also involved in the process was the PPQA manager, his role in the certification process was to evaluate, guide and educate the team in order for them to understand what CMMI is. In addition, the PPQA provided training and education needed in matters of CMMI and GFT’s methodology.
I’m guessing you’re wondering what happens at the end?
Well, we in GFT Costa Rica are now officially CMMI Level 3 certified, and with this, we became the 4th CMMI certified company in Costa Rica.
We can say it was a success! This was all achieved thanks to the amazing team behind the project, one that with great technical skills, drive and compromise managed to deliver a high quality product to one of our clients and from now on, it has become a Gold Standard project in GFT Costa Rica. The evaluators found that the team was very involved and excited about the project as they displayed a high level of compromise and pride about the work done. After all, the SCAMPI group was very impressed with the passion the team had for this project.