Tuesday, January 23, 2007

Quality Certifications and What they Mean in Software Development

Large scale software development companies are still quite young and the software industry itself is a fairly new one. Outsourcing of software development has been around for only a couple of decades and as the industry gains maturity, quality certification has taken on a whole new meaning for suppliers as well as customers. Quality certification in software is slightly different from quality certification in manufacturing. Though a number of business process management and quality control principles are derived from popular quality certifications, the implementation and implications are noticeably different.

There are two broad types of quality certifications which can be obtained by software development companies. One is the ISO 9001:2000 standard and the other is various levels of SEI CMM. Some organizations may achieve an ISO first and then work towards an SEI CMM level certification whereas some may go directly to an SEI CMM certification. ISO certification however, is a lot easier than SEI CMM (as well a lot cheaper) and thus the number of companies with ISO certifications are quite a few whereas SEI CMM level companies are not so many in number.

One of the key benefits of quality certification in a software development company is that it showcases the maturity and continuity of the organization. Both quality certifications pay attention to processes. ISO guidelines state that you should define a process and make sure that it is being followed whereas SEI CMM dictates certain parameters of a process within which the company should work. Achieving certification and maintaining the documented processes provides a long term growth pattern in the company and at the same time helps in building a differentiating factor with customers.

Apart from the maturity and continuity of the organization, software development companies need quality certification to ensure the success of large projects. Tried and tested development methodologies which are part of the certification process ensure that the coding and designing produced by the company are of a high standard and will withstand the test of use and durability. Customers planning to do business with a quality certified company find it much easier to get a good quality software product. Non-certified companies have a tough time when competing with a certified company and that is the reason why more and more software development companies are moving towards quality certification.

Most medium to large companies are moving towards SEI CMM level certification as that quality certification has been developed with software development in mind. There are various levels of the certification and level 5 is the highest a software development company can achieve. The entire certification process for SEI CMM level is lengthy, time consuming and quite expensive when compared with ISO 9001:2000 but the benefits compensate often compensate for that.

So if you are a software company and have not yet gone down the path of certification, it is time you gave it serious thought. If you are an organization looking to outsource software development work to companies in India, China, the Philippines, Poland or parts of Eastern Europe, it is advisable that you consider their quality certifications. Though we have mostly mentioned ISO 9001:2000 quality certifications, there are other industry and technology specific certifications which can also be obtained by software development companies. Usually these certifications are given by software manufacturers or independent bodies and though they might not be as critical as the quality certifications mentioned, they have a good level of importance when evaluating a supplier.