Home  |  Newsletter | Feedback | Advertise - Online  | Help

Google
Web dqindia.com
Search by issue  | Sitemap

• Visit pcquest.com to know all about the business benefits of IT infrastructure outsourcing • Ad : Play and Plug ERP by IBM

 
Home > Industry

Quality Nirvana
ISO 9000, SEI CMM/CMMI, Six Sigma: the arcane vocabulary of the world of software standards needs demystification
Thursday, December 09, 2004
Print Comment Email DiggDigg DeliciousDel.icio.us RedittReddit TwitterTwitter

The endeavor of all software development organizations is to ensure consistent delivery of quality software to the clients to meet their requirements. Although quality is a subjective term, quality software means that it is reasonably bug-free and reliable, delivered on time, meets customer expectations, and is easily maintainable. Ther are a number of common problems in software development:

  • Most often the initial requirements specified by the customer are unclear and incomplete and they do not understand the effect of changes. This causes redesign, reallocation of tasks, work already done may have to redone or completely discarded.
  • The complexity of software development may be difficult to comprehend for anyone without experience in modern-day software development and strong expertise.
  • Extensive testing on any software module during development, integration and prior to release is necessary, and this needs designing test cases so as to ensure extensive code coverage, start testing early on, perform different types of testing, retest after fixes or changes. This may not be possible in all cases due to delivery pressures.
  • Generally programmers tend to avoid documenting the code and preparing other relevant documents (requirements specs, design etc.) thereby making the software difficult to maintain and modify.

ISO 9000, SEI CMM/CMMI are the most widely used in IT industry for general software development 

Software quality assurance (SQA)-defined as a planned and systematic approach to the evaluation of the quality of software and to check adherence to standards, processes and procedures-is becoming extremely important.

Different organizations follow different standards for coding, designing, testing etc. and also define processes and practices as per international standards such as: ISO 9000, SEI CMM/CMMI. Six Sigma methodology. which aims at defining processes to achieve near perfect products and services with defects not exceeding 3.4 per mn, has added another dimension to software quality assurance. The list includes ISO 9000, TL 9000 (for telecommunications), SEI CMM/CMMI, MIL-STD (military standard), DO 178B (for airborne systems), BS 7799 (for information security), etc. Of these, ISO 9000, SEI CMM/CMMI are the most widely used in IT industry for general software development. ISO 9000 is the most popular, easiest and least expensive to implement. The SEI Standards CMM and CMMI describe key process areas that a software organization must practice to be effective. Six Sigma follows a data driven approach and uses statistical techniques to measure process capability.

ISO 9000 (latest version ISO 9000:2000), proposed by the International Standards Organization, is a generic standard and can be applied to all types of industry including software. ISO 9000:2000 has five major sections with focus on customer satisfaction, data analysis and on continual improvement. ISO 9000 is a very broad, general and well-understood framework. ISO 9000 enables any organization to define the basic set of processes, their interconnectivity, build a framework for measuring and analyzing software metrics. A large number of ISO certification bodies, that perform the audit and certify, exist in India. Building an ISO 9000-based quality management system is relatively easy and most organizations can afford the certification.

Since November 1986, Software Engineering Institute (SEI) has been developing process maturity framework to assist organizations in improving their software processes. Their first fully developed model, Version 1.1 of SW-CMM for Software, was released in 1993. CMMI (CMM Integration) was proposed by SEI in 2000 to facilitate integration of the contents of SW-CMM, SECM for Systems Engineering) and IPD-CMM (for Product Development). Both SEI CMM and CMMI have five levels, with level 5 being the highest mark of maturity. While CMM is a staged model, CMMI has both staged and continuous representation.

SEI has approved lead assessors who can provide assessments to software organizations. The charge for CMM/CMMI assessments is much higher compared to ISO 9000:2000 and may be unaffordable for most of the small and medium IT enterprises. While SEI CMM and CMMI prescribes good practices for achieving maturity in software development, these practices can be followed even in an ISO 9001:2000 framework. This can result in substantial savings to an organization that doesn't want SEI certification but at the same time wants to benefit from practicing mature software development practices.

The concepts of SW-CMM level 4 and level 5 and Six Sigma are synergistic. SW CMM/CMMI provides the basic process framework to systematically apply Six Sigma techniques. Six Sigma methodology helps in analyzing the data to address CMM's key requirements, including quantitative process management, software quality management, defect prevention, technology change management, and process change management. While an organization can optimize its software development processes using QC tools and basic statistical techniques to reach SEI CMM/CMMI's level 5, its further quest for perfection can be achieved only by application of Six Sigma methodology. Six Sigma methodology based on strong statistical foundation aims at reducing variation of processes which are critical to business and follows the DMAIC (Define-Measure-Analyze-Improve-Control) phases. DMAIC can be applied to existing processes to improve the quality of deliverables (with very low defects), reduce the variation in actual and estimated project times, minimize delays due to ineffective understanding of customer requirements, reduce the time for design, coding and testing, improve the efficiency of regression testing, improve response time to customer complaints, etc. Unlike other quality standards, there is no certifying body for Six Sigma. The methodology is applied to projects selected on the basis of business needs and not throughout the organization. An organization therefore cannot be certified as a Six Sigma organization.

While application of Six Sigma methodology is well understood in the manufacturing and service sectors, its application to software development is still to pick up because of the lack of expertise in the application of statistical techniques like control charts, testing of hypothesis, correlation and regression analysis, DOE, ANOVA, etc, to software development processes.

There is no doubt, that for any organization, the first step in their quality journey is to build systems complying with ISO 9001:2000 standard. A ISO 9001:2000 certified organization can then start implementing the key practices prescribed in level 2 and 3 of SEI CMMI. After achieving this, they can move forward by implementing the level 4 and level 5 practices using basic quantitative techniques and institutionalizing these practices. Further improvement and reduction of error to 3.4 per mn-Quality Nirvana-comes only with Six Sigma!

Dr Anirban Basu, director, Quality+

Page(s)   1  

Print Comment Email DiggDigg DeliciousDel.icio.us RedittReddit TwitterTwitter



ZTE:Leading CDMA Technology


Extraordinary Networks:Freedom of Choice






Collective Intelligence @ Work

Analysts: Guiding Stars or Shepherds?

How's the 'pitch' looking?

What's your Everest?

 

 

 

 

 

 

Magazine Subscription | Sitemap | Contact Us | About Us | Advertising Print | Mediakit Print | jobs@cybermedia

Other CyberMedia web sites
  [Voice&Data]  [CIOL]  [PCQuest]  [Living Digital]  [IDC India]
  [CIOL Shop]  [DQ Channels]  [DQweek]  [CyberMedia Events]
  [Cybermedia Digital]  [CyberMedia India]   [Cyber Astro
  [Global Services Media ]  [BioSpectrum]  [BioSpectrum Asia]