As a software development professional that has been in the IT industry for over 30 years, I think it is fair to say I have a qualified perspective on the effect that process and standardization have on producing software products and services. Back in the day, however, I didn’t always understand the need for these formalities. I would ask questions like, “Is it really necessary to ‘document’ my code?” or “Do we really need to do ‘that’ on ‘all’ of our deliverables?” or say, “I can get so much more done if I didn’t need to worry about ‘dotting the I’s and crossing the T’s.’” I make sure my code is documented and tested; why do I have to consider other approaches?” It all just seemed to be a waste of time and money to me.
Well, that was me as a coder, many moons ago, and I’m sure that these types of concerns still resonate with others today. Now I have a different perspective as an owner and partner of Segue Technologies, and the current Director of Software Engineering. There are a whole host of challenges that arise with answering those core questions while still maintaining productivity and quality across the enterprise of services and development platforms. As a business owner, I am fully cognizant of the acronym ROI (Return on Investment) and how most decisions, if not all, are based on what the ROI expectations tell us. This both applies to the operations and success of Segue, and to the value and quality of our services for our customers.
Can a balance be achieved between administration and management costs and just “cranking out the code?” Should a formal analysis be conducted and investments made with the hope of the coveted ROI? Or was I right in my junior years? As an organization, you can start to find this balance by delving into process organizations whose whole mission in life is centered on identifying everything under the sun coupled to “best practices.” You know who they are: ISO, ITIL, Six Sigma, IEEE, and a host of others. They all have white-papers and checklists that are truly inspirational and offer practical guidance in possibly achieving that necessary “balance.”
The Importance of a CMMI Appraisal
The Software Engineering Institute (SEI), at Carnegie-Melon University, was initiated by the U.S. Department of Defense. SEI has long been the organization which not only researches and recommends development improvements, processes and practices, but provides an independent and objective “appraisal” as to whether an organization is actively practicing these standards. This last fact alone justifies a CMMI appraisal from a purely compliance perspective. It has become increasingly more common to see the requirement for a development company to have had a successful CMMI appraisal conducted in order to even qualify for Federal Government contracts. Bottom line: if you do work for the Federal government, you better get started with a CMMI Appraisal, if you haven’t already!
The Benefits of CMMI Accreditation
Through experience and (dare I say) wisdom, I have seen first-hand the benefits that CMMI accreditation has brought to our organization, to include:
1. Expectation of Sustainment for the long haul
2. A balance between productivity and process by aligning our internal processes, with the Process Areas called out in the CMMI guidance.
Repeatability is the key for process success, and as they have now become the norm and not painful, everyone is in synch with the expectations.
Without an appraisal, it is doubtful that our organization would have implemented a sustainable and measurable process that everyone is aware of and that drives operations. We have seen ROI through optimization of tasks, estimation techniques, ownership/accountability, management, and how all corporate components play a role in quality through a consistent work-flow, just to list a few!
What to Expect During a CMMI Appraisal
This is where the bulk of your investment takes place. It involves all facets of your organization and requires training and management. You will also need to pay for the independent appraisal itself, from a qualified SEI appraiser. In addition, there are options to work with certified CMMI organizations that can consult and guide you through the appraisal preparation. There are also a series of tools and guides available from SEI, at no cost, that allow you to conduct the preparation without need of consultation.
In our journey toward CMMI appraisal, our organizational “pains” occurred when we embarked on the inventory and mapping of what we were currently doing, as compared to the CMMI process areas and generic and specific practices. Gaps were identified and addressed and all of those were found to add value to our organization. It was well worth it though, as we did realize ROI and can measure it routinely now!
The beauty of CMMI is its different levels of maturity. These help guide an organization to continually improve and implement practices in chunks rather than having to deal with everything at once. We can now progress and refine improvement as we mature by building on the CMMI foundation we have established. The more mature your organization becomes, following the CMMI progression/capability levels, the more you become competitive through optimization and quality. Most important to my business and to the value I can provide my customers, is continually improving ROI.