Quality in IT Projects

Download Report

Transcript Quality in IT Projects

Quality in IT Projects
By Rafał Sitarz & Jakub Strzemżalski
Agenda
 What
is quality ?
 Main factors of quality in IT
 Some methodologies
7/17/2015
BYT - Quality in IT
2
Quality – let’s talk 
 Everyone is for it (under certain conditions)
 Everyone feels they understand it (even though they
wouldn’t want to explain it)
 Everyone thinks execution is only a matter of
following natural inclinations (after all, we all get
along somehow)
 And, of course, most people feel that all problems in
these areas are caused by other people (if only they
would take time to do things right)
- Philip B. Crosby
7/17/2015
BYT - Quality in IT
3
Quality ??? What’s that ?(1)
 Conformance to requirements (Philip B. Crosby)
 Zero Defects (Philip B. Crosby)
 Waste reduction (William E. Conway)
 Fitness for use (Joseph M. Juran)
 Reduced variation (W. Edwards Deming)
 Value to customers (Gerald M. Weinberg)
 Doing the optimum things the optimum way
(Bill Silver)
 Degree of excellence (Websters Dictionary)
7/17/2015
BYT - Quality in IT
4
Quality ??? What’s that ?(2)

Many people joke about the poor quality of IT
products
 People seem to accept systems being down
occasionally or needing to reboot their PCs
 There are many examples in the news about
quality problems related to IT
 But quality is very important in many IT
projects
7/17/2015
BYT - Quality in IT
5
Quality ??? What’s that ?(3)
“Nearly 40 percent of IT projects fail before
completion.”
 “Only 10 percent of the respondents indicated
that their organizations’ most important IT
initiative of the past two years had been
completed both on time and on budget…”
 “…complex and buggy software costs
Corporate America up to $85 billion a year.”

7/17/2015
BYT - Quality in IT
6
Quality ??? What’s that ?(4)
 Most
Computer Science curriculums do
not teach even one course in Software
Testing
 Most Software Engineers know little or
nothing about Software Testing
 Software Testing as a profession is
overwhelmed with technical innovation
(usually every two years)
7/17/2015
BYT - Quality in IT
7
Quality ??? What’s that ?(5)

The International Organization for
Standardization (ISO) defines quality as the
totality of characteristics of an entity that bear
on its ability to satisfy stated or implied needs
 Other experts define quality based on


conformance to requirements: meeting written
specifications
fitness for use: ensuring a product can be used as
it was intended
7/17/2015
BYT - Quality in IT
8
Software Quality Realities

Most small to medium sized companies do
not have a dedicated testing staff
 Most large professional services companies
do not have a dedicated testing staff
 Most companies are not successful
integrating test automation into the
development cycle
 The top of the line commercial software
players (MS, Oracle, SAP, …) achieve a
developer to tester ratio between 1:1 and 1:4,
depending on the application AND the use of
test automation
7/17/2015
BYT - Quality in IT
9
Quality Factors

Correctness
 Reliability
 Efficiency
 Integrity
 Usability
 Extendibility /
Maintainability
7/17/2015

Testability
 Portability
 Reusability
BYT - Quality in IT
10
Quality Factors: Correctness
 Correctness
is the ability of software
products to perform their tasks, as
defined by their specification.
 Due to complexity, methods for ensuring
correctness will usually be conditional or
layered, each layer relying on lower
ones
7/17/2015
BYT - Quality in IT
11
Quality Factors: Efficiency

Efficiency is the ability of a software system to
place as few demands as possible on
hardware resources, such as processor time,
space occupied, bandwidth used in
communication devices
 Efficiency is only one of the factors of quality;
we should not let it rule our engineering lives
 But it is a factor, and must be taken into
consideration, whether in the construction of
a software system or in the design of a
programming language.
7/17/2015
BYT - Quality in IT
12
Quality Factors: Reusability

Reusability is the ability of software elements
to serve for the construction of many different
applications
 Software systems often follow similar
patterns:


it should be possible to exploit this commonality
and avoid reinventing solutions to problems that
have been encountered before
by capturing such a pattern, a reusable software
element will be applicable to many different
developments.
7/17/2015
BYT - Quality in IT
13
Quality Factors: Extendibility /
Maintainability

Extendibility + Reusability  Maintainability






remove inadequacies,
adapt to changing needs,
extend functionality quickly
integrate with other systems
use components in other projects
Software spends 60%-80% of its lifetime in
maintenance!

How much of the effort could the industry spare if
software was built from the start with more
concern for extendibility?
7/17/2015
BYT - Quality in IT
14
Software Quality Assurance
 How
do you assure the quality of your
software?
 Good
processes
 Good documentation
 Learn and improve
7/17/2015
BYT - Quality in IT
15
The way to do it... (QMS)
 QMS
– Quality Management System:
 ISO
9000
 Software Engineering Institute Capability
Maturity Model (SEI CMM),
 Six Sigma
 No
generalized QMS can replace critical
thinking!
7/17/2015
BYT - Quality in IT
16
QMS (continued)

nothing more but models that can be used to
guide companies with complex business
issues faced in software development today
 none of them will improve product or services
quality just by following them to the letter
 nor were they designed for that purpose –
they were designed as guidelines
7/17/2015
BYT - Quality in IT
17
ISO 9000

ISO9000 is a European standard.
 The standard was designed to be used as a
contract document between parties, i.e. a
supplier and a purchaser, and this explains its
use throughout of phrases like "the supplier
shall …..".
 All major purchasers now use the same
standard and many make it mandatory for
suppliers to be certified - and so the
requirement is passed down the supply chain.
7/17/2015
BYT - Quality in IT
18
ISO 9000

ISO 9000 consists of five documents: 9000, 9001, 9002,
9003 and 9004 as follows:
 1. ISO 9000 Guidelines for selection and use (of)
Quality management and quality assurance standards.
 2. ISO 9001 Quality Systems - Model for quality
assurance in design/development, production,
installation and servicing.
 3. ISO 9002 Quality Systems - Model for quality
assurance in production and installation.
 4. ISO 9003 Quality Systems - Model for quality
assurance in final inspection and test.
 5. ISO 9004 Quality management and quality systems
elements -Guidelines.
7/17/2015
BYT - Quality in IT
19
Is it worth it ?

In Germany:



95% of large companies
50% small companies
Great Britain:

over 80 000 certificates

In US lack of certificates was a problem with
auctions on international markets.
 In Japan – the same, they had delays in
comparison to UK and Germany.
7/17/2015
BYT - Quality in IT
20
ISO Certificates - Advantages

Companies expect certificates from their
performers
 In Poland:





NOKIA
SIEMENS
MOTOROLA
Energetyka
Realities:



Not many certificates ( about 2000 )
Usually large companies
Certificate can be advantage in auctions.
7/17/2015
BYT - Quality in IT
21
ISO Certificates - Advantages
 Helps
to arrange everything in
company.
 2 phases:
 mess
 benefits
7/17/2015
from order
BYT - Quality in IT
22
ISO Certficate - Example
 Example
- IT company
 ISO 9002
 Reduction
of employees from 43 to 28 in 9
months
 6 months later to 19
 Number of complains falls down 4 times
 Benefits
can be visible only after leading
in certificates.
7/17/2015
BYT - Quality in IT
23
ISO Certificates - Disadvantages
 Bureaucracy
 Costs
 Number
7/17/2015
of papers increases
BYT - Quality in IT
24
SEI CMM
 Capability



Maturity Model
a process maturity framework that would help
organizations improve their software process
this model helps organizations measure
organizational software process maturity and
establish process improvement programs
the basic premise of CMM is that by applying the
correct methods and procedures, a software
development project “matures” and during that
maturity process advances through various stages
7/17/2015
BYT - Quality in IT
25
CMM – stages
Process
Control
Process
Management
Process
Definition
Basic
Management
Control
Initial
Ad Hoc
Little formalization
Tools informally
applied to the
process
7/17/2015
Repeatable
Defined
Achieved foundation for major and
continuing progress
Managed
Optimizing
Major quality and
quantity improvements
Substantial quality
improvements
Comprehensive
process measurement
Achieved a stable
process with a
repeatable level
of statistical
control
BYT - Quality in IT
26
SEI CMM In A Nutshell
Quick Interpretation
5 - “Work your measures”
 Level 4 - “Measure your work”
 Level 3 - “Work your plan”
 Level 2 - “Plan your work”
 Level 1 - “Don’t worry, be happy”
 Level
7/17/2015
BYT - Quality in IT
27
Six Sigma

Six Sigma is the fastest growing business
management system in industry today
 Centered on a powerful problem solving and
process optimization methodology, Six Sigma
is credited with saving billions of dollars for
companies over the past ten years
 The main thrust of Six Sigma is the
application of statistical tools in the context of
a disciplined, easy to follow methodology
 Six Sigma translates into “3.4 Defects per
Million Opportunities (DPMO)”
7/17/2015
BYT - Quality in IT
28
Six Sigma (continued)
 It
is an operating philosophy that is
customer-focused and strives to drive
out waste, raise levels of quality, and
improve financial performance at
breakthrough levels
7/17/2015
BYT - Quality in IT
29
Six Sigma – sub methodologies

DMAIC





Define - Define the project goals and customer
(internal and external) deliverables
Measure - Measure the process to determine
current performance
Analyze - Analyze and determine the root
cause(s) of the defects
Improve -Improve the process by eliminating
defects
Control - Control future process performance
7/17/2015
BYT - Quality in IT
30
Six Sigma – sub methodologies

DMADV





Define - Define the project goals and customer
(internal and external) deliverables
Measure - Measure and determine customer
needs and specifications
Analyze - Analyze the process options to meet the
customer needs
Design - Design (detailed) the process to meet
the customer needs
Verify - Verify the design performance and ability
to meet customer needs
7/17/2015
BYT - Quality in IT
31
The End
 That’s
7/17/2015
all folks !!!
BYT - Quality in IT
32