When evaluating a software development company, one thing to look at is their use of a business process improvement system. A lack thereof may indicate their processes are unpredictable, disorganized, and mismanaged. One process improvement system, the Capability Maturity Model Integration model (CMMI), has become the de facto system for identifying and appraising an organization's practices and processes. In fact, almost all federal government software development contracts require a company to have a CMMI rating of Level 3 or higher.
Investment in the Appraisal
The CMMI appraisal process can be a long and strenuous endeavor. Companies will often spend many months if not years working on ways to balance administrative and managerial costs with code production, optimization of work tasks, estimate formalization, and accountability throughout an entire project's life cycle just to name a few. CMMI doesn't define a software development company, though. Instead, it provides guidelines that a company can compare their own processes and practices to determine areas of improvement and how to manage projects effectively as the company grows. A company who has invested in the CMMI appraisal process indicates they are in it for the long haul.
CMMI incorporates different levels of maturity ranging from Level 1 to Level 5 with ratings awarded for levels 2 through 5. A Maturity Level of 2 is known as "Repeatable". This means the processes of the organization are documented well enough to show their successes are repeatable. Maturity Level 3 is referred to as the "Defined" level which means the organization's set of standard processes is established and improved over time. Certain processes, such as Decision Analysis and Resolution, Integrated Project Management, Organizational Process Definition, and Organizational Training, are well characterized and understood. These processes are also used to establish consistency across the organization. At Level 3, a project's process descriptions and standards are derived from the organization's standard processes to suit a particular project.
What to Expect
Achieving CMMI compliance indicates a strong commitment to performance excellence. When dealing with a company with a Level 3 appraisal rating, you can expect a sustainable and measurable work-flow with well-defined processes and accurate time lines. They will be self improving, reducing costs through more effective management and better error detecting, and more consistent through project predictability. This ultimately means the company can develop better software at a faster rate and more cost effectively.