It has been sometime that I have been thinking about how can the PMBOK® and CMMi practices be best used on a software project, which will ensure, to an extent, that the project will be successful.
Should I use PMBOK® practices only or CMMi practices? Or Both? Or just pick best practices from both? Is it guaranteed that if we follow the best practices from both, my project is destined to be successful?
Success or failure of a project does not merely depend on selection of these approaches. It depends a lot on many other factors too.
In this blog, I will try to discuss my perspective on collaborating PMBOK® and CMMi.
A biRd’s EYE ViEW on PMBOK®:
PMBOK® provides many project management processes/activities that need to be performed to make a project successful. These processes/activities are categorized into 5 different Process Groups (Initiating, Planning, Executing, Monitoring and Control, Closing) and 9 different Knowledge Areas.
- It defines the Inputs, Tools/Techniques and Outputs for each of these Project Management processes.
- Is not a specification, it is a guide.
- Is with an understanding that the correct application of these skills, tools and techniques can enhance the success probability of the project.
- Is applicable irrespective of the type of project, may be a building/road construction project, space rocket project, or may be a software project.
- Leaves the decision to the project team to decide on which processes are needed and with what rigor.
A biRd’s EYE ViEW on CMMi (Capability Maturity Model Integration):
- A set of standards for Process Improvement, it helps to improve an ad-hoc immature process to a more systematic effective process organization.
- It identifies the key elements of a effective process, and the key process areas/activities to improve the effectiveness.
- A framework that provides a way to measure and benchmark an organization’s process maturity with respect to the defined key elements and compare against other organizations.
PMBOK® v/s CMMi:
In this section, I am trying to describe the areas where collaboration between PMBOK® and CMMi can be very effective for projects.
1. PMBOK® emphasizes on both WHAT and HOW of the process activities by defining the Inputs, Tools/Techniques and Outputs for the processes. Whereas CMMi defines the WHAT by defining the CMMi specific requirements, but it leaves the HOW part to the team. If I am following CMMi practices, I would definitely look into the PMBOK® to know about the tools/techniques (HOW) and inputs/outputs of those processes.
2. PMBOK® has been very elaborating on the Project Management aspects on all the Project life cycle phases – Initiating, Planning, Executing, Monitoring and Control and Closing. But CMMi focuses more on Planning, Monitoring and Control. Organizations following CMMi practices may strengthen Initiating, Executing and Closing areas by applying the PMBOK® process activities from these process groups.
3. PMBOK® describes Project Management without addressing projects of any specific field, whereas the primary focus of CMMi is on Software Engineering and Software projects. How I look into this is that – one should definitely make sure that the Software Engineering practices prescribed by CMMi are followed in the Software projects, but he/she should never undermine the PMBOK® – defined “Project” characteristics inherent in Software projects.
4. PMBOK® does not necessarily address the larger organization where the projects are getting executed, but CMMi addresses organizational process improvement extensively.CMMi scores well above PMBOK® in this area. Though PMBOK® suggests to record project experiences as “Lessons Learned” for future references, this is not enough to ensure the continuous process development. If the organization needs an organizational level process improvement, those CMMi practices shall be applied even when only PMBOK® practices are being used.
5. Another important area where CMMi focuses more is on Preventive actions. As the focus is on organizational process improvement, the learning from one project is applied in other projects to ensure that the best practices are continued and the previous mistakes are not repeated. If I am on a project managed with PMBOK® way, I would definitely try to pick those CMMi areas which will help me to do better in the future.
6. In the organizations, which have a “Projectized” structure, the project team members report to a Functional resource manager with a dotted line relationship with the Project Manager of the project that they are working for. Even though the resource management responsibilities lie with the functional manager, he/she cannot completely perform this responsibility without the collaboration with the project manager. The project manager, indeed, has a very important role to play by providing – resource development needs, performance feed backs and improvement areas, team conflicts etc to the functional manager. PMBOK® does provide a good amount of guidelines for an effective human resource management whereas CMMi does not focus much in this area.
7. Let’s discuss about few specific areas, take Configuration Management. As we know, a well-defined and executed Configuration Management system is a must for a Software project, it may not be that crucial for other projects. PMBOK® does emphasis on configuration management, but CMMi has gone to the next level of maturity specific to configuration management of software project artifacts. As a software project manager we should definitely do far more than what PMBOK® has described on Configuration Management, I will leave this as one of the key indicators for success or failure of software projects.
8. Another area where PMBOK® has done very well is the Communication Management. No one can deny the fact that the communication plays the most critical role in making a project successful. Ignoring the importance of systematic communication planning can leave the stakeholders dissatisfied. I will always refer to PMBOK® to make an effective communication plan.
9. PMBOK® has described, in very details, on performance measurement and forecasting using Earned Value measurement. The various formulas for SPI, CPI, ETC, EAC etc. are really well explained in PMBOK®.
CMMi focuses on setting the right processes with an objective of correcting and improving organization processes, whereas PMBOK® focuses on selection and execution of right processes with right set of inputs and tools and methodologies. Pick the right processes as required by your project, but make sure that while doing so you don’t make it too heavy !