









Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Mr. Umer Faiz teaches Software Engineering and Software Quality at Bachelors and Masters Levels. He is considered to be one of the best teachers at PIEAS. This is a series of his lectures on Software Quality.
Typology: Slides
1 / 15
This page cannot be seen from the preview
Don't miss anything!










Department of Computer & Information Sciences Pakistan Institute of Engineering and Applied Sciences
Department of Computer & Information Sciences Pakistan Institute of Engineering and Applied Sciences
Lecture 1
Umar Faiz http://www.pieas.edu.pk/umarfaiz/cis
Software Quality
Quality, simplistically, means that a product should meet its specification
Quality is not a single idea, but rather a multi‐dimensional concept having dimensions
Different levels of abstraction
Being part of daily language, popular views are different from professional perspective
It is important to distinguish between
(i) Software quality, and (ii) Quality software
A mistake that is often made is not to distinguish between these two concepts. This can lead to a lot of confusion.
At the highest level software quality is a body of knowledge that describes:
What must be done, and
How it must be done
In otherh wordsd theh fi ldfield off softwaref qualityli embodiesb di a specification and an implementation of processes for realizing quality software.
“Is software that exhibits all the functional capabilities and non‐functional attributes that ensure that it can be put to all its intended uses with the least effort, inconvenience and resource cost to the user.”
Software should function correctly with respect to a specification that has been predefined by the client who has commissioned the development of the softwarehas commissioned the development of the software
Software must possess attributes other than correctness with respect to a specification before it can be classified as quality software
Deeply Rooted “Facts” that “everybody knows” about software quality
Quality is an intangible trait, it can be discussed and judged but cannot be weighed or measured. Quality means Goodness; it CANNOT be defined. Because it cannot bb e d fdefined, d it CANNOT bb e measured.d The trouble with quality is that workers don’t give a damn. Quality is fine, but we can’t afford it. Quality is luxury, class and taste Data Processing is different – Error is INEVITABLE.
“Quality is never an accident, it is always a result of intelligent effort.” (John Ruskin)
The Shewhart model is a systematic approach to problem solving and process control.
It consists of four steps which are used for continuous process improvement. These steps are plan, do, check, act, and it is known as the ''PDCA model“
Improve your operations first by finding out what things are going wrong (that is identify the problems faced), and come up with ideas for solving these problems.
1. Constancy of Purpose - Companies face short‐term and long‐term problems. The problems of tomorrow require long‐term planning on new products, training, and innovation. This requires resources invested in research and development and continuous improvement of existing products and services. 2. Adopt new Philosophy - Deming outlined the five deadly diseases which afflicted US companies TheseDeming outlined the five deadly diseases which afflicted US companies. These included lack of purpose and an excessive interest in short‐term profits. 3. Build quality in - Deming argued that performing mass inspections is equivalent to planning for defects and are too late to improve quality. Consequently, it is necessary to improve the production process to build the quality into the product.
4. Price and Quality - Deming argued against the practice of awarding business on the basis of price alone, as the price of a product or service is meaningless unless there is an objective measure of the quality of the product or service being purchased. 5. Continuous improvement - Continuous improvement is a fundamental part of Deming's program. There must be continuous improvement in all areas including understandingmust be continuous improvement in all areas, including understanding customer requirements, design, manufacturing and test methods. The organization must be a learning organization with the employees and development processes continuously improving. 6. Institute Training - This involves setting up a training program to educate management and staff about the company, customer needs, and pride of workmanship in the products or services. Supervisors and managers need training on the 14 point program to ensure they fully understand the enhanced contribution that their staff can make if inhibitors to good work are removed.
7. Institute Leadership - Deming argues that management is about leadership and not supervision. Management should work to remove barriers, know the work domain in depth, and seek innovative solutions to resolve quality and other relevant issues. 8. Eliminate Fear - The presence of fear is a barrier to an open discussion of problems and theThe presence of fear is a barrier to an open discussion of problems and the identification of solutions or changes to prevent problems from arising. 9. Eliminate Barriers - The objective here is to break down barriers between different departments and groups. It is not enough for each group to optimize its own area: instead, what is required is for the organization to be working as one team.
10. Eliminate Slogans - Deming argued that slogans do not help anyone to do a better job. Slogans may potentially alienate staff or encourage cynicism. Deming criticized slogans such as ''Zero defects" or "Do it right the first time" as inappropriate, as how can it be made right first time if the production machine is defective. The slogans take no account of the fact that most problems are due to the system rather than the person. 11. Eliminate Numerical Quotas - Deming argued that quotas act as an impediment to improvement in quality, as quotas are normally based on what may be achieved by the average worker. People below the average cannot make the rate and the result is dissatisfaction and turnover. Thus, there is a fundamental conflict between quotas and pride of workmanship. 12. Pride of Work - The intention here is to remove barriers that rob people of pride of workmanship, for example, machines that are out of order and not repaired.
13. Self Improvement - This involves encouraging education and self‐improvement for everyone in the company, as an organization requires people who are improving all the time. 14. Take Action - This requires that management agree on direction using the 14 principles, communicate the reasons for changes to the staff and train the staff on thecommunicate the reasons for changes to the staff, and train the staff on the 14 principles. - Every job is part of a process, and the process consists of stages. There is a customer for each stage, and the customer has rights and expectations of quality. The objective is to improve the methods and procedures and thereby improve the output of the phase. The improvements may require a cross‐ functional team to analyze and improve the process
Philip Crosby is one of the giants in the quality movement, and his ideas have influenced the Capability Maturity Model (CMM), the maturity model developed by the Software Engineering Institute.
His influential book Quality is Free outlines his philosophy of doing things right the first time i eof doing things right the first time, i.e., the zero defectsthe zero defects (ZD) program.
Quality is defined as ''conformance to the requirements", and he argues that people have been conditioned to believe that error is inevitable.
He outlined a 14 step quality improvement program. The program requires the commitment of management to be successful and requires an organization‐wide quality improvement team to be set up.
1. Management Commitment - Management commitment and participation is essential to ensure the successManagement commitment and participation is essential to ensure the success of the quality improvement program. The profile of quality is raised within the organization. 2. Quality Improvement Team - This involves the formation of an organization‐wide cross‐functional team consisting of representatives from each of the departments. The representative will ensure that actions for each department are completed.
3. Quality Measurement - The objective of quality measurements is to determine the status of quality in each area of the company and to identify areas where improvements are required. 4. Cost of Quality Evaluation - The cost of quality is an indication of the financial cost of quality to the organi ation The cost is initially high but as the quality improvementorganization. The cost is initially high, but as the quality improvement program is put in place and becomes effective there is a reduction in the cost of quality. 5. Quality Awareness - This involves sharing the cost of poor quality with the staff, and explaining what the quality problems are costing the organization. This helps to motivate staff on quality and on identifying corrective actions to address quality issues.
6. Corrective Action - This involves resolving any problems which have been identified, and bringing any problems which cannot be resolved to the attention of the management or supervisor level. 7. Zero Defect Program - The next step is to communicate the meaning of zero defects to the employees The key point is that it is not a motivation program instead itemployees. The key point is that it is not a motivation program: instead, it means doing things right the first time, i.e., zero defects. 8. Supervisor Training - This requires that all supervisors and managers receive training on the 14 step quality improvement program.
9. Zero Defects Day - This involves setting aside one day each year to highlight zero defects, and its importance to the organization. Supervisors and managers will explain the importance of zero defects to the staff. 10. Goal Setting - This phase involves getting people to think in terms of goals and achieving the goalsgoals. 11. Error Cause Removal - This phase identifies any roadblocks or problems which prevent employees from performing error‐free work. The list is produced from the list of problems or roadblocks for each employee. 12. Recognition - This involves recognizing employees who make outstanding contributions in meeting goals or quality improvement.
13. Quality Councils - This involves bringing quality professionals together on a regular basis to communicate with each other and to share ideas on action. 14. Do it over again - The principle of continuous improvement is a key part of quality improvement. Improvement does not end; it is continuous.
“Your customers are in a perfect position to tell you about quality, because that’s all they are really buying. They’re not buying a product. Theynot buying a product. They re’re buying your assurances that buying your assurances that their expectations for that product will be met.
And you haven’t really got anything else to sell them but those assurances. You haven’t really got anything else to sell but quality.”
Customer’s satisfaction is the ultimate validation of quality
Hope for INSTANT solutions
“That’s good enough, we don’t have time to do better” “Our problems are different”
“Our quality control people take care of all quality pproblems”
“Our troubles lie entirely with programmers”
“Our products meet specifications, so nothing to worry more about quality” “Anyone that comes to help us must understand all about our systems”
The only solution that works is knowledge – consistently applied with determination and hardwork
Doing the right things right the first time (and every time) is the fastest
Quality problems aren’t unique – or uncommon Quality is management’s responsibility, and cannot be delegated
Management alone is responsible to hire programmers, trained them and manage them
Just meeting specifications is not enough, CONTINUE to improve consistency and reduce development time
Software managers may know all about their systems – EExcept t h h ow tt o iimprove
Quality is not a single idea but a multi‐dimensional concept
The dimension of quality include the entity of interest, the viewpoint on that entity, and the quality attributes of that entity.
Because of the two perspectives on quality (i.e., customer satisfaction as the ultimate validation of quality, and the producer’s adherence to requirements to achieve quality), the de facto definition of quality consists of two levels.
Small q Intrinsic product quality, often operationally limited to product defect rate and reliability – “small q” BIG Q Broader level includes product quality, process quality, and customer satisfaction – “BIG Q”
The two‐level concept of quality is supposed to form a closed‐loop cycle:
customers’ wants and needs Æ requirements and specifications Æ products designed, developed, and manufactured in accordance with the requirements Æ excellent product quality plus good distribution and service processesplus good distribution and service processes ÆÆ total customertotal customer satisfaction
The software development process consists of a series of stages, each with feedback path. In each stage, an intermediate deliverable is produced for an immediate user – the next stage. Each stage also receives an intermediate deliverable from the preceding stagepreceding stage. Each intermediate stage has certain quality attributes that affect the quality of the end product. If each stage of development process meets the requirements of its intermediate user (the next stage), the end‐product will meet its requirements.
Develop a set of ideal processes
Measure the existing processes of the organization against these ideal processes.
Develop, select and deploy specific methods and approaches Employ proper tools and technologies.
Use metrics and quality models to help ensure that the development process is under control to meet the quality objectives of the product.
Correctness
Maintainability
Integrity
Usability
Capability (functionality)
Usability
Performance
Reliability InstallabilityInstallability
Maintainability
Documentation
Service
Availability
Functionality
Suitability Accuracy Interoperabilityp y Compliance Security
Reliability
Maturity Fault‐tolerance Recoverabilityy
Usability
Understandability Learnability Operabilityp y
Efficiency
Time Behaviour Resource behaviour
Maintainability
Analysability Changeability Stabilityy Testability
Portability
Adaptability Installability Conformance Replaceability
The claim is made that ISO‐ 9126 is applicable to defining software quality requirements and evaluating software products including:
Defining the software product quality requirement Evaluating software specification to see if it will satisfy the quality requirement during developmentrequirement during development Describing features and attributes of the implemented software Evaluating developed software before delivery Evaluating the software before acceptance
The organization shall Identify the processes needed for the quality management system and their application throughout the organization Determine the sequence and interaction of these processes Determine criteria and methods needed to ensure that both the operation and d controll off h these processes are effectiveff Ensure the availability of resources and information necessary to support the operation and monitoring of these processes Monitor, measure and analyse these processes Implement actions necessary to achieve planned results and continual improvement of these processes.
The organization should establish, document, implement, and maintain processes, activities, and tasks related to their domain:
Primary life cycle processes of acquisition, supply, development Operation and maintenance of software Organizationall l f life cyclel processes off management, infrastructure,f improvement and training Supporting life cycle processes which are needed to implement the primary and organizational life cycle processes.
The organization should define the sequence and interaction of the processes in:
Life cycle models for development, such as waterfall, incremental or Evolutionary Quality and development plans, which should be based upon a life cycle modelcycle model
Customer focus includes studying customer’s wants and needs, gathering customer requirements, and measuring and managing customer satisfaction.
The objective is to reduce process variations and toThe objective is to reduce process variations and to achieve continuous process improvement. Process both includes the business process and the product development process.
The objective is to create a company‐wide quality culture. Focus areas include management commitment, total participation, employee participation and other social, psychological and human factors.
The objective is to ensure continuous improvement in all quality parameters by an effective measurement system.
A needed capability, condition, or a property [attribute] that must be possessed by an entity to satisfy a contract, standard, specification, or other formally imposed documents
A user is either the customer or the end user.
This definition of user varies on the type of situation encountered.
In the first situation, the customer (either internal or external) and the end user are one and the same (Figure 1.1). In the second situation, the end user is represented by a buyer, and all contact with the client organization is through the buyer (Figure 1.2). In this case, the buyer represents the user. The third situation is where both the buyer and the user community are accessible to the development or maintenance organization (Figure 1.3).
Evaluation is defined as the process of determining satisfaction of requirements.
Kenett gives a more precise definition stemming from this basic definition: Evaluation is “a [process] to evaluate the quality of products and to evaluate l associatedd d d ocumentation, processes, andd activities that impact the quality of the products”. Evaluations may include methods such as analyses, inspections, reviews, and tests.
There is a need to include in the QMF the ability to measure the quality of processes and products, and be able to assign actual quantitative values to the item’s quality.
Measure (verb) is to ascertain the characteristics or features (extent, dimension, quantity, capacity, and capability) of something, especially by comparing with a standard
Measurement (noun) is a dimension, capacity, quantity, or amount of something (e gamount of something (e.g., 300 source lines of code or 300 source lines of code or seven document pages of design).
Quality is the degree to which an object (entity) (e.g., process, product, or service) satisfies a specified set of attributes or requirements.
It is important to point out that a product possesses many quality attributes that are intrinsic to the product and that exist regardless of what is desired specified or measuredexist regardless of what is desired, specified, or measured, and only depend on the nature of the product.
The definition of quality includes two aspects: The concept of attributes The satisfaction or degree of attainment of the attributes
An attribute is “a property or characteristic of an entity that can be distinguished quantitatively or qualitatively by human or automated means,” from ISO 15939
The word “attributes” includes all specified requirements governing functional, performance, and other specified characteristics such as adaptability maintainability andcharacteristics such as adaptability, maintainability, and correctness.
The attributes are considered the determinants of product or process quality.
The word “specified” implies that definitions of the needed quality attributes are documented.
Without clear articulation of the quality attributes, it is impossible to develop a product or determine whether the finished product has the needed quality.
The Quality Program incorporates three elements that cover the activities necessary to:
The Quality Program incorporates three elements that cover the activities necessary to:
Interaction of the elements of a quality program