Software Quality Assurance MBA 474
Module III: Software Quality Assurance Implementing an IT Quality function, Content of SQA Plan, Quality Tools, Quality baselines, Model and assessment fundamentals, Internal Auditing and Quality assurance.
Software quality assurance (SQA) consists of a means of monitoring the software engineering processes and methods used to ensure quality The methods by which this is accomplished are many and varied, and may include ensuring conformance to one or more standards, such as ISO 9000 or a model such as CMMI. SQA encompasses the entire software development process, which includes processes such as requirements definition, software design, coding, source code control, code reviews, change management, configuration management, testing, release management, and product integration. SQA is organized into goals, commitments, abilities, activities, measurements, and verifications.
Implementing an IT Quality function
To design a product well, a design teams needs to know what it is they are designing, and what the end-users will expect from it. Quality Function Deployment is a systematic approach to design based on a close awareness of customer desires, coupled with the integration of corporate functional groups. It consists in translating customer desires (for example, the ease of writing for a pen) into design characteristics (pen ink viscosity, pressure on ball-point) for each stage of the product development QFD "is a method for developing a design quality aimed at satisfying the consumer and then translating the consumer's demand into design targets and major quality assurance points to be used throughout the production phase. ... [QFD] is a way to assure the design quality while the product is still in the design stage." As a very important side benefit he points out that, when appropriately applied, QFD has demonstrated the reduction of development time by one-half to one-third. (Akao, 1990) The 3 main goals in implementing QFD are:
1 Prepared By: Mrs Deepika Dhamija
Software Quality Assurance MBA 474 1. Prioritize spoken and unspoken customer wants and needs. 2. Translate these needs into technical characteristics and specifications. 3. Build and deliver a quality product or service by focusing everybody toward customer satisfaction. Since its introduction, Quality Function Deployment has helped to transform the way many companies: Plan new products Design product requirements Determine process characteristics Control the manufacturing process Document already existing product specifications
Content of SQA Plan
Planning is one of the most important aspects of Software Quality Assurance. The entire operation of the SQA team depends on how well their planning is done. In smaller businesses, planning might not really dictate the flow of SQA but in larger businesses, SQA Planning takes on center stage. Without it, each component or department that works on the application will be affected and will never function. In gist, SQA Planning tackles almost every aspect of SQAs operation. Through planning, each member and even non-member of the SQA team is clearly defined. The reason for this is very simple: when everyone knows their role and boundaries, there is no overlapping of responsibilities and everyone could concentrate on their roles. But SQA Planning is not only a document that tells who gets to do the specific task. The stages in are also detailed. The whole SQA team will be very busy once the actual testing starts but with SQA, everyones work is clearly laid out. Through planning, the actual state of the application testing is known.
2 Prepared By: Mrs Deepika Dhamija
Software Quality Assurance MBA 474 Again in smaller businesses, the planning maybe limited to the phase of the application testing but when outlined for corporations, the scenario changes and only through planning that everyone will know where they are and where they are going in terms of SQA. SQA Planning is not just a simple document where objectives are written and stages are clearly stated. Because of the need to standardize software development ensuring the limitation of error, a scientific approach is recommended in developing an SQA plan. Certain standards such as IEEE Std 730 or 983. SQA Plan Content An SQA Plan is detailed description of the project and its approach for testing. Going with the standards, an SQA Plan is divided into four sections: Software Quality Assurance Plan for Software Requirements; Software Quality Assurance Plan for Architectural Design; Software Quality Assurance Plan for Detailed Design and Production and; Software Quality Assurance Plan for Transfer In the first phase, the SQA team should write in detail the activities related for software requirements. In this stage, the team will be creating steps and stages on how they will analyze the software requirements. They could refer to additional documents to ensure the plan works out. The second stage of SQA Plan or the SQAP for AD (Architectural Design) the team should analyze in detail the preparation of the development team for detailed build-up. This stage is a rough representation of the program but it still has to go through rigorous scrutiny before it reaches the next stage. The third phase which tackles the quality assurance plan for detailed design and actual product is probably the longest among phases. The SQA team should write in detail the tools and approach they will be using to ensure that the produced application is written according to plan. The team should also start planning on the transfer phase as well. The last stage is the QA plan for transfer of technology to the operations. The SQA team should write their plan on how they will monitor the transfer of technology such as training and support.
3 Prepared By: Mrs Deepika Dhamija
Software Quality Assurance MBA 474
Quality Tools
Quality tools plays an important role in evaluating and improving the software Quality assurance.Seven basic tools of quality are:
Flow Charts
This is one of the basic quality tools that can be used for analyzing a sequence of events. The tool maps out a sequence of events that take place sequentially or in parallel. The flow chart can be used to understand a complex process in order to find the relationships and dependencies between events. You can also get a brief idea about the critical path of the process and the events involved in the critical path. Flow charts can be used for any field and to illustrate events involving processes of any complexity. There are specific software tools developed for drawing flow charts, such as MS Visio. You will be able to freely download some of the open source flow chart tools developed by the open source community.
2. Histogram
Histogram is used for illustrating the frequency and the extent in the context of two variables. Histogram is a chart with columns. This represents the distribution by mean. If the histogram is normal, the graph takes the shape of a bell curve. If it is not normal, it may take different shapes based on the condition of the distribution. Histogram can be used to measure something against another thing. Always, it should be two variables.
4 Prepared By: Mrs Deepika Dhamija
Software Quality Assurance MBA 474
Consider the following example: The following histogram shows morning attendance of a class. The .x. axis is the number of students and the .y. axis the time of the day.
3. Cause and Effect Diagram
Cause and effect diagrams (Ishikawa Diagram) are used for understanding organizational or business problem causes. Organizations face problems everyday and it is required to understand the causes of these problems in order to solve them effectively. Cause and effect diagrams exercise is usually a team work. A brainstorming session is required in order to come up with an effective cause and effect diagram. All the main components of a problem area are listed and possible causes from each area is listed. Then, most likely causes of the problems are identified to carry out further analysis.
4. Check Sheet
A check sheet can be introduced as the most basic tool for quality.
5 Prepared By: Mrs Deepika Dhamija
Software Quality Assurance MBA 474
A check sheet is basically used for gathering and organizing data. When this is done with the help of software packages such as Microsoft Excel, you can derive further analysis graphs and automate through macros available. Therefore, it is always a good idea to use a software check sheet for information gathering and organizing needs. One can always use a paper based check sheet when the information gathered is only used for backup or storing purposes other than further processing.
5. Scatter Diagram
When it comes to the values of two variables, scatter diagrams are the best way to present. Scatter diagrams present the relationship between two variables and illustrate the results on a Cartesian plain. Then, further analysis, such as trend analysis can be performed on the values. In these diagrams, one variable denotes one axis and another variable denotes the other axis.
6 Prepared By: Mrs Deepika Dhamija
Software Quality Assurance MBA 474
6. Control Charts
Control chart is the best tool for monitoring the performance of a process. These types of charts can be used for monitoring any processes related to function of the organization. These charts allow you to identify the following conditions related to the process that has been monitored. a. b. c. d. Stability of the process Predictability of the process Identification common cause of variation Special conditions where the monitoring party needs to react
7. Pareto Charts
Pareto charts are used for identifying a set of priorities. You can chart any number of issues/variables related to a specific concern and record the number of occurrences. This way you can figure out the parameters that have the highest impact on the specific concern. This helps you to work on the propriety issues in order to get the condition under control.
7 Prepared By: Mrs Deepika Dhamija
Software Quality Assurance MBA 474
Internal Auditing and Quality Assurance Internal auditing is an independent, objective assurance and consulting activity designed to add value and improve an organization's operations. It helps an organization accomplish its objectives by bringing a systematic, disciplined approach to evaluate and improve the effectiveness of risk management, control, and governance processes A Quality Assurance and Improvement Program (QAIP) enables an evaluation of the internal audit activity's conformance with the Definition of Internal Auditing and theInternational Standards for the Professional Practice of Internal Auditing (Standards) and an evaluation of whether internal auditors apply the Code of Ethics. The program also assesses the efficiency and effectiveness of the internal audit activity and identifies opportunities for improvement. All internal audit activities, regardless of industry, sector, or size of audit staff even those outsourced or co-sourced must maintain a QAIP that contains both internal and external assessments. External assessments enhance value, as they enable the internal audit activity to evaluate conformance with the Standards; internal audit and audit committee charters; the organizations risk and control assessment; the effective use of resources; and the use of successful practices. An internal audit activity must obtain an external assessment at least every five years by an independent reviewer or review team to maintain conformance with the Standards. Internal assessments are ongoing, internal evaluations of the internal audit activity, coupled with periodic self-assessments and/or reviews. If you have not yet established a QAIP, a good first step on the path to quality is to conduct an internal quality assessment. This will establish a benchmark of the internal audit activity that can be used to establish metrics. Over time, these metrics will indicate improvement in areas of partial conformance or nonconformance with the Standards and successful practices.
8 Prepared By: Mrs Deepika Dhamija
Software Quality Assurance MBA 474
MODULE-6
Quality Standards
standard is a document that provides requirements, specifications, guidelines or characteristics that can be used consistently to ensure that materials, products, processes and services are fit for their purpose. We publish over 19 500 International Standards that can be purchased from the ISO store or from our member ISO International Standards ensure that products and services are safe, reliable and of good quality. For business, they are strategic tools that reduce costs by minimizing waste and errors, and increasing productivity. They help companies to access new markets, level the playing field for developing countries and facilitate free and fair global trade. The ISO 9000 series of standards is based on eight quality management principles that senior management can apply for organisational improvement: 1. Customer focus 2. Leadership 3. Involvement of People 4. Process Approach 5. System approach to management 6. Continual improvement 7. Factual approach to decision-making 8. Mutually beneficial supplier relationships ISO 9000 series Developed by the ISO Technical Committee 176, published in 1987 and updated approximately every five years, the standards comprise five documents whose focus is Quality Assurance Systems. These five documents are:
ISO 9001 ISO 9001 is titled Quality Systems - Model for Quality Assurance In Design/Development, Production, Installation and Servicing.
9 Prepared By: Mrs Deepika Dhamija
Software Quality Assurance MBA 474
This is the most comprehensive quality model. Companies pursue this standard when they assure conformance to specified requirements during several stages, which may include design and development, production, installation and servicing. ISO 9002 ISO 9002 is titled Quality Systems - Model for Quality Assurance in Production and Installation. Companies pursue registration to this standard when they assure conformance to specified requirements during production and installation. ISO 9003 ISO 9003 is titled Quality System - Model for Quality Assurance in Final Inspection and Test. Companies pursue registration to this standard when they assure conformance to specified requirements only during final inspection and test.
Guideline Standards
ISO 9000 and 9004 are two supporting guideline documents. ISO 9000 ISO 9000 is titled Quality Management and Quality Assurance Standards - Guidelines for Their Selection and Use. This standard provides an overview of the entire series. It describes quality concepts, defines quality terms and helps a company decide which quality model standard to use. ISO 9004 ISO 9004 is titled Quality Management and Quality System Elements - Guidelines. This standard provides further insight into the three quality model standards. It helps a company develop and implement an internal quality system or evaluate an existing system for ISO 9000 compliance.
10 Prepared By: Mrs Deepika Dhamija