Title: Quality in IT Projects
1Quality in IT Projects
- By Rafal Sitarz Jakub Strzemzalski
2Agenda
- What is quality ?
- Main factors of quality in IT
- Some methodologies
3Quality lets talk ?
- Everyone is for it (under certain conditions)
- Everyone feels they understand it (even though
they wouldnt 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
4Quality ??? Whats 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)
5Quality ??? Whats 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
6Quality ??? Whats 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.
7Quality ??? Whats 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)
8Quality ??? Whats 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
9Software 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 11 and 14, depending on
the application AND the use of test automation
10Quality Factors
- Correctness
- Reliability
- Efficiency
- Integrity
- Usability
- Extendibility / Maintainability
- Testability
- Portability
- Reusability
11Quality 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
12Quality 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.
13Quality 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.
14Quality 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?
15Software Quality Assurance
- How do you assure the quality of your software?
- Good processes
- Good documentation
- Learn and improve
16The 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!
17QMS (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
18ISO 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.
19ISO 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.
20Is 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.
21ISO 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.
22ISO Certificates - Advantages
- Helps to arrange everything in company.
- 2 phases
- mess
- benefits from order
23ISO 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.
24ISO Certificates - Disadvantages
- Bureaucracy
- Costs
- Number of papers increases
25SEI 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
26CMM stages
Optimizing
Managed
Defined
Repeatable
Initial
27SEI CMM In A NutshellQuick Interpretation
- Level 5 - Work your measures
- Level 4 - Measure your work
- Level 3 - Work your plan
- Level 2 - Plan your work
- Level 1 - Dont worry, be happy
28Six 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)
29Six 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
30Six 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
31Six 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
32The End