introduction to process improvement & software quality assurance

20

Click here to load reader

Upload: ariful-haque

Post on 16-Apr-2017

22.680 views

Category:

Business


0 download

TRANSCRIPT

Page 1: Introduction to Process Improvement & Software Quality Assurance

INTRODUCTION TO PROCESS IMPROVEMENT AND SOFTWARE QUALITY ASSURANCEBy Ariful H Bhuiyan

[email protected]

m ariful h bhuiyan ©

2011 /

People forget how fast you did a job – but they always remember how well you did it

by Howard Newton

http://www.linkedin.com/in/arifbd111http://thinkinginprocess.wordpress.com/

Page 2: Introduction to Process Improvement & Software Quality Assurance

2

INTRODUCTION TO PROCESS IMPROVEMENT ANDSOFTWARE QUALITY ASSURANCE

Introduction to Process Improvement.

Symptoms… Why focus on

process? The Importance of

process Process Improvement

& Quality Assurance

Introduction to SQA Two Views of QA QA vs QC Cost of Quality Quality Attributes QA Activity Quality Model Quality Tools Quality Guru

Content

ariful h bhuiyan © 2011 / [email protected]

Page 3: Introduction to Process Improvement & Software Quality Assurance

3

INTRODUCTION TO PROCESS IMPROVEMENT ANDSOFTWARE QUALITY ASSURANCE

Missed Communication Spiraling Cost Late delivery to market Last-minute crunches

Inadequate management visibility Too many surprises

Quality Problem Customer complain Too many rework Functions not working correctly

Poor Morals Burned-out people Inadequate control of project results

1.1 Introduction to Process Improvement… Have these Symptoms?

ariful h bhuiyan © 2011 / [email protected]

Page 4: Introduction to Process Improvement & Software Quality Assurance

4

INTRODUCTION TO PROCESS IMPROVEMENT ANDSOFTWARE QUALITY ASSURANCE

It complements your focus on technology Technology by itself will mostly likely not to be used

effectively. Technology in the context of an appropriate process

roadmap can provide the most benefit.

It complements your focus on people The experience and training of your work force is not

always enough. Working harder is not the answer. A well-defined process can provide the means to work

smarter. It shifts the “blame” for problems from the people to

process.

1.2 Why Focus on Process?

ariful h bhuiyan © 2011 / [email protected]

Page 5: Introduction to Process Improvement & Software Quality Assurance

5

INTRODUCTION TO PROCESS IMPROVEMENT ANDSOFTWARE QUALITY ASSURANCE1.3 The importance of Process

- Explain to employee how to perform a task- Transfer knowledge from more experienced employee to less experienced employee- Assure predictability of work activities so that approximately the same deliverables will be produced with the same resource each time the process is followed.- Establish a basic set of work task that can be improved continuously- Free management from their activities associated with “expediting work products” to spend more time on activities such as planning, customer satisfaction & vendor interaction.

- Increase provability that the deliverables produced will be the desired deliverables.- Enable employee to devote their creativity to improve the business instead of having to develop work process to build product- Enable employee to better plan their workday because of the predictability resulting from work processes. ariful h bhuiyan © 2011 / [email protected]

Page 6: Introduction to Process Improvement & Software Quality Assurance

6

INTRODUCTION TO PROCESS IMPROVEMENT ANDSOFTWARE QUALITY ASSURANCE

1.4 Process Improvement and Quality Assurance

Process Improvement is a concept Quality Assurance is a

ariful h bhuiyan © 2011 / [email protected]

Page 7: Introduction to Process Improvement & Software Quality Assurance

7

INTRODUCTION TO PROCESS IMPROVEMENT ANDSOFTWARE QUALITY ASSURANCE

2.1 Introduction to Quality Assurance

What is Software Quality? Software Quality is the degree to which a software

product conforms to a set of specified requirements. “The degree of excellence required and maintained at

an acceptable price.”  What is Software Quality Assurance?

Framework for Independent assessment & insight into S/W development

processes & products Ensures conformance to

Functional & performance requirements Development standards S/W Quality Factors

ariful h bhuiyan © 2011 / [email protected]

Page 8: Introduction to Process Improvement & Software Quality Assurance

8

INTRODUCTION TO PROCESS IMPROVEMENT ANDSOFTWARE QUALITY ASSURANCE

2.1 Introduction to Quality Assurance

Quality Assurance is catalytic function that attempts to make quality happen

It is not responsible for quality because that is a management responsibility

It is not responsible for quality control because it is line management responsibility

QA is responsible for the management of Quality

ariful h bhuiyan © 2011 / [email protected]

Page 9: Introduction to Process Improvement & Software Quality Assurance

9

INTRODUCTION TO PROCESS IMPROVEMENT ANDSOFTWARE QUALITY ASSURANCE

2.2 Two views of Quality

Producers ViewFitness for user

Customers ViewMeeting Requirements

- Conformance to the requirements by Crosby

- Fitness for use by Juran

ariful h bhuiyan © 2011 / [email protected]

Page 10: Introduction to Process Improvement & Software Quality Assurance

10

INTRODUCTION TO PROCESS IMPROVEMENT ANDSOFTWARE QUALITY ASSURANCE

2.3 Quality Assurance (QA) vs Quality Control (QC)

Quality Assurance Quality ControlProcess ProductProactive ReactiveStaff Function Line FunctionPrevent defects Find defects

Quality Audit WalkthroughDefining Process TestingSection of Tools InspectionTraining Checkpoint review

ariful h bhuiyan © 2011 / [email protected]

Page 11: Introduction to Process Improvement & Software Quality Assurance

11

INTRODUCTION TO PROCESS IMPROVEMENT ANDSOFTWARE QUALITY ASSURANCE

2.4 Cost of Quality

Failure Costs Project Rework Overtime Maintenance costs Lost credibility Providing alternative

service Lost management time Complaints, rebates &

damage claims Lost assets,

opportunity Unrealized savings

Prevention Costs Planning quality

improvement Statistical Process

Control Quality audits Quality Training

Appraisal Costs Reviews Inspections Testing

ariful h bhuiyan © 2011 / [email protected]

Page 12: Introduction to Process Improvement & Software Quality Assurance

12

INTRODUCTION TO PROCESS IMPROVEMENT ANDSOFTWARE QUALITY ASSURANCE

2.5 Activities of Quality Assurance

Quality Management System development Quality Planning Measuring Quality Reviews, Walkthroughs, Inspections Quality Audits Continuous Improvement

ariful h bhuiyan © 2011 / [email protected]

Page 13: Introduction to Process Improvement & Software Quality Assurance

13

INTRODUCTION TO PROCESS IMPROVEMENT ANDSOFTWARE QUALITY ASSURANCE

2.6 Quality Attributes

Reliability Reliability of a software system derives fromCorrectness, and Availability.

User friendliness

Adequacy, Learn-ability, Robustness

Maintainability

Maintainability = suitability for debugging (localization and correction of errors) and for modification and extension of functionality.The maintainability of a software system depends on its: Readability, Extensibility, Testability

Extensibility Extensibility allows required modifications at the appropriate locations to be made without undesirable side effects.Extensibility of a software system depends on its:• Structuredness (modularity) of the software system• Possibilities that the implementation language provides for

this purpose• Readability (to find the appropriate location) of the code• Availability of comprehensible program documentation

Efficiency Efficiency: ability of a software system to fulfill its purpose with the best possible utilization of all necessary resources (time, storage, transmission channels, and peripherals).

ariful h bhuiyan © 2011 / [email protected]

Page 14: Introduction to Process Improvement & Software Quality Assurance

14

INTRODUCTION TO PROCESS IMPROVEMENT ANDSOFTWARE QUALITY ASSURANCE

2.6 Quality Attributes

Robustness Robustness reduces the impact of operational mistakes, erroneous input data, and hardware errors.A software system is robust if the consequences of an error in its operation, in the input, or in the hardware, in relation to a given application, are inversely proportional to the probability of the occurrence of this error in the given application.

• Frequent errors (e.g. erroneous commands, typing errors) must be handled with particular care

• Less frequent errors (e.g. power failure) can be handled more laxly, but still must not lead to irreversible consequences.

Understandability

Clarity of purpose. This goes further than just a statement of purpose; all of the design and user documentation must be clearly written so that it is easily understandable. This is obviously subjective in that the user context must be taken into account: for instance, if the software product is to be used by software engineers it is not required to be understandable to the layman.

Completeness Presence of all constituent parts, with each part fully developed. This means that if the code calls a subroutine from an external library, the software package must provide reference to that library and all required parameters must be passed. All required input data must also be available.

ariful h bhuiyan © 2011 / [email protected]

Page 15: Introduction to Process Improvement & Software Quality Assurance

15

INTRODUCTION TO PROCESS IMPROVEMENT ANDSOFTWARE QUALITY ASSURANCE

2.8 Quality Models

ISO 9000 by ISOThe ISO 9000 family of standards relate to quality management systems and are designed to help organizations ensure they meet the needs of customers and other stakeholders. ISO 9000 deals with the fundamentals of quality management systems, including the eight management principles on which the family of standards is based. ISO 9001 deals with the requirements that organizations wishing to meet the standard have to meet. Current version of ISO 9001 is ISO 9001:2008

ISO/IEC 15504: Process Assessment by ISOISO/IEC 15504, also known as SPICE (Software Process Improvement and Capability Determination), is a set of technical standards documents for the computer software development process and related business management functions. It is another joint International Organization for Standardization and International Electro-technical Commission standard.ISO/IEC 15504 initially was derived from process lifecycle standard ISO 12207 and from maturity models like Bootstrap, Trillium and the CMM.

ariful h bhuiyan © 2011 / [email protected]

Page 16: Introduction to Process Improvement & Software Quality Assurance

16

INTRODUCTION TO PROCESS IMPROVEMENT ANDSOFTWARE QUALITY ASSURANCE

2.8 Quality Models

CMMI by SEI Capability Maturity Model Integration (CMMI) is a process improvement approach that helps

organizations improve their performance. CMMI can be used to guide process improvement across a project, a division, or an entire organization.

CMMI in software engineering and organizational development is a process improvement approach that provides organizations with the essential elements for effective process improvement. CMMI is registered in the U.S. Patent and Trademark Office by Carnegie Mellon University.

According to the Software Engineering Institute (SEI, 2008), CMMI helps "integrate traditionally separate organizational functions, set process improvement goals and priorities, provide guidance for quality processes, and provide a point of reference for appraising current processes."

Six Sigma by Motorola Six Sigma is a business management strategy originally developed by Motorola, USA in

1986. Six Sigma seeks to improve the quality of process outputs by identifying and removing the

causes of defects (errors) and minimizing variability in manufacturing and business processes. It uses a set of quality management methods, including statistical methods, and creates a special infrastructure of people within the organization who are experts in these methods. Each Six Sigma project carried out within an organization follows a defined sequence of steps and has quantified financial targets (cost reduction or profit increase)

ariful h bhuiyan © 2011 / [email protected]

Page 17: Introduction to Process Improvement & Software Quality Assurance

17

INTRODUCTION TO PROCESS IMPROVEMENT ANDSOFTWARE QUALITY ASSURANCE

2.9 Quality Tools

Tool DetailsTally sheets •Form of Data Collection

•Individual format depending on situation

Run Chart •Plot of values by time sequence•Show trend of process over time•Can be made for individual values / Interval Ratio scale

Scatter Diagram •Plot of observed values showing one variable with respect to another•To explore cause-effect relationship•Often, One variable “dependent” the other “Independent”

Histograms •Display distribution of collected data•Insights into potential causes, trends

Bar Charts •Defined on discrete data•Otherwise similar to histogram•Can be used to display any value

ariful h bhuiyan © 2011 / [email protected]

Page 18: Introduction to Process Improvement & Software Quality Assurance

18

INTRODUCTION TO PROCESS IMPROVEMENT ANDSOFTWARE QUALITY ASSURANCE

2.9 Quality Tools

Tool DetailsPareto Charts •Frequency counts arranged in descending order

•For identifying “biggest contributor” to problems•Before / after can be used to show impact of attempted improvement

Cause-effect Diagrams(Ishikawa / Fishbone Diagrams)

•Graphical methods used to understand causes for a problem (effect)•Initially subjective, then refined with measurement data•Gives a snapshot of collective knowledge and consensus•Of three types

• Dispersion analysis• Production Process Classification• Cause Enumeration

Control Charts •Concern with measuring process• Stability, Variability, Capability

•Use of limits (pre-set tolerances) to know when “out-of-control”

• Center line, upper control limit, lower control limitariful h bhuiyan © 2011 / [email protected]

Page 19: Introduction to Process Improvement & Software Quality Assurance

19

INTRODUCTION TO PROCESS IMPROVEMENT ANDSOFTWARE QUALITY ASSURANCE

2.10 Quality Guru

Edwards Deming Dr. W. Edwards Deming is known as the father of the Japanese post-war industrial revival

and was regarded by many as the leading quality guru in the United States. He passed on in 1993.

Trained as a statistician, his expertise was used during World War II to assist the United States in its effort to improve the quality of war materials.

Deming is famous for his famous 14 points on Quality Assurance Philip Crosby

Dr. Deming and Dr. Juran were the great brains of the quality revolution. Where Phil Crosby excelled was in finding a terminology for quality that mere mortals could understand. His books, "Quality Without Tears" and "Quality is Free" were easy to read, so people read them. He popularized the idea of the "cost of poor quality", that is, figuring out how much it really costs to do things badly.

Joseph M. Juran Joseph M. Juran made many contributions to the field of quality management in his

70+ active working years. His book, the Quality Control Handbook, is a classic reference for quality engineers. He revolutionized the Japanese philosophy on quality management and in no small way worked to help shape their economy into the industrial leader it is today. Dr. Juran was the first to incorporate the human aspect of quality management which is referred to as Total Quality Management.

ariful h bhuiyan © 2011 / [email protected]

Page 20: Introduction to Process Improvement & Software Quality Assurance

20

INTRODUCTION TO PROCESS IMPROVEMENT ANDSOFTWARE QUALITY ASSURANCE

Thank You

Thank YouAny questions?

Credits www.sei.cmu.com www.wikipedia.org http://csqa.blogspot.com Software Quality Boot Camp slide by QAI

ariful h bhuiyan © 2011 / [email protected]