0% found this document useful (0 votes)
55 views27 pages

SQA Unit 1

Uploaded by

Agrima
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
0% found this document useful (0 votes)
55 views27 pages

SQA Unit 1

Uploaded by

Agrima
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
You are on page 1/ 27
Ree RRC MC Rea Compiled By: Asst Prof. Snehal Tandale Vidyalankar Schcol OF Vidyalankar School of sieanaiioel Technology snehal.tandale@vsit.edu.in V S I T Information Technology | wadala(e), Mumbai. NAAC AccREDITED CoLLece | www.wsitedu.in Vidyalankar School of V SIT Information Technology NAAC AccREDITED COLLEGE Certificate Thin ia te cntily tha the ebook ttled “SOFTWARE QUALITY ASSURANCE" comprises all Lament learning tools lon a letter understating of he relevant concets Tia book is compaentivtly compiled as po the Pradefined eight paraonctens and guideline ge Signature ‘Ms. Snehal Tandale Date: 18-12-2018 Assistant Professor Department of IT 4. DISCLAIMER: The information contained in this e-book is compiled and distributed for educational purposes only. This e-book has been designed to help learners understand relevant concepts with a more dynamic interface. The compiler of this e-book and Vidyalanka School of Information Technology give full and due credit to the authors of the contents, developers and all websites from wherever information has been sourced. We acknowledge our gratitude towards the websites YouTube, Wikipedia, and Google search engine. No commercial benefits are being drawn from this project. Unit 1 Contents: Introduction to Quality: Historical Perspective of Quality, what is Quality? (Is it a fact or perception?), Definitions of Quality, Core Components of Quality, Quality View, Financial Aspect of Quality, Customers, Suppliers and Processes, Total Quality Management (TQM), Quality Principles of Total Quality Management, Quality Management Through Statistical Process Control, Quality Management Through Cultural Changes, Continual (Continuous) Improvement Cycle, Quality in Different Areas, Benchmarking and Metrics, Problem Solving Techniques, Problem Solving Software Tools. Software Quality: Introduction, Constraints of Software Product Quality Assessment, Customer is a King, Quality and Productivity Relationship, Requirements of a Product, Organization Culture, Characteristics of Software, Software Development Process, Types of Products, Schemes of Criticality Definitions, Problematic Areas of Software Development Life Cycle, Software Quality Management, Why Software Has Defects? Processes Related to Software Quality, Quality Management System Structure, Pillars of Quality Management System, Important Aspects of Quality Management. Recommended Books: Sr. na Title Author's Publisher Edition Software Testing and re 1 Continuous Quality Third Lewis Press Improvement Software Testing: Principles, 2 | Techniques and Tools red Dorothy Graham, Erik 3 Foundations of Software Testing “2” Cengage third Veenendaal, Learning Isabel Evans, Rex Black Software Testing: A Craftsman’s Paul C. crc Fourth Approach Jorgenson Press Prerequisites and Linking: No. | Semester Name of the Course Topics 1 4 Software Engineering Different types of Tests Unit 4: Introduction to Quality and Software Quality What is Quality? (Is it a fact or perception?) The term ‘Quality’ means different things to different people at different times, different places and for different products. To some users, a quality product may be one, which has no/less defects and works exactly as expected and matches with his/her concept of cost and delivery schedule along with services offered. “Quality is fitness for use”. Quality is defined as,” Conformance to specifications” because a very little change to the design of a product and have to make the product as per the design which will best suite the user's other expectations like less cost, fast delivery and good service support. Quality is the extent to which the customers/users believe that the product meets or surpasses their need and expectations. Others believe that quality means delivering products that: - ‘* Meet customer standards either as defined by the customer or defined by the normal usage or by some national or international bodies. ‘+ Meet and fulfil customer needs which include expressed needs as well as implied requirements. ‘+ Meet customer expectations as maximum as possible. ‘© Meet anticipated / unanticipated future needs and aspirations of customer Definitions of Quality For achieving the quality of the product, one must define it in some measureable terms which can be used as a reference to find whether quality is really met or not. The definitions of quality from different perceptions are as follow: - 1) Customer- Based definition of Quality: Quality product must have “Fitness for use”. 2) Manufacturing- Based definition of Quality- This approach gives the definition of “Conformance to requirements”. 3) Product- Based definition of Quality- The product must have something that other similar products do not have. 4) Value- Based definition of Quality- Many times it is claimed that “People do not buy products, they buy benefits”. 5) Transcendent Quality- To many users/customers, it is not clear what is meant by a “quality product”, but as per their perception it is something good and they want to purchase it because of some quality present/absent in the product. Core Components of Quality Quality of a product must be motivated by customer requirements and expectations from the product. Some postulates of quality are: - 1) Quality is based on Customer satisfaction by acquiring a product: - Customer's satisfaction and delight is the most important factor in determining whether the quality of the product has been achieved or not. 2) The organization must define Quality parameters before it can be achieved. In order to satisfy a customer, one must follow a cycle of ‘Define’, Measure’, ‘Monitor’ Control’ and ‘Improve’. The cycle of improvements through measurements is as follow: DFFINF: - There must he same definition af what is required in the product, in terms af attributes or characteristics of a product and in how much quantity it is required to derive customer satisfaction MEASURE: - Measurement gives a gap between what is expected by a customer and what is delivered to them when the product is sold. MONITOR: There must be some mechanism available with the manufacturer to monitor the processes used in development, testing and delivering a product to a customer. CONTROL: - Control gives the abili things going to a customer. to provide desired results and avoid the undesired IMPROVE: - Continuous/Continual improvements are necessary to maintain on-going customer satisfaction and overcome possible competition, customer complaints. 3) Management must lead the organization through improvement effort. Management is the single strongest force existing in an organization to make the changes as expected by a customer. 4) Continuous process(Continual) improvement is necessary. The cycle of continuous or continual improvement (Plan-Do-Check-Act or Define-Measure-Monitor-Control-Improve) must be used. Continuous VS Continual Improvement Continuous improvement Continuous improvement is dynamic in nature. The changes are done at every stage and every time to improve further. Continual improvement Continual improvement is dynamic as well as static change management. The changes are done, absorbed, baselined and sustained before taking next step of improvements. Continuously striving for excellence gives a continuous improvement Periodic improvements followed by stabilization process and sustenance represent continual improvement Tt has a thrust on continuous refinement of the processes to eliminate waste Continuously Stabilization of processes at each iteration of improvement where waste is removed in stages Tt has high dependence on people having innovative skills tending towerds inventions. Less dependence on people and more dependence on innovation processes Environment is continuously changed. Changes in environment are followed by stabilization. Sometimes it creates a turbulence in an organization, if people are not able to digest continuous change. It may be better suited than continuous improvement. It gives a chance to settle the changes before next change is introduced. Stake Holders Stakeholders are the peoples or entities interested in success/failure of a project or product. The various stakeholders are as follows: - Customer: - Customer is the main stakeholder for any product/project. Supplier: - Suppliers gives inputs for making a project/product. Employee: - People working in a project /an organisation may be termed as employees. Management: - People managing the organisation/project may be termed as management. Two more stakeholders in the success as well as failure of any project/product/organisation are society and government. Their existence isnot felt at project level or at organisation level but at macro level. Society: - Society benefits as well as suffers due to successful projects/organisations. Successful projects/organisations generate more employment and wealth for the people who are in the category of customer, supplier, employee, management, etc. it also affects economics of a society to a larger extent. Government: - Government may be further classified as local government, state government, central government etc. Government benefits as well as suffers due to successful projects/organizations. Quality View Customer's view of quality: - Customer's view of quality of product interprets customer’s requirements and expectations of getting a better product at defined schedule, cost and with adequate service along with required features and functionalities. Delivering Right Product: - The product received by customers must be useful to satisfy their needs and expectations. It may or may not be correct product from manufacturer's perspective or what business analyst/system designer may think. Satisfying Customer's Needs: - Needs may be part of processes for doing requirement analysis and selection of approaches using some techniques such as cost-benefit analysis, etc. Meeting Customer Expectations: - customer expectation can be categorized into two parts as, expressed expectations and implied expectations. Treating Every Customer with Integrity, Courtesy, and Respect: - Customer and the requirements are very important for a developing organization as customer will be paying on the basis of value he finds in the product. Supplier’s View of Quality: Supplier is a development organization of software application development. Supplier expectations may range from profitability, name in the market, repeat orders, customer satisfaction, etc, These expectations may be fulfilled in the following ways: - Doing the Right Things: - Supplier is intended to do right things for the first time so that there is no waste, scrap, rework, etc. Changes in requirements are considered as problems. Doing it the Right Way: - A producer may have his own methods, standards, and processes to achieve the desired outputs. Doing it Right the First Time: - Doing right thing the first time may avoid frustrati rework, etc. and improve profitability, reduce cost and improve customer satisfaction. Doing it on Time: - All resources for developing a new product are scarce and time factor has a cost associated with it. The value of money changes as time changes. Thus, money received late is as good as less money received. Quality Gap User’s expectations User's gap / Requirement gap Requirements specifications Producer's gap / Development gap Product attributes The above figure explains a gap between customer expectations from the product. User’s Gap / requirement Gap: - ctual product requirements for the product and It is a gap between requirement specifications for the product and user expectation from it Developers must convert user needs into product requirement specification and create the product exactly as per these specifications. Closing User’s Gap: - User’s gap represents the failure seen by the customer in terms of difference between user needs and product specifications. Methods for closing these gaps may depend on organizations way of thinking, resource availability, type of customer, customer’s thought process, etc. some of these methods are: - Customer Survey: - Customer surveys are essential when an organization is producing a product for a large market where a mismatch between the product and expectation can be a major problem to the producer. Joint Application Development: - Joint Application Development is sometimes called as Agile methodology of development where developers collaborate with customer during, development. Use Involvement ion Development: - User may be involved in approving requirement specifications, design specification, application user interfaces, ete. Users may have to answer the queries asked by developers and provide clarifications if any. Producer’s gap / Development Gay Producer's gap is a gap between product actually delivered and the requirement and design specifications developed for the product. Producer’s Gap: - Procedure’s gap can be seen as the defects found in in-house testing and there must be process improvement plans to close this gap. Process Definition: - Development and testing processes must be sufficiently mature to handle the transfer of information from one person or one stage to another during software development life cycle Work Product Review: - As the stages of software development life cycle progresses, one may have to keep a close watch on artifacts produced during each stage to find if any inconsistency has been introduced with respect to earlier phase. Financial Aspect of Quality Earlier, people were of the opinion that more price of a product represents better quality as it involves more inspection, testing, sorting, etc. and ensures that only good parts are supplied to the customer. Sales price was defined as: - Sales Price=Cost of manufacturing + Cost of Quality + Profit If any product enjoys higher profitability, more number of producers would enter into competition. Number of sellers may exceed number of buyers. When the products produced match in all aspects, the cost would decide the quantity of sale. The competitor, who reduces the price, may get more volume of sale if all other things remain constant. Reducing the sales price reduces percentage profit. Thus in a competitive environment, the equation changes to: Profit=Sales price - [Cost of manufacturing + Cost of Quality] Cost of Manufacturing: - Cost of manufacturing is the cost required for developing the right product by right method atthe first time. The money involved in resources like material, people, licenses, etc. forms a cost of manufacturing. Cost of Quality: - Cost of Quality represents the part of cost of production incurred in improving or maintaining quality of product. Some people keep cost of manufacturing and cost of quality as separate while others may include them under the cost of production. On the basis of quality focus, organizations may be placed in 2 categor Cost of prevention: - An organization may have defined processes, guidelines, standards of development, testing ete. It may define a program of imparting training to all people involved in development and testing. This may represent a cost of prevention. This is also termed as “Green Money”. Generally, it is believed that 1 part of cost of prevention can reduce 10 parts of cost of appraisal and 100 parts of cost of failures. Cost of appraisal: - The cost incurred in first time reviews and testing is called as the cost of appraisal. This is termed as “Blue Money” as it can be recovered from the customer. Generally, it is believed that I part of cost of appraisal can reduce 10 parts of cost of failures. Cost of failure: - Cost of failure starts when there is any defect or violation detected at any stage of development including post-delivery efforts spent on defect fixing. Any extent of rework, retesting, sorting, scrapping, regression testing, late payments, sales, under concession etc. represents cost of failure. This is termed as “Red Money”. This cost affects the profitability of the project/organization badly. viz. organizations which are less quality conscious (termed as ‘q’) and organizations which are more quality conscious (termed as *Q”). The stribution of cost of quality for these two types is as below: ~ Failure Appraisal Appraisal : Prevention Prevention Less quality consciousness (q) More quality consciousness (Q) The bottommost rectangle represents cost of prevention. As the organization’s quality consciousness increases, prevention cost increases. The organization may have defined processes, methods, work instructions, standard, guideline, template, formats, etc. Teams are supposed to use them while building a product or testing it. More cost of prevention may be justifiable for a project/product only if it reduces the cost of failure. Middle rectangle represents cost of Appraisal. As quality consciousness increases, cost of appraisal also increases. An organization may prepare various plans and then review these plans, write the test cases, define test data, execute test cases, analyses defects and initiates actions to prevent defect recurrences. There may be checklists, guidelines etc. used for verification and validation activities. The cost incurred in appraisal must be justifiable and must reduce cost of failure. The topmost rectangle represents cost of failure. Cost of failure includes the cost associated with any failure which may range from rework, retesting, etc. including customer dissatisfaction or loss of revenue, etc. As quality consciousness improves, failure cost must reduce. Thus, the overall cost of quality must reduce as quality consciousness of the organization increases. Definition of Quality Few of the definitions prescribed for quality are: - 1) Predictable Degree of Uniformity, Dependability at Low Cost and suited to market. ‘One must be able to predict the product behavior beforehand. One must expect reliable results from quality products every time they are used. 2) Degree to which a set of inherent characteristics of the Product/Service Fulfills the Requirements. The definition of quality stresses the need that the product must conform to defined and documented requirement statement as well as expectations of users. 3) Ability of a product or service that bears upon its ability to satisfy implied or expressed needs. This definition of quality of product is derived from the approach of “Fitness for use”. Product should achieve defined requirements as well as implied requirements. Customers, Suppliers and Processes For any organization, there are some suppliers supplying the inputs required and some customers who will be buying the outputs produced. Suppliers and Customers may be internal or external to the organization. In turn, suppliers may be customers for some other organizations and customers may be acting, as suppliers for somebody else. Internal Customer: - Internal Customers are the functions and projects serviced and supported by some other functions/projects. If internal customers are satisfied, this will automatically satisfy external customer as it sets the tone and perspective for everybody. External Customer: - External customers are the external people to the organization who will be paying for the services offered by the organization ‘These are the people who will be actually buying products from the organization, As the organization concentrates on external customer for their satisfaction, it must improve quality of its output. Total Quality management (TQM) Total Quality management (TQM) is the application of quality principles to all the facets and business processes of an organization, It talks zbout applying quality methods to the entire organization whether a given function or part of the organization faces external customer(s) or not. Quality Principles of Total Quality management (TQM) Total Quality management works on some basic principles of quality management definition and implementation, Some quality principles of TQM are:- 1) Develop Constancy of purpose of definition and deployment of various i Management must create constancy of purpose for products and processes, allocating resources adequately to provide for long term as well as short term needs rather than concentrating on short term profitability iatives: 2) Adapting to new philosophy of managing people/stakeholders by building confidence and relationships: - Management must adapt to the new philosophies of doing work and getting the work done from its people and suppliers. 3) Declare freedom from mass inspection of incoming/produced output: - It was believed that one must check everything to ensure that no defect goes to the customer. 4) Stop awarding of lowest price tag contracts to suppliers: - Organizations must perform measurements of quality of supply along with price and do the source selection on the basis of final cost paid by it in terms of procurement, rework, maintenance, operation etc, 5) Improve every process used for development and testing of products: - Improve every process of planning, production and service to the customer and other support, processes constantly. 6) Institutionalize training across the organization for all people: - An organiz must institute modern methods of training which may include on-the-job training, classroom training, self-study etc. for all people, including management, to make better use of their abilities. 7) Institutionalize leadership throughout organization at each level: - An organization must adopt and institute leadership at all levels with the aim of helping people to do their job in a better way. 8) Drive out fear of failure from employees: - An organization must encourage effective two-way communication and other means to drive out fear of failure from the minds of all employees. 9) Break down barriers between functions/departments: - Physical as well as psychological breaking down of barriers between departments and staff areas may create a force of cohesion. 10) Eliminate exhortations by numbers, goals, targets: - Eliminate use of slogans, posters and exhortations of the work force, demanding ‘Zero defects’ and new level of productivity, without providing methods and guidance about how to achieve it. 11) Eliminate arbitrary numerical targets which are not supported by processes: - Eliminate work standards that prescribe quotas for the work force and numerical goals for managers to be achieved 12) Permit pride of workmanship for employees: - Remove the barriers that take away the pride of workmanship for workers and management. People must feel proud of the work they are doing and know how they are contributing to organizational vision. 13) Encourage education of new skills and techniques: - Institute a rigorous program of education and training for people working in different areas and encourage self- improvement programs for everyone. 14)Top management commitment and action to improve continually: - It is not sufficient that the top management commits for quality and productivity but employees must also see and perceive their commitments. Quality Management through Statistical Process Control ‘One must understand the interrelationships among customers, suppliers and processes used in development, testing etc. and establish quality management based on metrics program. There are three parts of the approach: - 1) Quality Planning at all levels: - Quality planning is not an accident but is a result of deliberate efforts to achieve something which is defined in advance. Quality planning happens at two levels: - a) Quality Planning at Organizational level: - Quality must be planned organizational level first. It must be in the form of policy definition and strategic quality plans on the basis of vision, mission and policies set by senior management, b) Quality Planning at Unit level: - Quality Planning at unit level must be done by the people responsible for managing the unit. Project plan and quality plan at unit level must be consistent with the strategic quality plans at organizational level and must be derived from the organization's vision and missions. 2) Quality Control: - Quality control process attempts to examine the present product at various levels with the defined standards so that an organizations may appraise the ‘outcome of the processes. 3) Quality Improvement: - Improvement process attempts to continuously improve the quality of the process used for producing the product. There is no end to quality improvements and it needs to take newer challenges again and again. Quality Management through Cultural Changes Quality management through cultural change defines quality improvements as a cultural change driven by management. It involves: - 1) Identifying areas in which quality can be improved depending upon process capability measurements and organizational priorities. 2) Improving the quality of the processes of development, testing, managing, etc. is a team work led by management directives. 3) Setting measurable goals in each area of an organi: processes at all level. 4) Management must demonstrate commitment to quality improvements and recognition of achievements is a step in this direction. 5) Repeating quality improvement cycle continuously by stretching goals further for next phase of improvements is required to maintain and improve the status further. jon can help in improving Continual (Continuous) Improvement Cycle Continual (continuous) improvement cycle is based on systematic sequence of Plan-Do- Check-Act activities representing a never ending cycle of improvements. PDCA improvement cycle can be thought of as a wheel of improvement continually (continuously) rolling up the problem-solving hill and achieving better and better results for the organization in each iteration. Stages of Continual (Continuous) improvement through PDCA are:- 1) Plan:- An organization must plan for improvements on the basis of its vision and mission definition. Planning includes answering all questions like who, when, where, why, what, how etc. 2) Do: Plan is not everything but a roadmap. Actual execution of a plan can determine whether the results as expected are achieved or not. Do process need inputs like resources, hardware, software, training, etc. for execution of a plan 3) Check:~ An organisation must compare actual outcome of Do stage with reference or expected results which are planned outcomes. It must be done periodically to assess whether the progress is in proper direction or not and whether the plan is right or not 4) Act: If any deviations (positive or negative) are observed in actual outcome with respect to planned results, the organization may need to decide actions to correct the situations. Benchmarking and Metrics Benchmarking is the concept creating qualitative/quantitative metrics or measureable variables, which can be used (0 assess product quality on several scales against a benchmark. Typical variables of benchmarking may include price of a product paid by customer, time required to acquire it, customer satisfaction, defects or failures, attributes and features of product, ete. Metrics are defined for collecting information about the product capabilities, process variability and outcome of the process in terms of attributes of products. Metric is a relative measurement of some parameters of a product which are related to the product and processes used to make it, Problem Solving Techniques Problem solving can be accomplished by both qualitative and quantitative methods. Qualitative problem solving refers to understanding a problem solution using only qualitative indexes such as high, medium, low etc. depending on whether something is improving or deteriorating from the present status and so forth. Quantitative problem solving requires specification of exact measures in numerical terms such as ‘the cost has increased 32.5% during the last quarter’ or ‘the time required to produce one product unit is reduced by 32 minutes’ Problem Solving Software Tools ‘There are some advantages and disadvantages associated with usage of tools for problem solving. Advantages of using software tools for analysis and decision making: 1) Accuracy and speed of the tools is much higher compared to performing all transactions and calculations manually. 2). Decision support offered by the tool is independent of personal skills and there is least variation from instance to instance 3) Tools can implement theoretical means of assessing metrics about quality as defined by business law. There is no manual variation, 4) Tools give more accurate and faster results. 5) Tools can be integrated with other systems to provide a systematic and highly integrated means of solving problems. Disadvantages of using computer tools for analysis and decision making: - 1) These programs and tools need training before they can be used. 2) All software / hardware is prone for defects and these tools are not exceptions to it. 3) Decision has to be taken by human being and not by the tools. 4) Tools may mean more cost and time to learn and implement. Difference between Tools & Techniques Tools Technique Usage of tool is guided by the technique. | Technique is independent of any tool Tool is of no use unless technique to use it is available. Different techniques may use same ‘Same technique may use different tools tool to achieve different results to achieve same result Tool improvement needs technological | Technique change can be effected Change through procedural change Contribution of tools in improvement is | Contribution of technique in limited improvement is more important Software Quality Constraints of software product quality assessment Testers may or may not have direct access to the customer and may get information through requirement statements, queries answered, etc. either from the customer or business system/analyst, etc. There are few limitations of product quality assessment in these scenari 1) Software is virtual in nature. Software products cannot be seen, touched or heard. 2) There is huge communication gap between users of software and developersitesters of the product. 3) Software is a product which is unique in nature. are superficial ones, 4) All aspects of software cannot be ‘ested fully as number of permutation and combinations for testing all possibilities tend to infinity. 5) An application with a problematic code executes wrongly every time it is executed. imilarities between any two products Customer is a king ‘The customer is the most important person in any process of developing a product and using it. A satisfied customer is an important achievement for an organization and is considered as an investment which may pay back in short as well as long term. Satisfied customers may give references to others and come back with repeated orders. Factors determining success To be a successful organization, one must consider the following factors, entities, and their interactions with each other. Internal customer and internal supplier: - when an organization is grouped in to various functions/departments, then one function/department acts as a supplier or a customer of another function/department. * External customer and External Suppliers: - External customers may be the final users, purchasers of software, etc. External suppliers are the entities who are external to the organization and who are supplying to the organization. Quality and productivity relationship Quality improvement does not talk about product quality only but a process quality used for making such a product. If the processes of development and testing are good, a bad product will not be manufactured in the first place. It will reduce inspection, testing, rework, cost/price. Thus quality must improve productivity by reducing wastage. Following shows how quality and productivity are related to each other: - 1) Improvement in quality directly leads to improved productivity. 2) The hidden factory producing scrap, rework, sorting, repair and customer complaint is closed. 3) Quality improvements lead to cost reduction. 4) Employee involvement in quality improvement. 5) Proper communication between management and employee is essential. 6) Employees participate and contribute in improvement proces 7) Employees share responsibility for innovation and quality improvement. Requirements of a product There are basic requirements for building software, which will help customers conduct their business in a better way. Following are the different categories of requirements: - 1) Stated/implied Requirements: - Some requirements are specifically documented in software requirements specifications while few others are implied ones. 2) General/ Specific requirements: - Some requirements are generic in nature, which are generally accepted for a type of product and for a group of users while some others are very specific for the product under development. 3) Present/Future requirements: - Present requirements are essential when an application is used in present circumstances while future requirements are for future needs which may be required after some time span. 4) ‘Must’ and ‘Must not’ requirements or primary requirements: ~ Must requirements are primary requirements for which the customer is going to pay for while acquiring the product. Must not requirements which must be absent in the product. 5) ‘Should be’ and ’should not be’ requirements or secondary requirements: - Should be requirements are the requirements which may be appreciated by the customer if they are present/absent and may add some value to the product. 6) ‘Could be’ and ‘Could not be’ requirements or Tertiary requirements: could be requirements are requirements which may add a competitive advantage to the product but may not add much value in terms of price paid by the customer. Organization Culture *Y organizations are more quality conscious organizations while ‘q? organizations are less quality conscious organizations. Quality culture is'Q Quality culture is not" These organizations believe in listening to customers and determining their requirements These organizations assume that they know customer requirements These organizations concentrate on identifying cost of quality and focusing on it to reduce cost of failure which would reduce overall cost and price These organizations overlook cost of poor quality, hidden factory effect. They believe in more testing to improve product quality. Doing things right for the first time and every time is the motto of success Doing things again and again to make them right is the way of working. Inspection, rework, scrap ete. are essential. They concentrate on continuous 7 continual process improvement to eliminate waste and get better output They work in a way of finding and fixing the problem as and when they are found. Onetime fix for each problem after it occurs. These organizations believe in taking ownership of processes and defects at all These organizations tries to assign responsibility of defects to someone else levels They demonstrate leadership and | They believe in assigning responsibility commitment to quality and customer for quality to others satisfaction Shift in Focus from ‘q’ to ‘ As the organization grows from ‘q’ to *Q’ there is a cultural change in attitude of the management and employees towards quality and customer. Following are improvement process where focus of quality changes gradually. 1) Quality control approach (Finding and Fixing defects): - There are huge testing teams, Jarge investment in appraisal cost and defect fixing costs followed by retesting and regression testi 2) Quality Assurance Approach (Creation of process Framework} the next stage of improvement from quality control where the focus shifts from testing and fixing the defects to first-time right. ~ Quality assurance is 3) Quality Management Approach: - Management includes planning, organizing, staffing, directing, coordinating and controlling to get the desired output. Characteristics of Software Following are the characteristics of software: ~ 1) The product is in the form of executable which cannot be checked by any natural method available to mankind like touch, smell, hearing, taste, etc. 2) Software is always unique in nature. Every product is differen performance etc. 3) Every condition defined by the software program gets executed in the same way every time when it gets executed. characteristics, Software Development Process Software development process defines how the software is being built. There are various approaches to build software which are: 1) Waterfall development approach/model 2) Iterative development approach/model 3) Incremental development approach/model 4) Spiral development approach/model 5) Prototyping development approach/model 6) Rapid application development approach/model 7) Agile development approach/model Waterfall development approach/model It is also termed as classical view of software development as it remains the basis or foundation of any development activity. The requirements are converted into high level as well as low level designs. Designs are implemented through coding. Code is integrated and executable are created. Executable is tested as per test plan. The final output in the form of an executable is deployed at customer premises. Waterfall models are used extensively in fixed price/fixed schedule projects where estimation is based on initial requirements. Limitation of Waterfall cycle © There is no feedback loop available. * No rework is involved in waterfall model. Iterative development approach/model Iterative development process is more practical than the waterfall model. It doesn’t assume that the customer gives all requirements in one go and there is complete stability of requirements. It assumes that changes may occur from any phase of development to any previous phase and there are multiple permutations and combinations of changes. Limitations of Iterative development Iterative development consists of many cycles of waterfall model, It gives problem in fixed price projects for estimation. Another problem faced by iterative development is that the product architecture and design becomes fragile due to many iterative changes. Incremental development approach/model Incremental development models are used in developing huge systems. These systems are made of several subsystems which in themselves are individual systems. Thus, incremental systems may be considered as a collection of several subsystems. ‘The incremental model gives flexibility to a customer. One system may be created and the customer may start using it. phase. Limitations of Incremental Development Incremental models with multivendor product integration are a major challenge as parameter passing between different systems may be difficult. Incremental models help in integration of big systems at the cost of loss of flexibility ‘When a system is incremented with new subsystems, it changes the architecture of that system. Spiral development approach/model Spiral development process assumes that customer requirements are obtained in multiple iterations, and development also works in iterations. Many big sofiware systems are built by spiral models of ever-increasing size. First some functionality is added, then product is created and released to customer. After getting the benefits of first iteration of implementation, the customer may add another chunk of requirements to the existing one. Further addition of requirements increases the size of the software spirally. Limitations of Spiral Development Spiral models represent requirement elicitation as the software is being developed, Sometimes, it may lead to refactoring and changes in approach where initial structures become non-usable. Prototype development approach/model Prototype development approach represents top to bottom reverse integration approach. Major problem of software development is procuring and understanding the customer requirements for the product. Prototyping is one of the solutions to help in this problem. In prototyping, initially a prototype of the system is created- this is similar to cardboard model of a buildin, Ithelps the customer to understand what they can expect from the given set of requirements. It also helps the development team to understand the possible application’s look and feel. Limitations of Spiral Development ‘Though, one may get a feel of the system by looking at the prototype, one must understand that it is not the actual system but a model. Applications not having much graphical user interfaces are difficult to model Rapid Application Development approach/model Itis a miniature form of spiral development. Development team may get very less number of requirements (say 5/6). They create a design, code it, test it, release it to customer. Once customer gets the delivery, he may have a better understanding of his expectations and development process by looking at the product delivered. He may add another chunks of requirements and entire development cycle is followed. Limitations of Rapid Application Development Change in approach and refactoring are the major constraints in rapid application development. Italso involves huge cycles of retesting and regression testing. Efforts of integration are huge. Agile Development approach/model Agile gives complete freedom to the users to add requirements at any stage of development, and development team has to accept these changes. Agile methodologies work on small chunk of work in each iteration and release working software at the end of iteration. It also gives importance to delivering working software rather than achieving requirements defined in requirements specifications. Agile works on the following principle: It concentrates more on ‘Fitness for use’ and what the customer needs are. Success of software product is that it is working at each stage. Requirements clarifications, requirement elicitation, and prototyping needs customer involvement. Maintenance Development approach/model Every product including software has many defects which may create problems to its users in the long term. Every technology has a life time. New technologies may offer better services and options, and may replace existing technologies. New functionalities may be required due to changing business needs. Maintenance activities of software may be put under 4 different groups namely: - Bug fixing where the defects present in the given software are fixed. This may involve retesting and regression testing. Enhancement where new functionalities are added in the existing software. Some functionalities may be introduced due to changes in user requirements. Porting where software is taken from older technologies to newer technologies. Whatever functionalities are available in the old technologies; all those are expected to be present in the new technology. Types of Products ‘There are various schemes of grouping the products on the basis of criticality to the users which are as follow. 1) Life Affecting Products: Products which directly/indirectly affect human life are considered as the most critical products in the world from user’s perspective. This type of product may be further ‘grouped into 5 different categories: Any product failure resulting into death of a person. Any product failure which may cause temporary disablement to a patient. © Other products which do not affect health or safety directly. 2) Product Affecting huge sum of money: - A product which has direct relationship with loss of huge sum of money is second in the list of criticality of the product. e-commerce and e-business software may be put in this category. Security, confidentiality and accuracy are some of the important quality factors for such products. 3) Products which can be tested only by simulators: - Products which cannot be tested in real-life scenario but need simulated environment for testing are third in the ranking of criticality. In this case, real life scenario is either impossible to create or may not be economically viable 4) Other products: - All other products which cannot be categorized in any of the above scheme may be put in this category. Problematic areas of software development life cycle Requirement gathering and elicitation is the most important phase in software development life cycle. Problems associated with requirement gathering are: - 1) Requirements are not easily communicated: - Communicat jequiremient staten types of requirements are a) Technical requirements: - Technical requirements are platform, language, database, operating system, etc. required for the application to work. n is a major problem 1. The: creation, software development and b) Economical requirements: - Economics of software system is dependent on its technical and system requirements. ¢) Legal requirements: - For any software application, there may be some rules and regulations by government, regulatory bodies, etc. applicable to the business. 2) nal requirements are defined by customers or users on the basis of business needs. These may be functional as well as non-functional requirements, €) System requirements: - System requirements include physical/logical security requirements that are defined by a customer with the help of a development team. Requirements change very frequently: - Requirements are very dynamic in nature. As the product is being built and shown to customer, lot of new ideas are suggested. Software Quality management 2) 3) Quality management approaches talk about managing quality of a product or service using systematic ways and methods of development and maintenance. It talks about three levels of handling problems namely, Correction: - Correction talks about the condition where the defects found in the product or service are immediately sorted and fixed Corrective Actions: - Every defects needs an analysis to find the root causes for introduction of a defect in the system. Situation where the root cause analysis of the defects is done and actions are initiated to remove the root causes so that the same defects do not recur in future is termed as corrective action. Preventive actions: -Preventative action means that there are potential weak areas where defects have not been found till that point, but there exists a probability of finding the defects. Why software has defects? In case of software development and usage, there are many factors responsible for its success/failure. Few of them are: - There are huge communication losses between different entities as requirements get converted into the actual product. Development people are more confident about their technical capabilities and do not consider that they can make mistakes. Requirement changes are very dynamic. Technologies are responsible for introducing few defects. There are many defects introduced due to browsers, platforms, databases etc. Process Related to software Quality Vision Vision defines in brief about what the organization wishes to achieve in the given time horizon. Mission In an organization there are several initiatives defined as missions which will eventually help the organization realize its vision. Mission may have different lifespans and completion dates. Policy Policy statement talks about a way of doing business as defined by senior management. Examples include security policy, quality policy, and human resource development policy. Objectives Objectives define quantitatively what is meant by a successful mission. Every mission must have minimum one objective. Strategy Strategy defines the way of achieving a particular mission. There may be an action owner to lead the strategy. Goals Goals defines the milestones to be achieved to make the mission successful. Goals provide milestone definition. Values ‘Values can be defined as the principles, or way of doing a business as perceived by the management. Quality Management System Structure Generic view of quality management includes three tiers and three pillars. Following are the pillars: 1) 1* Tier Quality Policy) Quality policy sets the wish, intent and directions by the management about how activities will be conducted by the organization. 2) 2" Tier Quality Objective) Quality objectives are the measurements established by the management to define progress and achievements in a numerical way. 3) 3" Tier (Quality Manual) Quality manual also termed as policy manual is established and published by the management of the organization. Following are the tiers: - 1) Quality processes/ Quality procedures/ Work Instructions ‘They are defined at an organization level by the functional area experts, and at project and function level by the experts in those areas separately. 2) Guidelines and Standards They are used by an organization’s project team for achieving quality goals for the products and the services delivered to customers. 3) Format and templates ‘They are used for tracking a project, function, and department information within an organization, Important Aspects of Quality Management An organization must plan for improvement under the leadership of management and with employee participation. 1) Quality planning at organization level: - An organization creates quality plan at the organization level for achieving quality objectives, goals, its vision and missions. 2) Quality planning at project level: - These are generally strategic level quality plans with details of responsibilities and actions, 3) Resource management: - An organization should use good inputs as required by quality planning so that the output of the processes match with the organizations’ business plan. 4) Work environment: - A good environment can help an organization to build on its strength while a bad environment is a roadblock to achieving objectives, and can create problems in its mission of customer satisfaction. 5) Customer-related processes: - They must be analyzed for their capability in servicing customers and achieving customer satisfaction. 6) Quality management system document and data control: -Statistical process control and data management are essential for continuous improvement of processes. 7) Verification and validation: -verification includes management reviews and technical reviews whereas validation involves different types of testing Objectives 1) Customer is a 2). Stop awarding of lowest price tag __to suppliers. 3) Arrows in waterfall model are 4) ________are not easily communicated. 5) may be accidental in nature. 6) ____and requirements are primary requirements. 7) Effect of bad is not know immediately. 8) are mandatory ways of doing things. 9) The cycle of continuous/continual improvement is 10) Products which directly/indirectly affect human life are considered as products.

You might also like