Chakib Jaber
Chief Technology Officer
SpinSys

Ramesh Ramaraj
Director of Engineering
SpinSys

Introduction

SpinSys has seen significant growth over the years, and we recently decided to focus on taking the quality of our services to the next level. Commitment to customer satisfaction is inherent to SpinSys’ culture, and because of that excellence, quality in delivery, and institutionalizing a flexible process improvement methodology are critical aspects of our overall management approach. The goal of the SpinSys senior management was to establish a process that was both defined and repeatable. Repeatable processes with continuous improvement cycles would enable the company to provide excellent products and services to its customers. As part of this journey, we decided to parallel our company processes with both CMMI and ISO standards. This goal would allow us to focus on ensuring our engineering processes (aligned with CMMI DEV v1.3) follow and maintain specific industry standards while also ensuring quality focus on information security (ISO 27001:2013) and service delivery (ISO 9001:2015, ISO 20000-1:2011) from an organizational level. In line with our targeted goal, SpinSys was recently assessed at CMMI-DEV Level 3 and received the ISO 27001: 2013, ISO 9001: 2015, and ISO 20000-1:2011 certifications. 

Continuous improvement is at the core of our project management methodology. Our pursuit of continuous process improvement resulted in several quality-related benefits observed by our organization and the customers we serve. Our company and customers have seen the benefits of our focus on quality, services, and processes, and we wanted to share some of our lessons learned and success factors for the implementation of the CMMI and ISO certifications. Aligning organizational processes with industry standards such as CMMI and ISO can be a particularly daunting task for organizations and individuals who are not familiar with the models’ practices. 

CMMI and ISO provide standard practices. However, these are not defined processes. Organizational processes need to meet the value-added nature of your business needs and align with the industry standards with tailoring as applicable. Many people look at process improvement like they do diet and exercise. Everyone wants to be fit, but only a few want to put in the necessary effort to get there.

All process improvement activities should be examined and understood in context to determine how they relate to the cultural system of the organization that will implement them. As a result of first traveling down the wrong path of implementation and then down the right one, we learned some key lessons and identified various success factors to apply as we continue on our journey of process improvement. We have summarized the ten most essential success factors from our experience to make sure others can learn from our mistakes.

1. Leadership commitment and sponsorship

As SpinSys continued to grow, the leadership team recognized the key to success was to embed process improvement into our corporate culture. Creating a structured and repeatable process with continuous improvement would enable the company to provide excellent products and services to our customers. While process improvement is not feasible without investing time, money, and effort, the leadership team identified process improvement as a strategic objective for the organization and began implementation as if it were an individual project. 

Timesheet codes were created to track all the activities related to the project. Process improvement requires modifications of day-to-day habits for both management and staff, and changing habits often cause the resistance of individuals or groups. The necessary investment of time and money, and the need to overcome staff resistance are potential impediments to software process improvement initiatives. These obstacles cannot be overcome without management support. The right culture and leadership will cause the organization’s behaviors to align well with CMMI and ISO goals.

2. Staff involvement and commitment

Changing practices is one thing, but changing minds can be a tougher challenge. Staff participation is essential to improvement activities since employees must adopt process innovations in their day-to-day activities. If staff members do not commit to the proposed changes, the improvement initiative will inevitably fail. Ideally, improvement activities should be promoted from within the team as activities promoted by a group external to those involved in the process are less likely to be well accepted. 

Staff members must be involved in the improvement initiative as they have detailed knowledge and first-hand experience of the strengths and weaknesses of current processes. It is paramount that staff members understand that process improvement efforts enhance and support their daily work and should not be viewed as a separate activity.  To facilitate this, we formed an engineering process team consisting of senior staff members who were passionate about the success of the organization and had the most in-depth process, service, and engineering knowledge.

3. Right consultants

A poor choice of consultants can be very costly, have long term effects on the viability of the program, and adversely affect the credibility of the leadership in the organization. In selecting a consultant, understand that experience is perhaps the most critical characteristic. Look for someone who understands the work your organization does or understands the business, who balances process improvement and model compliance, and who will provide guidelines on how to evaluate your process effectively. Past performance and experience in multiple contexts can help increase your confidence that a consultant can assist in implementing an effective solution for your situation. A consultant who understands the organizational context can guide in areas where the organization does not have any expertise and can help the program stay on track. Try and choose a consultant who will coach rather than prescribe to ensure their goal is to make you self-sufficient and the expert.

4. Technology

Any discussion on process improvement would invariably emphasize the importance of addressing the people, process, and technology. Continuous process improvement is about making changes to the business process and not necessarily technology. Technology changes are just enablers that allow the process improvement to occur, but they are not prerequisites. The last time we failed, we built a product in-house to enable the process improvements, but it ended up adding tremendous overhead costs.

The process is the way that work is being performed on current projects. It is nothing more or less than the day-to-day work activities carried out by the developers, testers, project managers, and other team members. The process documentation is the infrastructure being provided to the projects to help them perform their work in a consistent manner. 

The organization should not abandon everything that they are currently doing to implement just any item to achieve the maturity model. Instead, they should determine how best to integrate some of the models’ more value-added practices into their existing processes and process documentation to enhance project performance. Use simple tools like Word and Excel to enable quick and less costly process change in the organization’s projects. Leverage existing infrastructure and tools to kick start the process. Remember, CMMI specifies the “what” and not the “how to do it.”

5. Process document repository

No other tool has contributed more to our continuous improvement efforts than our central online document/knowledge repository. We satisfied an astounding number of practices in several process areas by merely having a secure version and access controlled repository to store and baseline company and process assets. It would have been difficult, if not impossible, to account for and audit our assets without it adequately. We created guidelines, templates, and checklists documents to help and initiate process requirements for all relevant members of the organization. We made sure all the project team members could pull information from one location to know about process requirements and store objective evidence needed for external appraisals.

6. Set relevant, realistic, measurable goals

Setting relevant objectives means that the improvement efforts attempt to contribute to the success of the organization.  Setting realistic objectives means that the goals may be achieved in the foreseeable future and with a reasonable amount of resources. Relevant and realistic objectives contribute to the clarity of expectations and the degree to which the expected results are shared across all levels of the organization. This helps to direct the efforts towards common objectives, to focus energy, and to motivate people in the projects. A goal without a measurable outcome is like a sports competition without a scoreboard or scorekeeper. Numbers are essential part of business. Setting measurable goals means that breaking your goal down into measurable elements.

7. Communication

Most of our employees have demanding customer deliverable deadlines, and all of them work extremely hard to add value to the company. Demanding that already busy employees drop whatever they are doing to meet organizational objectives related to CMMI and ISO requirements they may not understand or appreciate is not necessarily the most effective or productive way to achieve buy-in. It was vital that we respect our employees’ time and effort by ensuring that each of them knew what the senior management goals and objectives were in relation to aligning with CMMI and ISO standards, why it was essential to the company to mature our processes, and how this maturity would benefit the entire company with continuous growth and improvement.

8. Develop iteratively

Following an iterative transition process — making small changes continually — is a logical way to adopt an Integrated Process Management System that is itself iterative. Doing so will be much more likely to result in a successful and sustainable transition. We used a simple excel sheet to manage the prioritized list of capabilities to be developed, work to be performed, and issues to be addressed within the organization as part of our process improvement effort. Tweaking the process documents should also be expected as the project team members become accustomed to the new changes and begin to suggest improvements in usability.  We created an email address to accept process improvement requests from the project teams.

Improvements to the organizational processes and assets are obtained from various sources, including but not limited to:     

  • Measurement and analysis of existing processes
  • Lessons learned
  • Results from the internal process compliance audits
  • Practitioner/Subject Matter Expert recommendations
  • Industry standards and best practices

9. Internal audits

Regular internal audits ensure process compliance across the organization. We assembled an internal quality assurance team responsible for conducting the process compliance checks for the projects. We picked candidates from developers, testers, business analysts, system administrators, and project managers who had a keen interest in helping the organization meet its quality objectives. To ensure objectivity, each person was assigned to a project different than their usual one. The QA team was essential in determining initial process effectiveness through the analysis of audit results. They conducted internal audits using predefined checklists at frequent intervals and provided insights from the projects to provide improvement opportunities. They also reported the process compliance rating to senior management. The results of audit analysis determined whether the processes needed to be adjusted or more training was necessary to facilitate process awareness.

10. Provide coaching and training

Our ability to be successful with CMMI started with an educational process.  We initiated our transformation by setting a goal to conduct instructor-led classes to familiarize and create a willingness for our employees to try CMMI and ISO standards and practices. This was important for getting everyone on the same page, sharing the vision, and increase the team’s willingness to embrace the concepts of these industry standards. We conducted practice-specific training at different times and increased our intensity to give a more profound sense of the new organizational processes. We also provided opportunities for the project team members to share information and problems and conducted mock interview sessions with the practitioners to improve their understanding of our updated standard processes aligned with CMMI and ISO.

Our process improvement journey has been an enjoyable one, and we are looking forward to the next destination (maturity through continuous process improvement). CMMI and ISO standards do not define your work. However, they are truly the best practices to effectively and efficiently refine it. This is an excellent opportunity to encourage continuous thinking in the organization.

Good luck with your organization’s process improvement journey!