Uploaded by M Julie Emerald Jiju

TQM NOTES

advertisement
SOFTWARE PROJECT MANAGEMENT
UNIT I
TOTAL QUALITY MANAGEMENT
Definition
TQM is a management philosophy that seeks to integrate all organizational functions
(marketing, finance, design, engineering, and production, customer service, etc.) to
focus on meeting customer needs and organizational objectives.
The simple objective of TQM is “Do the right things, right the first time, every time.”
Quality can be quantified as Q=P/E where Q = Quality, P = Performance, E =
Expectation
Six Basic Concepts Of Total Quality Management
1. Management Commitment
2. Customer Focus
3. Involvement and utilization of entire work force
4. Continuous Improvement
5. Treating Suppliers as Partners
6. Establish Performance Measures for the processes
TQM can be implemented successfully in any part of a business, such as:
•
Accounting
•
Field servicing
•
Finance
•
Legal and administration
•
Maintenance
•
Manufacturing
•
Materials management
•
Research and development
•
Sales and marketing
Pillars Of TQM:
Problem solving discipline

Interpersonal skills

Teamwork

Quality improvement process.
1
SOFTWARE PROJECT MANAGEMENT
Major Characteristics
•
The essential characteristics of an effective TQM system are company
member, from the CEO to the lowest level employee, is focused on product or
service quality. If management is not behind TQM, then it will fail.
•
Everyone must have the required training and be familiar with the necessary
TQM techniques.
•
Anyone can suggest areas for improvement - as general operatives will be
more familiar with their work station than anyone else is, valuable ideas for
improvement at a production line level can, in many cases, come from line
workers.
•
All departments are expected to focus on quality and productivity
improvement and implement changes for their area.
•
In addition, all departments interact with each other to fix common problems
in the product or process.
•
Collaboration on external issues (end-user defects for example) is expected
from all departments.
Process Improvement Cycle:
Implementation Process

Must begin from top management

Cannot be delegated (lack of involvement cited as principle reason for failure)

Top/senior management must be educated on TQM philosophy and concepts

Visits to TQM companies, read books, attend seminars

Need a roadmap/framework for implementation consider timing (any crisis)

Formation of Quality Council – policies, strategies, programmes
2
SOFTWARE PROJECT MANAGEMENT
Advantages of Total Quality Management
Some of the advantages of total quality management are:
1. Emphasizing the needs of the market: TQM helps in highlighting the needs of the
market. Its application is universal and helps the organization to identify and meet
the needs the market in a better way.
2. Assures better quality performance in every sphere of activity: Adverse and nonparticipative attitudes of the employees are the biggest obstacles in the
organization’s success, growth and advancement. TQM stresses on bringing
attitudinal changes and improvements in the performance of employees by
promoting proper work culture and effective team work. It provides excellent
opportunities for self development and increasing employee’s interest in the job.
3. Helps in checking non-productive activities and waste: Every organization aims at
improving productivity as well as reduction in cost so as to result in increase in
profitability. Under TQM, quality improvement teams are constituted to reduce
waste and inefficiency of every king by introducing systematic approach. Such
efforts are helpful in achieving cost-effectiveness and safety in the organization.
4. Helpful in meeting the competition: TQM techniques are greatly helpful in
understanding the competition and also developing an effective combating
strategy. Due to the cut throat competition, the very survival of many
organizations has become very vital issue. TQM helps in understanding the
customers as well as the market. It provides an opportunity to the organization to
meet the competition by resorting to the techniques of TQM.
5. It helps in developing an adequate system of communication: Faulty and
inadequate communication and improper procedures act as stumbling blocks in
the way of proper development of an organization. It results in misunderstanding,
low- productivity, poor quality, duplication of efforts and low morale. TQM
techniques bind together members of various related sections, departments and
levels of management for effective communication and interaction.
6. Continuous review of progress: TQM helps to review the process needed to
develop the strategy of never ending improvement. Quality improvement efforts
have to be undertaken continuously to meet the dynamic challenges. From the
above, it can be concluded that TQM results in both tangible and intangible gains.
**************
3
SOFTWARE PROJECT MANAGEMENT
SIX SIGMA
Definition

A Strategy to improve the process quality by identifying and eliminating
defects and minimizing variations in process outputs

A data driven approach based on Measurement of the process variation using
Statistical Process Control
Goal
The goal of Six Sigma is to reduce process variation. A structured Implementation
approach based on a Design Measure Analyze Improve and Control(DMAIC) cycle
and certified experts.
Key Concepts of Six Sigma

Critical to Quality : Attributes most important to the customer

Defect

Process Capability: What your process can deliver

Variation

Stable Operations : Ensuring consistent, predictable processes to improve what
:Failing to deliver what the customer wants
: What the customer sees and feels
the customer sees and feels

Design for SixSigma: Designing to meet customer needs and process capability
Improving Quality
Improving quality means reducing the defects per million opportunities (DPMO).
There are two attributes to this metric that can be controlled:

Opportunities – reducing the number of steps, handoffs and other
“opportunities” will help improve quality

Defects – reducing the number of defects for each process step through
continuous process improvement will help improve quality. “Defect” is
defined as any process output that does not meet the customer’s specifications.
Statistical Process Control (SPC)
•
Control charting is the primary tool of SPC
•
Control charts provide information about the stability/predictability of the
4
SOFTWARE PROJECT MANAGEMENT
process, specifically with regard to its Central tendency (to target value) and
Variation
•
SPC charts are time-sequence charts of important process or product
characteristics
Six Sigma Process (DMAIC)

Define- Identify key characteristics important to the customer

Measure- Categorize key input and output characteristics, verify Measurement
systems and Collect data and establish the baseline performance

Analyze- Convert raw data into information to provide insights into the
process

Improve - Develop solutions to improve process capability and compare the
results to the baseline performance

Control - Monitor the process to assure no unexpected changes occur
Types of Process Variation

Common Cause Variation:
It is the sum of many chances causes, none
traceable to a single major cause. Common cause variation is essentially the
noise in the system. When a process is operating subject to common cause
variation it is in a state of statistical control.

Special Cause Variation: It is due to differences between people, machines,
materials, methods, etc. The occurrence of a special (or assignable) cause
results in an out of control condition.
Advantages:
1. Six Sigma is driven by the customer and thus aims to achieve maximum
customer satisfaction and minimizing the defects. It targets the customer
delight and new innovative ways to exceed the customer expectations.
2. Implementation of Six Sigma methodology leads to rise of profitability and
reduction in costs. Thus improvements achieved are directly related to
financial results.
3. Six Sigma is successfully implemented in virtually every business category
including return on sales, return on investment, employment growth and stock
value growth.
4. Six Sigma targets Variation in the processes and focuses on the process
improvement rather than final outcome.
5
SOFTWARE PROJECT MANAGEMENT
5. Six Sigma is prospective methodology as compared to other quality programs
as it focuses on prevention on defects rather than fixing it.
6. It is attentive to the entire business processes and training is integral to the
management system where the top down approach ensures that every good
thing is capitalized and every bad thing is quickly removed.
Disadvantages
1. Applicability of Six Sigma is being argued among the Six Sigma critics. They
opined that the quality standards should be according to specific task and
measuring 3.4 defects per million as standard leads to more time spent in areas
which are less profitable.
2. Six Sigma gives emphasis on the rigidity of the process which basically
contradicts the innovation and kills the creativity. The innovative approach
implies deviations in production, the redundancy, the unusual solutions,
insufficient study which are opposite to Six Sigma principles.
3. People argue that Six Sigma is a bit gimmicky and simply a rebranding of the
continuous improvement techniques and tools as practiced by Toyota. It thus
promotes outsourcing of improvement projects with lack of accountability.
4. Six Sigma implementation constantly require skilled man force. Thus control
and employee dedication are hard to accomplish if it’s not implemented
regularly.
5. While converting the theoretical concepts into practical applications there are
lot to real time barriers which needs to be resolved.
****************
6
SOFTWARE PROJECT MANAGEMENT
SOFTWARE QUALITY
Definition

Concerned with ensuring that the required level of quality is achieved in a
software product. It is also the conformance to meeting the requirements.

Involves defining appropriate quality standards and procedures and ensuring
that these are followed

Should aim to develop a ‘quality culture’ where quality is seen as everyone’s
responsibility
Quality management activities

Quality assurance
•

Establish organisational procedures and standards for quality
Quality planning
•
Select applicable procedures and standards for a particular project and
modify these as required

Quality control
•
Ensure that procedures and standards are followed by the software
development team
Quality Assurance and Standards
Quality assurance is the process of defining how software quality can be achieved and
how the development organization knows that the software has the required level of
quality.
7
SOFTWARE PROJECT MANAGEMENT
Quality assurance standards
• Product standards
• Product standards
Software standards

Are based on knowledge (“best-practice” or “state-of-the-art”)

Provide a framework for implementing a quality assurance process

Assist/support continuity in practice within an organization
Documentation Standards

Particularly important documents are the tangible manifestation of the
software

Documentation process standards
•

Document standards
•

How documents should be developed, validated and maintained
Concerned with document contents, structure, and appearance
Document interchange standards
•
How documents are stored and interchanged between different
documentation systems
8
SOFTWARE PROJECT MANAGEMENT
Software Quality Management Processes
Planning software quality involves;

defining the required product in terms of its quality
o (internal and external) characteristics
o Planning the processes to achieve the required product

Characteristics that govern how the product works in its environment are
called external, which include, for example, usability and reliability

Characteristic related to how the product was developed are called internal
quality characteristics, and include, for example, structural complexity, size,
test coverage, and fault rates

Quality assurance process: ensuring that the software products and processes
in the project life cycle conform to their specified requirements by planning,
enacting, and performing a set of activities to provide adequate confidence that
the quality is being built into the software

Verification and validation processes: assessing software products throughout
the product life- cycle

Review and audit processes: involving Management reviews, Technical
reviews, Inspections, Walk- through and Audits
Quality Planning
Quality planning is the process of developing a quality plan for the project A quality
plan involves
• Product introduction: A description of the product, its intended market and the
quality expectation for the product
• Product plans: The critical release dates and responsibilities for the product along
with plans for distribution and product servicing
• Process descriptions: the development and service processes that should be used for
product development and management
• Quality Goals: The quality goals and plans for the product including an
identification and justification of critical product quality attributes
• Risks and risk management: The key risks that might affect product quality and the
actions to address these risks
9
SOFTWARE PROJECT MANAGEMENT
Software product metrics
Quality Control

Checking the software development process to ensure that procedures and
standards are being followed

Two approaches to quality control
•
Quality reviews
•
Automated software assessment and software measurement
Quality Reviews:

The principal method of validating the quality of a process or of a product

Group examined part or all of a process or system and its documentation to
find potential problems

There are different types of review with different objectives
•
Inspections for defect removal (product)
•
Reviews for progress assessment(product and process)
•
Quality reviews (product and standards)
10
SOFTWARE PROJECT MANAGEMENT
McCall’s Quality Factors and Criteria
•
The 11 quality factors defined in the above Table have been grouped into three
broad categories.
–
Product operation
–
Product revision
–
Product transition
11
SOFTWARE PROJECT MANAGEMENT
McCall’s Quality Criteria
************
12
SOFTWARE PROJECT MANAGEMENT
ISO 9126
Overview of the ISO 9126 standard
ISO 9126 is an international standard for the evaluation of software quality. The
standard is divided into four parts as follows: quality model; external metrics; internal
metrics; and quality in use metrics.
The ISO 9126 software quality model identifies 6 main quality characteristics,
namely:
• Functionality
• Reliability
• Usability
• Efficiency
• Maintainability
• Portability
Functionality
• Functionality is the essential purpose of any product or service. A sales order
system should also provide the following functions:
• Record sales order product, price and quantity.
• Calculate total price.
• Calculate appropriate sales tax.
• Calculate date available to ship, based on inventory.
• Generate purchase orders when stock falls below a given threshold.
• The relationship between software functionality within an overall business process
is outside the scope of ISO 9126 and it is only the software functionality, or
essential purpose of the software component, that is of interest for ISO 9126.
Reliability
• Once a software system is functioning, as specified, and delivered the reliability
characteristic defines the capability of the system to maintain its service
provision under defined conditions for defined periods of time. One aspect of
this characteristic is fault tolerance that is the ability of a system to withstand
component failure. For example if the network goes down for 20 seconds then
comes back the system should be able to recover and continue functioning.
Usability
• Usability only exists with regard to functionality and refers to the ease of use for a
given function. For example a function of an ATM machine is to dispense
cash as requested. Placing common amounts on the screen for selection, i.e.
$20.00, $40.00, $100.00 etc., does not impact the function of the ATM but
addresses the Usability of the function. The ability to learn how to use a
system (learnability) is also a major sub characteristic of usability.
Efficiency
• This characteristic is concerned with the system resources used when providing the
required functionality. The amount of disk space, memory, network etc.
provides a good indication of this characteristic. As with a number of these
characteristics, there are overlaps. For example the usability of a system is
influenced by the system's Performance, in that if a system takes 3 hours to
respond the system would not be easy to use although the essential issue is a
performance or efficiency characteristic.
13
SOFTWARE PROJECT MANAGEMENT
Maintainability
• The ability to identify and fix a fault within a software component is what the
maintainability characteristic addresses. In other software quality models this
characteristic is referenced as supportability. Maintainability is impacted by
code readability or complexity as well as modularization. Anything that helps
with identifying the cause of a fault and then fixing the fault is the concern of
maintainability. Also the ability to verify (or test) a system, i.e. testability, is
one of the sub characteristics of maintainability.
Portability
• This characteristic refers to how well the software can adopt to changes in its
environment or with its requirements. The sub characteristics of this
characteristic include adaptability. Object oriented design and implementation
practices can contribute to the extent to which this characteristic is present in a
given system.
Characteristics and Sub-characteristics for the ISO 9126 Quality Model is:Characteristics
Sub-characteristics
Definitions
This is the essential
Functionality characteristic and
Suitability
refers to the appropriateness (to
specification) of the functions
of the software.
This refers to the correctness of
the functions, an ATM may
Accurateness
provide a cash dispensing
function but is the amount
correct?
A given software component or
system does not typically
function in isolation. This sub
Interoperability
characteristic concerns the
Functionality
ability of a software component
to interact with other
components or systems.
Where appropriate certain
industry (or government) laws
and guidelines need to be
Compliance
complied with, i.e. SOX. This
sub characteristic addresses the
compliant capability of
software.
This sub characteristic relates
Security
to unauthorized access to the
software functions.
This sub characteristic concerns
Maturity
frequency of failure of the
software.
The ability of software to
Reliability
withstand (and recover) from
Fault tolerance
component, or environmental,
failure.
Recoverability
Ability to bring back a failed
14
SOFTWARE PROJECT MANAGEMENT
Understandability
Usability
Learnability
Operability
Time behavior
Efficiency
Resource behavior
Analyzability
Maintainability
Changeability
Stability
Testability
Adaptability
Installability
Portability
Conformance
Replaceability
system to full operation,
including data and network
connections.
Determines the ease of which
the systems functions can be
understood, relates to user
mental models in Human
Computer Interaction methods.
Learning effort for different
users, i.e. novice, expert, casual
etc.
Ability of the software to be
easily operated by a given user
in a given environment.
Characterizes response times
for a given thru put, i.e.
transaction rate.
Characterizes resources used,
i.e. memory, cpu, disk and
network usage.
Characterizes the ability to
identify the root cause of a
failure within the software.
Characterizes the amount of
effort to change a system.
Characterizes the sensitivity to
change of a given system that is
the negative impact that may be
caused by system changes.
Characterizes the effort needed
to verify (test) a system change.
Characterizes the ability of the
system to change to new
specifications or operating
environments.
Characterizes the effort
required to install the software.
Similar to compliance for
functionality, but this
characteristic relates to
portability. One example would
be Open SQL conformance
which relates to portability of
database used.
Characterizes the plug and play
aspect of software components,
that is how easy is it to
exchange a given software
component within a specified
environment.
*************
15
SOFTWARE PROJECT MANAGEMENT
EXTERNAL STANDARDS
BS EN ISO 9001
The British standard is now called BS EN ISO 9001:1994, which is identical to the
international standard, ISO 9001:1994. Standards such as the ISO 9000 series aim to
ensure that a monitoring and control system to check quality is in place. They are
concerned with the certification of the development process, not of the end product.
The ISO 9000 series govern quality systems in general terms and not just those in the
software development environment.
Let us examine how the standard works. A primary task is to identify those things that
are to be the subject of quality requirements. Having defined the requirements, a
system must be put in place to check that the requirements are being fulfilled and that
corrective action is being taken where necessary.
An overview of BS EN ISO 9001 QMS requirements
In order for a quality management system (QMS) to meet the standard it has to
conform to certain requirements which are summarized below.
(a) The management must define and document the policy concerning quality and
must ensure that this policy is communicated to all levels of the organization.
(b) All quality control procedures must be documented.
(c) All contracts to supply goods or services must contain mutually agreed
requirements that the developer is capable of delivering.
(d) There must be procedures to control and verify the design of the system to be
supplied so that it meets the requirements agreed with the customer.
(e) There must be procedures to approve design and other documentation.
(f) Where components of the system to be supplied to the client are obtained from
third parties there must be procedures to ensure, check and maintain the quality of
these components.
(g) Individual products must be identifiable as should their components.
(h) The process by which the final product is created must be planned and monitored.
(i) Inspection and testing must take place during the development phase, at its
completion and before delivery. Tests and inspections must also be carried out on
components obtained from third parties.
16
SOFTWARE PROJECT MANAGEMENT
(j) The equipment used in the production process itself must be properly controlled
with respect to quality.
(k) The testing status of all components and systems must be clearly recorded at all
times.
(1) Care must be taken to ensure that items that are known to be defective are not
inadvertently used.
(m) When a defect is detected, measures must be undertaken to remove the defective
part and to ensure that the defect does not occur again.
(n) Satisfactory procedures must be in place to deal with correct handling, storage,
packaging and delivery of the product.
(o) Sufficient records must be maintained to demonstrate that the quality system is
working satisfactorily.
(p) The software quality management system must be audited on a regular basis.
(q) Servicing and support activities must be subject to the quality management
system.
(r) The developer must establish appropriate statistical techniques to verify the
acceptability of the final product.
Identify specific instances in a software development environment where the
requirements about the control of equipment (j), the recording of the testing status of
all components (k), and the correct handling, storage, packaging and delivery of the
product (m) would be relevant. What procedures would apply in a software
environment in relation to these requirements?
TickIT
The Department of Trade and Industry (DTI) have formulated example, ISO 9000-3.
The TickIT standards which give an interpretation of these standards, which applies
specifically to software development. This includes such requirements as:
• a detailed development plan is required before development is embarked upon;
• change control procedures should be used at all stages of development;
• design reviews must take place;
• the suitability of the design methodology must be reviewed;
• progress must be reviewed on a systematic basis;
17
SOFTWARE PROJECT MANAGEMENT
• it must be possible to trace back the features of software design to specifications and
requirements;
• designs must be properly documented;
• suitable test plans, specifications and records must be produced;
• a code of practice must be in place which governs the way the software is
developed.
The code of practice must include the requirements that:
• the design must be broken down into levels, each with identifiable inputs and
outputs;
• software must be organized into modules;
• a module must normally perform a single function or a set of related functions;
• a plain language description must exist for each module.
Capability Maturity Model (CMM)
The Capability Maturity Model (CMM) is a methodology used to develop and refine
an organization's software development process. The model describes a five-level
evolutionary path of increasingly organized and systematically more mature
processes.
CMM was developed and is promoted by the Software Engineering Institute (SEI), a
research and development center sponsored by the U.S. Department of Defense
(DoD).
CMM's Five Maturity Levels of Software Processes
•
At the initial level, processes are disorganized, even chaotic. Success is likely
to depend on individual efforts, and is not considered to be repeatable, because
processes would not be sufficiently defined and documented to allow them to
be replicated.
•
At the repeatable level, basic project management techniques are established,
and successes could be repeated, because the requisite processes would have
been made established, defined, and documented.
•
At the defined level, an organization has developed its own standard software
process through greater attention to documentation, standardization, and
18
SOFTWARE PROJECT MANAGEMENT
integration.
•
At the managed level, an organization monitors and controls its own
processes through data collection and analysis.
•
At the optimizing level, processes are constantly being improved through
monitoring feedback from current processes and introducing innovative
processes to better serve the organization's particular needs.
Advantages and Disadvantages of CMM
1) High precision and accuracy
2) Requires less labor
3) Accurate dimensions can be obtained just by knowing the coordinates and
distance between
the two reference points.
4) Robustness against external force and error accumulation.
****************
19
Download