Professional Documents
Culture Documents
process in order to prevent the causes of errors, detect them, and correct them in
the early stages of development. As a result, quality assurance substantially reduces
the rates of non-qualifying products.
--------------------------------------------------------------------------------------Components of SQA
Software Quality Assurance Components
The SQA Components that are used by the Software Quality Assurance System can
be classified into six different categories; each of which is necessary to guarantee
maximum quality and to ensure the compliance with the standards and procedures.
The environment in which software development and maintenance is undertaken
directly influences the SQA components. Alongside this various errors will also
affect the SQA components; therefore it is usually necessary to include all of the
components.
The six different components are broken down into the following categories
The quality plan has four main elements; however, how many of these are used is
dependent upon the project. Quality Goals refers to the goals of the product, it is
always better to have more goals as it is easier to see how well the system
performs. Planned review activities are a listing of all the planned reviews such as
Design Reviews (DR) and Code Inspections. Planned software tests details all the
software tests that are to be performed with details such as the unit, integration or
complete system to be tested. Finally, planned acceptance tests for externally
developed software; this is only necessary for products not developed in-house.
Approval of the two plans is necessary and is approved or rejected according to the
procedures within the organisation.
2. Project Lifecycle Activities and Assessment
This component has two main stages; 1. The Development Lifecycle stage which
aims to detect design and programming errors. 2. The Operation-Maintenance
stage focuses on maintenance tasks that improve functionality.
When developing the product there are a number of activities that take place, these
are reviews, such as formal design reviews and peer reviews, expert opinions,
software testing, software maintenance and finally, the assurance of the quality of
external participants work which ensures that any efforts by external members
meet the quality and standards of the organisation.
The reviews occur during the design phase of the development process and should
be conducted at any milestone. The formal Design Review (DR) is a very
important document as the project cannot continue until a formal approval by the
DR committee has been received. The document itself includes a list of action
items (corrections) that are required. The peer review, guided by checklists,
standards and past problems, is a document that reviews short documents or
sections to attempt to detect design and programming faults documenting a list of
its findings.
Expert Opinions is the use of an external member to review in-house work; it can
reinforce the internal (in-house) quality assurance activities. Although not all
organisations may use this approach it is useful for small organisations which may
not have sufficient professional capabilities in-house or for a replacement to the
regular in-house professional for whatever reasons. The outcome from this is often
a document similar to a formal design review.
Software Testing is a formal process carried out by a specialized team in which a
software unit, several integrated software units or an entire software package are
examined by running the programs on a computer. All associated tests are
performed according to the approved test procedures on approved test cases
D.Galin (2003)
In general, Software Testing is aimed at reviewing the running and functionality of
the software in which the testing is based on a prepared list of test cases.
Software Maintenance specifies three categories in which maintenance for a
system can fall into. The first is corrective maintenance in which the correction of
failed software, for whatever reason, occurs. The second is adaptive maintenance
in which maintenance occurs to the system it needs to be adapted; however the
basic functionality of the system is left untouched. Finally, the third is functionality
improvement where the system is modified to add improvements, this could
significantly change the system compared to the other two points.
3. Infrastructure components for error prevention and Improvement
The main goal of this component is to reduce the number of errors in the system
and improve productivity. This is achieved through the use of a number of subcomponents.
QA
vs.
QC
Control: An evaluation to
certain.
implemented
in
is
a failure
system that
predicts
almost
Other definition
flawed
services
from
products
reaching
or
the
QC
is
system that
a failure
uses
detection
a
testing
products
at
specified
be
controlled,
QC
processes
that
manufactured
the
or
customers.
QA defines the
standards/methodology
to
be
QC ensures that
the
defined
before the
manufactured
or
product
the
is duringthe
manufacturing
manufactured.
QA is process oriented.
QC is product oriented.
QA makes sure you are doing the QC makes sure the results of
QA
tasks
are conducted
QC
tasks
are executed
* For this reason, one person cannot perform both activities (QA and
QC) because will result in a conflict of interest.
Examples
Examples
Are
requirements
being
Process
documentation
Establishing
standards
Developing
checklists
Performing
inspections
Preforming testing
Example
QC detected a recurrent problem with the quality of the products.
QC provides feedback to QA personnel that there is a problem in the
process or system that is causing product quality problems. QA
determines the root cause of the problem and then brings changes to
the process to ensure that there are no quality issues in future.
---------------------------------------------------------------------------------------
various defects and obstacles which might come in the way of organizations
success. In a laymans language total quality management emphasizes on
improving the existing policies and making necessary changes in the systems to
ensure superior quality products and services. Organizations practicing Six Sigma
are focused on removing errors and defects to ensure high quality products.
Total Quality management is a less complicated process than Six Sigma. SixSigma involves specially trained individuals whereas total quality management
does not require extensive training. The process of Six Sigma creates special levels
for employees who are only eligible to implement the same. Employees trained for
Six Sigma are often certified as Green Belts or Black Belts depending on their
level of proficiency. Six-Sigma requires participation of only certified
professionals whereas total quality management can be referred to a part time
activity which does not require any special training. Six-Sigma can be
implemented by dedicated and well trained professionals.
Six-Sigma is known to deliver better and effective results as compared to total
quality management. The process of Six Sigma is based on customer feedbacks
and is more accurate and result oriented. Customer feedbacks play an important
role in Six Sigma. Experts predict that six sigma will outshine total quality
management in due course of time.
---------------------------------------------------------------------------------------
PCMM
People Capability
Maturity Model
It is a maturity framework
that focuses on
continuously improving
the management and
development of the
human assets of an
organization.
CMM & PCMM -> http://www.chrmglobal.com/Qanda/15/1/What-do-CMMand-PCMM-mean-.html
--------------------------------------------------------------------------------------DIFFERENCE BETWEEN THREE SIGMA AND SIX SIGMA
Sigma Levels
The science of statistics as they relate to quality control came from the mind of
Walter Shewhart who determined that error rates or exceptions are empirical
qualities based on standard deviation.
Sigma levels 1 through 6 designate the maximum number of defects per million in
a process or system and relate to the overall percentage of accuracy according to
the following specifications.
Right away you can see that one way to differentiate 3 Sigma vs.
6 Sigma is the defect rate, but that is not the full meaning of the difference between
the terms. Take a look at Six Sigma and then see how it compares to Three Sigma
in common usage.
6 Sigma
Although one of the key concepts of Six Sigma is to strive for near perfection, the
practical goal of Six Sigma programs is to continually improve the rate of accuracy
as it approaches that nearly perfect goal. As the quality control of an enterprise
progresses, it traverses lower sigma levels that have less accuracy. Six Sigma,
however, is not just a measuring stick for performance, nor is it a technique for
improving performance: Six Sigma as we know it addresses corporate culture and
seeks to change it into an environment that is at every point optimized for quality.
3 Sigma
One of the major differences between 3 Sigma vs. 6 Sigma is the tolerance for
defects. Walter Shewhart considered Three Sigma as the demarcation point that
divides the ordinary from the extraordinary; the predictable from the unpredictable.
Most companies would consider a Three Sigma performance as unacceptable.
Although the term can apply to defect rates, Three Sigma is more generally used to
refer to the predictability of outcomes and the source of deviation from average
values. It also looks at how causes can be assigned to either known causes, or
unknown causes. In cases where too much error is not assignable, Three Sigma
assumes that the system itself is to blame for errors and calls for it to be thoroughly
redesigned.
DIFFERENCES
The Numerical Difference
The goal of a three sigma quality program is a deviation from an engineering
specification of no more than one-sixth part 1.66 percent, plus or minus. The
goal of a Six Sigma quality program is a deviation of no more than one-twelfth
part, or 0.83 percent, plus or minus. This represents a reduction in errors at every
stage of the production process. While both three sigma and Six Sigma are used as
measures of quality in a manufacturing environment, the difference is great. Three
sigma represents a deviation from the engineering standard of 2,700 parts per
million, versus two parts per billion for Six Sigma.
Production and Managment
Three sigma quality programs stress the manufacturing process. The three sigma
concept doesnt embrace processes far from the factory floor. Six Sigma is more
inclusive, extending to every essential business process. The premise posed in "The
Six Sigma Handbook" includes the customer as part of the quality process. The
customer's desire for the right price, good service, the best financing terms, the
right style and sufficient availability are elements that depend not only on
production, but also on management.
Each Step in a Process
In Six Sigma, each step in production is a process. Each must be completed
properly and efficiently. For each process on the production line, the customer is
the workers involved in the next step on the line. To satisfy the requirements of
three sigma, the deviation allowed at each step in the production process is twice
that allowed in Six Sigma. This means that each worker in the assembly process is
part of the quality team that helps in identifying a source of production errors.
Monitoring Progress
While you cannot inspect quality into a product, inspection at each stage of
production prevents product that falls outside the Six Sigma parameters from
reaching the customer. Inspection, whether on the production floor or in the office,
also provides the needed feedback to adapt the process to eliminate errors. Six
Sigma programs help eliminate customer friction unrelated to the physical quality
of the product through greater efficiency in distribution, product availability and
customer service.
--------------------------------------------------------------------------------------Steps to Develop and Implement a Software Quality Assurance Plan
baseline to compare the actual levels of quality during development with the
planned levels of quality. If the levels of quality are not within the planned quality
levels, management will respond appropriately as documented within the plan.
The plan provides the framework and guidelines for development of
understandable and maintainable code. These ingredients help ensure the quality
sought in a software project. An SQA plan also provides the procedures for
ensuring that quality software will be produced or maintained in-house or under
contract. These procedures affect planning, designing, writing, testing,
documenting, storing, and maintaining computer software. It should be organized
in this way because the plan ensures the quality of the software rather than
describing specific procedures for developing and maintaining it.
Step 1: Document the Plan
The software quality assurance plan should include the following sections:
* Purpose SectionThis section delineates the specific purpose and scope of the
particular SQA plan. It should list the names of the software items covered by the
SQA plan and the intended use of the software. It states the portion of the software
life cycle covered by the SQA plan for each software item specified.
* Reference Document SectionThis section provides a complete list of
documents referenced elsewhere in the text of the SQA plan.
* Management SectionThis section describes the project's organizational
structure, tasks, and responsibilities.
* Documentation SectionThis section identifies the documentation governing
the development, verification and validation, use, and maintenance of the software.
It also states how the documents are to be checked for adequacy. This includes the
criteria and the identification of the review or audit by which the adequacy of each
document will be confirmed.
* Standards, Practices, Conventions, and Metrics SectionThis section identifies
the standards, practices, conventions, and metrics to be applied, and also states
how compliance with these items is to be monitored and assured.
* Reviews and Inspections SectionThis section defines the technical and
managerial reviews, walkthroughs, and inspections to be conducted. It also states
how the reviews, walkthroughs, and inspections are to be accomplished, including
follow-up activities and approvals.
* Software Configuration Management SectionThis section is addressed in
detail in the project's software configuration management plan.
* Problem Reporting and Corrective Action SectionThis section is addressed in
or equipment). A schedule for drafting, reviewing, and approving the SQA plan
should be developed.
Step 5: Execute the SQA Plan
The actual process of executing an SQA plan by the software development and
maintenance team involves determining necessary audit points for monitoring it.
The auditing function must be scheduled during the implementation phase of the
software product so that improper monitoring of the software project will not hurt
the SQA plan. Audit points should occur either periodically during development or
at specific project milestones (e.g., at major reviews or when part of the project is
delivered).
---------------------------------------------------------------------------------------
UNIT 2
PRODUCT METRICS AND PROCESS METRICS
Classification of software quality metrics
Software quality metrics can fall into a number of categories. Here we use a twolevel system.
The first classification category distinguishes between life cycle and other phases
of the software system:
Process metrics, related to the software development process
Product metrics, related to software maintenance
Software volume measures. Some density metrics use the number of lines of code
while others apply function points. For a comparison of these measures, see
Section 21.2.
Errors counted measures. Some relate to the number of errors and others to the
weighted number of errors. Weighted measures that ascertain the severity of the
errors are considered to provide more accurate evaluation of the
error situation. A common method applied to arrive at this measure is classification
of the detected errors into severity classes, followed by weighting each class. The
weighted error measure is computed by summing up multiples of the number of
errors found in each severity class by the adequate relative severity weight.
Department of Defense standard MIL-STD-498, presented in Table 8.1, describes a
commonly used five-level severity classification system. It should be noted that
application of weighted measures can lead to decisions
different than those arrived at with simple (unweighted) metrics: weighted
measures are assumed to be better indicators of adverse situations.
Example 1. This example demonstrates the calculation of the number of code
errors (NCE) and the weighted number of code errors (WCE). A software
development department applies two alternative measures, NCE and
WCE, to the code errors detected in its software development projects. Three
classes of error severity and their relative weights are also defined: