Tuesday, 21 June 2011

Software Testing Standards - CMM

Capability Maturity model
-          It is a five level assessment model
-          Capability Maturity Model (CMM) broadly refers to a process improvement approach that is based on a process model. CMM also refers specifically to the first such model, developed by the Software Engineering Institute (SEI) in the mid-1980s, as well as the family of process models that followed.
Capability Maturity Model Integration
CMMI is a process improvement approach that provides organizations with the essential elements of effective processes that ultimately improve their performance. CMMI can be used to guide process improvement across a project, a division, or an entire organization
The models include the following process areas: requirement gathering, project planning and tracking, quality assurance, configuration management, training, collaboration and peer reviews.
CMMI –includes hardware too
You can use CMMI in three different areas of interest:
The Capability Maturity Model (CMM) is a way to develop and refine an organization's processes.
1.       Initial
2.       Repeatable
3.       Defined
4.       Managed
5.       Optimized
2. Repeatable- project activities are focussed
 Includes requirement management; software project planning; software project tracking and oversight; software subcontract management; software quality assurance; software configuration
Management
3. Defined-organizational activities are focussed
                - Reviews
                -The software process for both management and engineering activities is documented, standardized, and integrated into a standard software process for the organization.
  • organizational process focus, organizational process
  • definition, training program, integrated software management,
  • software product engineering, intergroup coordination, peer reviews
4. Managed
  • process measurement and analysis; quality management;
  • defect prevention
5. Optimized
-          technology innovation, process change management
Disadvantages
-have to do more documentation
- More or less like a waterfall models
- takes more time for reviews, checklist to find errors
IEEE-Institute of Electrical and Electronic engineers.
·         IEEE 1008, a standard for unit testing
·         IEEE 1012, a standard for Software Verification and Validation
·         IEEE 1028, a standard for software inspections
·         IEEE 1044, a standard for the classification of software anomalies
·         IEEE 1044-1, a guide to the classification of software anomalies
·         IEEE 830, a guide for developing system requirements specifications
·         IEEE 730, a standard for software quality assurance plans
·         IEEE 1061, a standard for software quality metrics and methodology
·         IEEE 12207, a standard for software life cycle processes and life cycle data
·         BS 7925-1, a vocabulary of terms used in software testing
·         BS 7925-2, a standard for software component testing
IEEE 829-1998, also known as the 829 Standard for Software Test Documentation, is an IEEE standard that specifies the form of a set of documents for use in eight defined stages of software testing, each stage potentially producing its own separate type of document. The standard specifies the format of these documents but does not stipulate whether they all must be produced, nor does it include any criteria regarding adequate content for these documents.


·          
IEEE 829 is not so much about how to test, but how to document that you have tested.
Merely incorporating IEEE 829 will not make a success of a project. It can, however, help to make a success by providing guidelines and pointing the way to better understanding and to better documentation.
ISO-International Organization for Standards
ISO (International Organization for Standardization) is the world's largest developer and publisher of International Standards.
Many companies require their suppliers to become registered to ISO 9001 and because of this, registered company’s find that their market opportunities have increased. In addition, a company's compliance with ISO 9001 ensures that it has a sound quality management system, and that's good business.
ISO 9000 is a set of standards for quality management systems that is accepted around the world. Currently more than 90 countries have adopted ISO 9000 as national standards. When you purchase a product or service from an organization that is registered to the appropriate ISO 9000 standard, you have important assurances that the quality of what you receive will be as you expect
What 'international standardization' means
ISO 9000 has become an international reference for quality requirements in business to business dealings, and ISO 14000 looks set to achieve at least as much, if not more, in helping organizations to meet their environmental challenges
ISO 9000 is concerned with "quality management". This means what the organization does to enhance customer satisfaction by meeting customer and applicable regulatory requirements and continually to improve its performance in this regard. ISO 14000 is primarily concerned with "environmental management". This means what the organization does to minimize harmful effects on the environment caused by its activities, and continually to improve its environmental performance.
The Plan – Do – Check – Act (PDCA) cycle is the operating principle of ISO's management system standards.
ISO 9001:2008 is the latest standard of ISO.
ISO/IEC 20000 is the first international standard for IT Service Management. It describes an integrated set of management processes for the effective delivery of services to the business and its customers. It sets out the main processes to deliver IT services effectively
The ISO 14000 family addresses various aspects of environmental management. The very first two standards, ISO 14001:2004 and ISO 14004:2004 deal with environmental management systems (EMS). ISO 14001:2004 provides the requirements for an EMS and ISO 14004:2004 gives general EMS guidelines.
ISO 9000 series if standards:
ISO 9001 is one of a series of quality management system standards. It can help bring out the best in your organization by enabling you to understand your processes for delivering your products/services to your customers. The ISO 9001 series of standards consist of:
  • ISO 9000 – Fundamentals and Vocabulary: this introduces the user to the concepts behind the management systems and specifies the terminology used.
  • ISO 9001 – Requirements: this sets out the criteria you will need to meet if you wish to operate in accordance with the standard and gain certification.
  • ISO 9004 – Guidelines for performance improvement: based upon the eight quality management principles, these are designed to be used by senior management as a framework to guide their organizations towards improved performance by considering the needs of all interested parties, not just customers.
Six Sigma
Six Sigma is a rigorous and disciplined methodology that uses data and statistical analysis to measure and improve a company's operational performance by identifying and eliminating "defects.
Six Sigma methodology provides the techniques and tools to improve the capability and reduce the defects in any process.
It was started in Motorola, in its manufacturing division, where millions of parts are made using the same process repeatedly. Eventually Six Sigma evolved and applied to other non manufacturing processes. Today you can apply Six Sigma to many fields such as Services, Medical and Insurance Procedures, Call Centers.
Six Sigma projects follow two project methodologies inspired by Deming's Plan-Do-Check-Act Cycle. These methodologies, comprising five phases each, bear the acronyms DMAIC and DMADV.
  • DMAIC is used for projects aimed at improving an existing business process.[12]
  • DMADV is used for projects aimed at creating new product or process designs.[
The fundamental objective of the Six Sigma methodology is the implementation of a measurement-based strategy that focuses on process improvement and variation reduction through the application of Six Sigma improvement projects
The Six Sigma DMAIC process (define measure, analyze, improve, control) is an improvement system for existing processes falling below specification and looking for incremental improvement.
The Six Sigma DMADV process (define, measure, analyze, design, verify) is an improvement system used to develop new processes or products at Six Sigma quality levels
DMAIC
  • Define the project goals and customer (internal and external) deliverables
  • Measure the process to determine current performance
  • Analyze and determine the root cause(s) of the defects
  • Improve the process by eliminating defects
  • Control future process performance
DMADV
  • Define the project goals and customer (internal and external) deliverables
  • Measure and determine customer needs and specifications
  • Analyze the process options to meet the customer needs
  • Design (detailed) the process to meet the customer needs
  • Verify the design performance and ability to meet customer needs
Six Sigma is a disciplined, data-driven approach and methodology for eliminating defects (driving towards six standard deviations between the mean and the nearest specification limit) in any process -- from manufacturing to transactional and from product to service.
What’s the difference between ISO 9001 and CMM?
Understanding and documenting the true requirements is a key element in both standards.
ISO 9001 and the whole ISO process approaches software from a manufacturing standpoint. CMM approaches it from a development standpoint.
The CMM model was designed with five levels of maturity.
ISO does not have them. CMM’s level 5 is the ultimate level, and [there are] only about 200 companies in the world that are at level 4 or above. It is pretty elite. CMM standards are more stringent that ISO standards. ISO standards are very loose. ISO does not say you have to have certain standards, but CMM says you must meet these standards
CMM was designed to ensure bug-free development. And ISO is designed to put quality into the manufacturing process.
ISO
ISO 9000 is a process-management standard that, until recently, has been used primarily by the manufacturing industry.
Why ISO 9000 certification? It certifies that management is controlling a large set or sets of processes that deal with every function inside the business.
ISO 9000 is not just about service or product quality; it's about management quality. These standards address process management, requiring companies to identify and document processes that need to be controlled, from executive management through to the production of an item or service.
The ISO 9000 standard is not about so much changing the way you do things as it is documenting what you do. And the reason you document them is because you need to be able to perform to those documents."

What is ITIL? ITIL stands for Information Technology Infrastructure Library. It provides a comprehensive, consistent and coherent set of best practices focused on the management of IT service processes.

TIL promotes a quality approach to achieving business effectiveness and efficiency in the use of information systems.

People Capability Maturity Model

The People Capability Maturity Model (People CMM) is a framework that helps organizations successfully address their critical people issues. Based on the best current practices in fields such as human resources, knowledge management, and organizational development, the People CMM guides organizations in improving their processes for managing and developing their workforces. The People CMM helps organizations characterize the maturity of their workforce practices, establish a program of continuous workforce development, set priorities for improvement actions, integrate workforce development with process improvement, and establish a culture of excellence. The P-CMM can also be used by any kind of organization as a guide for improving their people-related and work-force practices.
The P-CMM is designed to allow software organizations to integrate work-force improvement with software process improvement programs guided by the CMM.
The key process areas at Level 2 focus on instilling basic discipline into workforce activities. They are work environment, communication, staffing, performance management, training, and compensation.

The key process areas at Level 3 address issues surrounding the identification of the organization's primary competencies and aligning its people management activities with them. They are knowledge and skills analysis, workforce planning, competency development, career development, competency-based practices, and participatory culture.
The key process areas at Level 4 focus on quantitatively managing organizational growth in people management capabilities and in establishing competency-based teams. They are mentoring, team building, team-based practices, organizational competency management, and organizational performance alignment.
The key process areas at Level 5 cover the issues that address continuous improvement of methods for developing competency, at both the organizational and the individual level. They are personal competency development, coaching, and continuous workforce innovation.

1 comment: