0 ratings0% found this document useful (0 votes) 55 views27 pagesSQA Unit 1
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content,
claim it here.
Available Formats
Download as PDF or read online on Scribd
Ree RRC MC Rea
Compiled By: Asst Prof. Snehal Tandale
Vidyalankar Schcol OF
Vidyalankar School of sieanaiioel Technology snehal.tandale@vsit.edu.in
V S I T Information Technology | wadala(e), Mumbai.
NAAC AccREDITED CoLLece | www.wsitedu.inVidyalankar School of
V SIT Information Technology
NAAC AccREDITED COLLEGE
Certificate
Thin ia te cntily tha the ebook ttled “SOFTWARE QUALITY ASSURANCE" comprises all
Lament learning tools lon a letter understating of he relevant concets Tia book is compaentivtly compiled
as po the
Pradefined eight paraonctens and guideline
ge
Signature
‘Ms. Snehal Tandale
Date: 18-12-2018
Assistant Professor
Department of IT
4. DISCLAIMER: The information contained in this e-book is compiled and distributed for
educational purposes only. This e-book has been designed to help learners understand relevant
concepts with a more dynamic interface. The compiler of this e-book and Vidyalanka School
of Information Technology give full and due credit to the authors of the contents, developers
and all websites from wherever information has been sourced. We acknowledge our gratitude
towards the websites YouTube, Wikipedia, and Google search engine. No commercial benefits
are being drawn from this project.Unit 1
Contents:
Introduction to Quality: Historical Perspective of Quality, what is Quality? (Is it a fact or
perception?), Definitions of Quality, Core Components of Quality, Quality View, Financial
Aspect of Quality, Customers, Suppliers and Processes, Total Quality Management (TQM),
Quality Principles of Total Quality Management, Quality Management Through Statistical
Process Control, Quality Management Through Cultural Changes, Continual (Continuous)
Improvement Cycle, Quality in Different Areas, Benchmarking and Metrics, Problem Solving
Techniques, Problem Solving Software Tools.
Software Quality: Introduction, Constraints of Software Product Quality Assessment,
Customer is a King, Quality and Productivity Relationship, Requirements of a Product,
Organization Culture, Characteristics of Software, Software Development Process, Types of
Products, Schemes of Criticality Definitions, Problematic Areas of Software Development
Life Cycle, Software Quality Management, Why Software Has Defects? Processes Related to
Software Quality, Quality Management System Structure, Pillars of Quality Management
System, Important Aspects of Quality Management.
Recommended Books:
Sr.
na Title Author's Publisher Edition
Software Testing and re
1 Continuous Quality Third
Lewis Press
Improvement
Software Testing: Principles,
2 | Techniques and Tools red
Dorothy
Graham, Erik
3 Foundations of Software Testing “2” Cengage third
Veenendaal, Learning
Isabel Evans,
Rex Black
Software Testing: A Craftsman’s Paul C. crc
Fourth
Approach Jorgenson Press
Prerequisites and Linking:
No. | Semester Name of the Course Topics
1 4 Software Engineering Different types of TestsUnit 4: Introduction to Quality and Software Quality
What is Quality? (Is it a fact or perception?)
The term ‘Quality’ means different things to different people at different times, different
places and for different products.
To some users, a quality product may be one, which has no/less defects and works exactly
as expected and matches with his/her concept of cost and delivery schedule along with
services offered. “Quality is fitness for use”.
Quality is defined as,” Conformance to specifications” because a very little change to the
design of a product and have to make the product as per the design which will best suite the
user's other expectations like less cost, fast delivery and good service support.
Quality is the extent to which the customers/users believe that the product meets or
surpasses their need and expectations. Others believe that quality means delivering
products that: -
‘* Meet customer standards either as defined by the customer or defined by
the normal usage or by some national or international bodies.
‘+ Meet and fulfil customer needs which include expressed needs as well as
implied requirements.
‘+ Meet customer expectations as maximum as possible.
‘© Meet anticipated / unanticipated future needs and aspirations of customer
Definitions of Quality
For achieving the quality of the product, one must define it in some measureable terms
which can be used as a reference to find whether quality is really met or not. The definitions
of quality from different perceptions are as follow: -
1) Customer- Based definition of Quality: Quality product must have “Fitness for use”.
2) Manufacturing- Based definition of Quality- This approach gives the definition of
“Conformance to requirements”.
3) Product- Based definition of Quality- The product must have something that other
similar products do not have.
4) Value- Based definition of Quality- Many times it is claimed that “People do not buy
products, they buy benefits”.
5) Transcendent Quality- To many users/customers, it is not clear what is meant by a
“quality product”, but as per their perception it is something good and they want to
purchase it because of some quality present/absent in the product.Core Components of Quality
Quality of a product must be motivated by customer requirements and expectations from
the product. Some postulates of quality are: -
1) Quality is based on Customer satisfaction by acquiring a product: -
Customer's satisfaction and delight is the most important factor in
determining whether the quality of the product has been achieved or not.
2) The organization must define Quality parameters before it can be achieved.
In order to satisfy a customer, one must follow a cycle of ‘Define’, Measure’,
‘Monitor’ Control’ and ‘Improve’.
The cycle of improvements through measurements is as follow:
DFFINF: - There must he same definition af what is required in the product, in terms af
attributes or characteristics of a product and in how much quantity it is required to derive
customer satisfaction
MEASURE: - Measurement gives a gap between what is expected by a customer and what is
delivered to them when the product is sold.
MONITOR: There must be some mechanism available with the manufacturer to monitor the
processes used in development, testing and delivering a product to a customer.
CONTROL: - Control gives the abili
things going to a customer.
to provide desired results and avoid the undesired
IMPROVE: - Continuous/Continual improvements are necessary to maintain on-going
customer satisfaction and overcome possible competition, customer complaints.
3) Management must lead the organization through improvement effort.
Management is the single strongest force existing in an organization to make
the changes as expected by a customer.
4) Continuous process(Continual) improvement is necessary.
The cycle of continuous or continual improvement (Plan-Do-Check-Act or
Define-Measure-Monitor-Control-Improve) must be used.
Continuous VS Continual Improvement
Continuous improvement
Continuous improvement is dynamic in
nature. The changes are done at every
stage and every time to improve further.
Continual improvement
Continual improvement is dynamic as
well as static change management. The
changes are done, absorbed, baselined
and sustained before taking next step
of improvements.
Continuously striving for excellence
gives a continuous improvement
Periodic improvements followed by
stabilization process and sustenance
represent continual improvementTt has a thrust on continuous refinement
of the processes to eliminate waste
Continuously
Stabilization of processes at each
iteration of improvement where waste
is removed in stages
Tt has high dependence on people
having innovative skills tending towerds
inventions.
Less dependence on people and more
dependence on innovation processes
Environment is continuously changed.
Changes in environment are followed by
stabilization.
Sometimes it creates a turbulence in an
organization, if people are not able to
digest continuous change.
It may be better suited than continuous
improvement. It gives a chance to settle
the changes before next change is
introduced.
Stake Holders
Stakeholders are the peoples or entities interested in success/failure of a project or product.
The various stakeholders are as follows: -
Customer: - Customer is the main stakeholder for any product/project.
Supplier: - Suppliers gives inputs for making a project/product.
Employee: - People working in a project /an organisation may be termed as employees.
Management: - People managing the organisation/project may be termed as management.
Two more stakeholders in the success as well as failure of any project/product/organisation
are society and government. Their existence isnot felt at project level or at organisation level
but at macro level.
Society: - Society benefits as well as suffers due to successful projects/organisations.
Successful projects/organisations generate more employment and wealth for the people who
are in the category of customer, supplier, employee, management, etc. it also affects
economics of a society to a larger extent.
Government: - Government may be further classified as local government, state government,
central government etc. Government benefits as well as suffers due to successful
projects/organizations.
Quality View
Customer's view of quality: - Customer's view of quality of product interprets customer’s
requirements and expectations of getting a better product at defined schedule, cost and with
adequate service along with required features and functionalities.Delivering Right Product: - The product received by customers must be useful to satisfy their
needs and expectations. It may or may not be correct product from manufacturer's perspective
or what business analyst/system designer may think.
Satisfying Customer's Needs: - Needs may be part of processes for doing requirement analysis
and selection of approaches using some techniques such as cost-benefit analysis, etc.
Meeting Customer Expectations: - customer expectation can be categorized into two parts as,
expressed expectations and implied expectations.
Treating Every Customer with Integrity, Courtesy, and Respect: - Customer and the
requirements are very important for a developing organization as customer will be paying on
the basis of value he finds in the product.
Supplier’s View of Quality: Supplier is a development organization of software application
development. Supplier expectations may range from profitability, name in the market, repeat
orders, customer satisfaction, etc, These expectations may be fulfilled in the following ways: -
Doing the Right Things: - Supplier is intended to do right things for the first time so that there
is no waste, scrap, rework, etc. Changes in requirements are considered as problems.
Doing it the Right Way: - A producer may have his own methods, standards, and processes to
achieve the desired outputs.
Doing it Right the First Time: - Doing right thing the first time may avoid frustrati
rework, etc. and improve profitability, reduce cost and improve customer satisfaction.
Doing it on Time: - All resources for developing a new product are scarce and time factor has
a cost associated with it. The value of money changes as time changes. Thus, money received
late is as good as less money received.
Quality Gap
User’s expectations
User's gap / Requirement gap
Requirements specifications
Producer's gap / Development gap
Product attributes
The above figure explains a gap between
customer expectations from the product.
User’s Gap / requirement Gap: -
ctual product
requirements for the product andIt is a gap between requirement specifications for the product and user expectation from it
Developers must convert user needs into product requirement specification and create the
product exactly as per these specifications.
Closing User’s Gap: -
User’s gap represents the failure seen by the customer in terms of difference between user
needs and product specifications. Methods for closing these gaps may depend on organizations
way of thinking, resource availability, type of customer, customer’s thought process, etc. some
of these methods are: -
Customer Survey: - Customer surveys are essential when an organization is producing a
product for a large market where a mismatch between the product and expectation can be a
major problem to the producer.
Joint Application Development: - Joint Application Development is sometimes called as Agile
methodology of development where developers collaborate with customer during,
development.
Use Involvement ion Development: - User may be involved in approving
requirement specifications, design specification, application user interfaces, ete. Users may
have to answer the queries asked by developers and provide clarifications if any.
Producer’s gap / Development Gay
Producer's gap is a gap between product actually delivered and the requirement and design
specifications developed for the product.
Producer’s Gap: -
Procedure’s gap can be seen as the defects found in in-house testing and there must be process
improvement plans to close this gap.
Process Definition: - Development and testing processes must be sufficiently mature to handle
the transfer of information from one person or one stage to another during software
development life cycle
Work Product Review: - As the stages of software development life cycle progresses, one may
have to keep a close watch on artifacts produced during each stage to find if any inconsistency
has been introduced with respect to earlier phase.
Financial Aspect of Quality
Earlier, people were of the opinion that more price of a product represents better quality as it
involves more inspection, testing, sorting, etc. and ensures that only good parts are supplied
to the customer. Sales price was defined as: -
Sales Price=Cost of manufacturing + Cost of Quality + Profit
If any product enjoys higher profitability, more number of producers would enter into
competition. Number of sellers may exceed number of buyers. When the products produced
match in all aspects, the cost would decide the quantity of sale. The competitor, who reduces
the price, may get more volume of sale if all other things remain constant. Reducing the sales
price reduces percentage profit. Thus in a competitive environment, the equation changes to:Profit=Sales price - [Cost of manufacturing + Cost of Quality]
Cost of Manufacturing: - Cost of manufacturing is the cost required for developing the right
product by right method atthe first time. The money involved in resources like material, people,
licenses, etc. forms a cost of manufacturing.
Cost of Quality: - Cost of Quality represents the part of cost of production incurred in
improving or maintaining quality of product. Some people keep cost of manufacturing and cost
of quality as separate while others may include them under the cost of production.
On the basis of quality focus, organizations may be placed in 2 categor
Cost of prevention: - An organization may have defined processes, guidelines,
standards of development, testing ete. It may define a program of imparting training to
all people involved in development and testing. This may represent a cost of prevention.
This is also termed as “Green Money”. Generally, it is believed that 1 part of cost of
prevention can reduce 10 parts of cost of appraisal and 100 parts of cost of failures.
Cost of appraisal: - The cost incurred in first time reviews and testing is called as the
cost of appraisal. This is termed as “Blue Money” as it can be recovered from the
customer. Generally, it is believed that I part of cost of appraisal can reduce 10 parts
of cost of failures.
Cost of failure: - Cost of failure starts when there is any defect or violation detected at
any stage of development including post-delivery efforts spent on defect fixing. Any
extent of rework, retesting, sorting, scrapping, regression testing, late payments, sales,
under concession etc. represents cost of failure. This is termed as “Red Money”. This
cost affects the profitability of the project/organization badly.
viz. organizations
which are less quality conscious (termed as ‘q’) and organizations which are more quality
conscious (termed as *Q”). The
stribution of cost of quality for these two types is as below: ~
Failure
Appraisal
Appraisal :
Prevention
Prevention
Less quality consciousness (q) More quality consciousness (Q)
The bottommost rectangle represents cost of prevention. As the organization’s qualityconsciousness increases, prevention cost increases. The organization may have defined
processes, methods, work instructions, standard, guideline, template, formats, etc. Teams are
supposed to use them while building a product or testing it. More cost of prevention may be
justifiable for a project/product only if it reduces the cost of failure.
Middle rectangle represents cost of Appraisal. As quality consciousness increases, cost of
appraisal also increases. An organization may prepare various plans and then review these
plans, write the test cases, define test data, execute test cases, analyses defects and initiates
actions to prevent defect recurrences. There may be checklists, guidelines etc. used for
verification and validation activities. The cost incurred in appraisal must be justifiable and
must reduce cost of failure.
The topmost rectangle represents cost of failure. Cost of failure includes the cost associated
with any failure which may range from rework, retesting, etc. including customer
dissatisfaction or loss of revenue, etc. As quality consciousness improves, failure cost must
reduce. Thus, the overall cost of quality must reduce as quality consciousness of the
organization increases.
Definition of Quality
Few of the definitions prescribed for quality are: -
1) Predictable Degree of Uniformity, Dependability at Low Cost and suited to
market.
‘One must be able to predict the product behavior beforehand. One must expect
reliable results from quality products every time they are used.
2) Degree to which a set of inherent characteristics of the Product/Service Fulfills
the Requirements.
The definition of quality stresses the need that the product must conform to
defined and documented requirement statement as well as expectations of
users.
3) Ability of a product or service that bears upon its ability to satisfy implied or
expressed needs.
This definition of quality of product is derived from the approach of “Fitness
for use”. Product should achieve defined requirements as well as implied
requirements.
Customers, Suppliers and Processes
For any organization, there are some suppliers supplying the inputs required and some
customers who will be buying the outputs produced.
Suppliers and Customers may be internal or external to the organization.
In turn, suppliers may be customers for some other organizations and customers may be acting,
as suppliers for somebody else.Internal Customer: - Internal Customers are the functions and projects serviced and supported
by some other functions/projects.
If internal customers are satisfied, this will automatically satisfy external customer as it sets
the tone and perspective for everybody.
External Customer: - External customers are the external people to the organization who will
be paying for the services offered by the organization
‘These are the people who will be actually buying products from the organization, As the
organization concentrates on external customer for their satisfaction, it must improve quality
of its output.
Total Quality management (TQM)
Total Quality management (TQM) is the application of quality principles to all the facets and
business processes of an organization, It talks zbout applying quality methods to the entire
organization whether a given function or part of the organization faces external customer(s)
or not.
Quality Principles of Total Quality management (TQM)
Total Quality management works on some basic principles of quality management definition
and implementation,
Some quality principles of TQM are:-
1) Develop Constancy of purpose of definition and deployment of various i
Management must create constancy of purpose for products and processes, allocating
resources adequately to provide for long term as well as short term needs rather than
concentrating on short term profitability
iatives:
2) Adapting to new philosophy of managing people/stakeholders by building
confidence and relationships: - Management must adapt to the new philosophies of
doing work and getting the work done from its people and suppliers.
3) Declare freedom from mass inspection of incoming/produced output: - It was
believed that one must check everything to ensure that no defect goes to the customer.
4) Stop awarding of lowest price tag contracts to suppliers: - Organizations must
perform measurements of quality of supply along with price and do the source selectionon the basis of final cost paid by it in terms of procurement, rework, maintenance,
operation etc,
5) Improve every process used for development and testing of products: - Improve
every process of planning, production and service to the customer and other support,
processes constantly.
6) Institutionalize training across the organization for all people: - An organiz
must institute modern methods of training which may include on-the-job training,
classroom training, self-study etc. for all people, including management, to make better
use of their abilities.
7) Institutionalize leadership throughout organization at each level: - An organization
must adopt and institute leadership at all levels with the aim of helping people to do
their job in a better way.
8) Drive out fear of failure from employees: - An organization must encourage effective
two-way communication and other means to drive out fear of failure from the minds of
all employees.
9) Break down barriers between functions/departments: - Physical as well as
psychological breaking down of barriers between departments and staff areas may
create a force of cohesion.
10) Eliminate exhortations by numbers, goals, targets: - Eliminate use of slogans,
posters and exhortations of the work force, demanding ‘Zero defects’ and new level of
productivity, without providing methods and guidance about how to achieve it.
11) Eliminate arbitrary numerical targets which are not supported by processes: -
Eliminate work standards that prescribe quotas for the work force and numerical goals
for managers to be achieved
12) Permit pride of workmanship for employees: - Remove the barriers that take away
the pride of workmanship for workers and management. People must feel proud of the
work they are doing and know how they are contributing to organizational vision.
13) Encourage education of new skills and techniques: - Institute a rigorous program of
education and training for people working in different areas and encourage self-
improvement programs for everyone.
14)Top management commitment and action to improve continually: - It is not
sufficient that the top management commits for quality and productivity but employees
must also see and perceive their commitments.Quality Management through Statistical Process Control
‘One must understand the interrelationships among customers, suppliers and processes used in
development, testing etc. and establish quality management based on metrics program.
There are three parts of the approach: -
1) Quality Planning at all levels: - Quality planning is not an accident but is a result of
deliberate efforts to achieve something which is defined in advance. Quality planning
happens at two levels: -
a) Quality Planning at Organizational level: - Quality must be planned
organizational level first. It must be in the form of policy definition and strategic
quality plans on the basis of vision, mission and policies set by senior
management,
b) Quality Planning at Unit level: - Quality Planning at unit level must be done by
the people responsible for managing the unit. Project plan and quality plan at unit
level must be consistent with the strategic quality plans at organizational level and
must be derived from the organization's vision and missions.
2) Quality Control: - Quality control process attempts to examine the present product
at various levels with the defined standards so that an organizations may appraise the
‘outcome of the processes.
3) Quality Improvement: - Improvement process attempts to continuously improve the
quality of the process used for producing the product. There is no end to quality
improvements and it needs to take newer challenges again and again.
Quality Management through Cultural Changes
Quality management through cultural change defines quality improvements as a cultural
change driven by management. It involves: -
1) Identifying areas in which quality can be improved depending upon process capability
measurements and organizational priorities.
2) Improving the quality of the processes of development, testing, managing, etc. is a
team work led by management directives.
3) Setting measurable goals in each area of an organi:
processes at all level.
4) Management must demonstrate commitment to quality improvements and recognition
of achievements is a step in this direction.
5) Repeating quality improvement cycle continuously by stretching goals further for next
phase of improvements is required to maintain and improve the status further.
jon can help in improving
Continual (Continuous) Improvement Cycle
Continual (continuous) improvement cycle is based on systematic sequence of Plan-Do-
Check-Act activities representing a never ending cycle of improvements.PDCA improvement cycle can be thought of as a wheel of improvement continually
(continuously) rolling up the problem-solving hill and achieving better and better results for
the organization in each iteration.
Stages of Continual (Continuous) improvement through PDCA are:-
1) Plan:- An organization must plan for improvements on the basis of its vision and
mission definition. Planning includes answering all questions like who, when, where,
why, what, how etc.
2) Do: Plan is not everything but a roadmap. Actual execution of a plan can determine
whether the results as expected are achieved or not. Do process need inputs like
resources, hardware, software, training, etc. for execution of a plan
3) Check:~ An organisation must compare actual outcome of Do stage with reference or
expected results which are planned outcomes. It must be done periodically to assess
whether the progress is in proper direction or not and whether the plan is right or not
4) Act: If any deviations (positive or negative) are observed in actual outcome with
respect to planned results, the organization may need to decide actions to correct the
situations.Benchmarking and Metrics
Benchmarking is the concept creating qualitative/quantitative metrics or measureable
variables, which can be used (0 assess product quality on several scales against a benchmark.
Typical variables of benchmarking may include price of a product paid by customer, time
required to acquire it, customer satisfaction, defects or failures, attributes and features of
product, ete.
Metrics are defined for collecting information about the product capabilities, process
variability and outcome of the process in terms of attributes of products.
Metric is a relative measurement of some parameters of a product which are related to the
product and processes used to make it,
Problem Solving Techniques
Problem solving can be accomplished by both qualitative and quantitative methods.
Qualitative problem solving refers to understanding a problem solution using only qualitative
indexes such as high, medium, low etc. depending on whether something is improving or
deteriorating from the present status and so forth.
Quantitative problem solving requires specification of exact measures in numerical terms
such as ‘the cost has increased 32.5% during the last quarter’ or ‘the time required to produce
one product unit is reduced by 32 minutes’
Problem Solving Software Tools
‘There are some advantages and disadvantages associated with usage of tools for problem
solving.
Advantages of using software tools for analysis and decision making:
1) Accuracy and speed of the tools is much higher compared to performing all
transactions and calculations manually.
2). Decision support offered by the tool is independent of personal skills and there is least
variation from instance to instance
3) Tools can implement theoretical means of assessing metrics about quality as defined
by business law. There is no manual variation,
4) Tools give more accurate and faster results.
5) Tools can be integrated with other systems to provide a systematic and highly
integrated means of solving problems.
Disadvantages of using computer tools for analysis and decision making: -
1) These programs and tools need training before they can be used.2) All software / hardware is prone for defects and these tools are not exceptions to it.
3) Decision has to be taken by human being and not by the tools.
4) Tools may mean more cost and time to learn and implement.
Difference between Tools & Techniques
Tools Technique
Usage of tool is guided by the technique. | Technique is independent of any tool
Tool is of no use unless technique to use
it is available.
Different techniques may use same ‘Same technique may use different tools
tool to achieve different results to achieve same result
Tool improvement needs technological | Technique change can be effected
Change through procedural change
Contribution of tools in improvement is | Contribution of technique in
limited improvement is more important
Software Quality
Constraints of software product quality assessment
Testers may or may not have direct access to the customer and may get information through
requirement statements, queries answered, etc. either from the customer or business
system/analyst, etc. There are few limitations of product quality assessment in these scenari
1) Software is virtual in nature. Software products cannot be seen, touched or heard.
2) There is huge communication gap between users of software and developersitesters of
the product.
3) Software is a product which is unique in nature.
are superficial ones,
4) All aspects of software cannot be ‘ested fully as number of permutation and
combinations for testing all possibilities tend to infinity.
5) An application with a problematic code executes wrongly every time it is executed.
imilarities between any two products
Customer is a king
‘The customer is the most important person in any process of developing a product and
using it. A satisfied customer is an important achievement for an organization and is
considered as an investment which may pay back in short as well as long term.
Satisfied customers may give references to others and come back with repeated
orders.Factors determining success
To be a successful organization, one must consider the following factors, entities, and
their interactions with each other.
Internal customer and internal supplier: - when an organization is grouped in
to various functions/departments, then one function/department acts as a
supplier or a customer of another function/department.
* External customer and External Suppliers: - External customers may be the
final users, purchasers of software, etc. External suppliers are the entities who
are external to the organization and who are supplying to the organization.
Quality and productivity relationship
Quality improvement does not talk about product quality only but a process quality used for
making such a product. If the processes of development and testing are good, a bad product
will not be manufactured in the first place. It will reduce inspection, testing, rework,
cost/price. Thus quality must improve productivity by reducing wastage.
Following shows how quality and productivity are related to each other: -
1) Improvement in quality directly leads to improved productivity.
2) The hidden factory producing scrap, rework, sorting, repair and customer complaint is
closed.
3) Quality improvements lead to cost reduction.
4) Employee involvement in quality improvement.
5) Proper communication between management and employee is essential.
6) Employees participate and contribute in improvement proces
7) Employees share responsibility for innovation and quality improvement.
Requirements of a product
There are basic requirements for building software, which will help customers conduct their
business in a better way. Following are the different categories of requirements: -
1) Stated/implied Requirements: - Some requirements are specifically documented in
software requirements specifications while few others are implied ones.
2) General/ Specific requirements: - Some requirements are generic in nature, which are
generally accepted for a type of product and for a group of users while some others
are very specific for the product under development.
3) Present/Future requirements: - Present requirements are essential when an application
is used in present circumstances while future requirements are for future needs which
may be required after some time span.4) ‘Must’ and ‘Must not’ requirements or primary requirements: ~ Must requirements are
primary requirements for which the customer is going to pay for while acquiring the
product. Must not requirements which must be absent in the product.
5) ‘Should be’ and ’should not be’ requirements or secondary requirements: - Should be
requirements are the requirements which may be appreciated by the customer if they
are present/absent and may add some value to the product.
6) ‘Could be’ and ‘Could not be’ requirements or Tertiary requirements:
could be
requirements are requirements which may add a competitive advantage to the product
but may not add much value in terms of price paid by the customer.
Organization Culture
*Y organizations are more quality conscious organizations while ‘q? organizations are less
quality conscious organizations.
Quality culture is'Q
Quality culture is not"
These organizations believe in listening
to customers and determining their
requirements
These organizations assume that they know
customer requirements
These organizations concentrate on
identifying cost of quality and focusing on
it to reduce cost of failure which would
reduce overall cost and price
These organizations overlook cost of poor
quality, hidden factory effect. They
believe in more testing to improve
product quality.
Doing things right for the first time and
every time is the motto of success
Doing things again and again to make them
right is the way of working. Inspection,
rework, scrap ete. are essential.
They concentrate on continuous 7 continual
process improvement to eliminate waste and
get better output
They work in a way of finding and fixing the
problem as and when they are found.
Onetime fix for each problem after it
occurs.
These organizations believe in taking
ownership of processes and defects at all
These organizations tries to assign
responsibility of defects to someone else
levels
They demonstrate leadership and | They believe in assigning responsibility
commitment to quality and customer for quality to others
satisfaction
Shift in Focus from ‘q’ to ‘As the organization grows from ‘q’ to *Q’ there is a cultural change in attitude of the
management and employees towards quality and customer. Following are improvement
process where focus of quality changes gradually.
1) Quality control approach (Finding and Fixing defects): - There are huge testing teams,
Jarge investment in appraisal cost and defect fixing costs followed by retesting and
regression testi
2) Quality Assurance Approach (Creation of process Framework}
the next stage of improvement from quality control where the focus shifts from testing
and fixing the defects to first-time right.
~ Quality assurance is
3) Quality Management Approach: - Management includes planning, organizing,
staffing, directing, coordinating and controlling to get the desired output.
Characteristics of Software
Following are the characteristics of software: ~
1) The product is in the form of executable which cannot be checked by any natural
method available to mankind like touch, smell, hearing, taste, etc.
2) Software is always unique in nature. Every product is differen
performance etc.
3) Every condition defined by the software program gets executed in the same way
every time when it gets executed.
characteristics,
Software Development Process
Software development process defines how the software is being built. There are various
approaches to build software which are:
1) Waterfall development approach/model
2) Iterative development approach/model
3) Incremental development approach/model
4) Spiral development approach/model
5) Prototyping development approach/model
6) Rapid application development approach/model
7) Agile development approach/model
Waterfall development approach/model
It is also termed as classical view of software development as it remains the basis or
foundation of any development activity.
The requirements are converted into high level as well as low level designs.
Designs are implemented through coding. Code is integrated and executable are created.
Executable is tested as per test plan.
The final output in the form of an executable is deployed at customer premises.
Waterfall models are used extensively in fixed price/fixed schedule projects where estimation
is based on initial requirements.Limitation of Waterfall cycle
© There is no feedback loop available.
* No rework is involved in waterfall model.
Iterative development approach/model
Iterative development process is more practical than the waterfall model.
It doesn’t assume that the customer gives all requirements in one go and there is complete
stability of requirements.
It assumes that changes may occur from any phase of development to any previous phase and
there are multiple permutations and combinations of changes.
Limitations of Iterative development
Iterative development consists of many cycles of waterfall model,
It gives problem in fixed price projects for estimation.
Another problem faced by iterative development is that the product architecture and design
becomes fragile due to many iterative changes.
Incremental development approach/model
Incremental development models are used in developing huge systems.
These systems are made of several subsystems which in themselves are individual systems.
Thus, incremental systems may be considered as a collection of several subsystems.
‘The incremental model gives flexibility to a customer. One system may be created and the
customer may start using it. phase.
Limitations of Incremental Development
Incremental models with multivendor product integration are a major challenge as parameter
passing between different systems may be difficult.
Incremental models help in integration of big systems at the cost of loss of flexibility
‘When a system is incremented with new subsystems, it changes the architecture of that system.
Spiral development approach/model
Spiral development process assumes that customer requirements are obtained in multiple
iterations, and development also works in iterations.
Many big sofiware systems are built by spiral models of ever-increasing size.
First some functionality is added, then product is created and released to customer.
After getting the benefits of first iteration of implementation, the customer may add another
chunk of requirements to the existing one.Further addition of requirements increases the size of the software spirally.
Limitations of Spiral Development
Spiral models represent requirement elicitation as the software is being developed,
Sometimes, it may lead to refactoring and changes in approach where initial structures become
non-usable.
Prototype development approach/model
Prototype development approach represents top to bottom reverse integration approach.
Major problem of software development is procuring and understanding the customer
requirements for the product. Prototyping is one of the solutions to help in this problem.
In prototyping, initially a prototype of the system is created- this is similar to cardboard
model of a buildin,
Ithelps the customer to understand what they can expect from the given set of requirements. It
also helps the development team to understand the possible application’s look and feel.
Limitations of Spiral Development
‘Though, one may get a feel of the system by looking at the prototype, one must understand that
it is not the actual system but a model.
Applications not having much graphical user interfaces are difficult to model
Rapid Application Development approach/model
Itis a miniature form of spiral development.
Development team may get very less number of requirements (say 5/6).
They create a design, code it, test it, release it to customer. Once customer gets the delivery, he
may have a better understanding of his expectations and development process by looking at the
product delivered.
He may add another chunks of requirements and entire development cycle is followed.
Limitations of Rapid Application DevelopmentChange in approach and refactoring are the major constraints in rapid application development.
Italso involves huge cycles of retesting and regression testing.
Efforts of integration are huge.
Agile Development approach/model
Agile gives complete freedom to the users to add requirements at any stage of development,
and development team has to accept these changes.
Agile methodologies work on small chunk of work in each iteration and release working
software at the end of iteration.
It also gives importance to delivering working software rather than achieving requirements
defined in requirements specifications.
Agile works on the following principle:
It concentrates more on ‘Fitness for use’ and what the customer needs are.
Success of software product is that it is working at each stage.
Requirements clarifications, requirement elicitation, and prototyping needs customer
involvement.
Maintenance Development approach/model
Every product including software has many defects which may create problems to its users in
the long term.
Every technology has a life time. New technologies may offer better services and options, and
may replace existing technologies.
New functionalities may be required due to changing business needs.
Maintenance activities of software may be put under 4 different groups namely: -
Bug fixing where the defects present in the given software are fixed. This may involve retesting
and regression testing.
Enhancement where new functionalities are added in the existing software. Some
functionalities may be introduced due to changes in user requirements.
Porting where software is taken from older technologies to newer technologies. Whatever
functionalities are available in the old technologies; all those are expected to be present in the
new technology.
Types of Products‘There are various schemes of grouping the products on the basis of criticality to the users
which are as follow.
1) Life Affecting Products:
Products which directly/indirectly affect human life are considered as the most critical
products in the world from user’s perspective. This type of product may be further
‘grouped into 5 different categories:
Any product failure resulting into death of a person.
Any product failure which may cause temporary disablement to a patient.
© Other products which do not affect health or safety directly.
2) Product Affecting huge sum of money: -
A product which has direct relationship with loss of huge sum of money is second in
the list of criticality of the product.
e-commerce and e-business software may be put in this category. Security,
confidentiality and accuracy are some of the important quality factors for such
products.
3) Products which can be tested only by simulators: -
Products which cannot be tested in real-life scenario but need simulated environment
for testing are third in the ranking of criticality. In this case, real life scenario is either
impossible to create or may not be economically viable
4) Other products: -
All other products which cannot be categorized in any of the above scheme may be
put in this category.
Problematic areas of software development life cycle
Requirement gathering and elicitation is the most important phase in software development
life cycle.
Problems associated with requirement gathering are: -
1) Requirements are not easily communicated: - Communicat
jequiremient staten
types of requirements are
a) Technical requirements: - Technical requirements are platform, language,
database, operating system, etc. required for the application to work.
n is a major problem
1. The:
creation, software development and
b) Economical requirements: - Economics of software system is dependent on its
technical and system requirements.
¢) Legal requirements: - For any software application, there may be some rules and
regulations by government, regulatory bodies, etc. applicable to the business.2)
nal requirements are defined by
customers or users on the basis of business needs. These may be functional as well
as non-functional requirements,
€) System requirements: - System requirements include physical/logical security
requirements that are defined by a customer with the help of a development team.
Requirements change very frequently: - Requirements are very dynamic in nature.
As the product is being built and shown to customer, lot of new ideas are suggested.
Software Quality management
2)
3)
Quality management approaches talk about managing quality of a product or service
using systematic ways and methods of development and maintenance. It talks about
three levels of handling problems namely,
Correction: - Correction talks about the condition where the defects found in the
product or service are immediately sorted and fixed
Corrective Actions: - Every defects needs an analysis to find the root causes for
introduction of a defect in the system. Situation where the root cause analysis of the
defects is done and actions are initiated to remove the root causes so that the same
defects do not recur in future is termed as corrective action.
Preventive actions: -Preventative action means that there are potential weak areas
where defects have not been found till that point, but there exists a probability of
finding the defects.
Why software has defects?
In case of software development and usage, there are many factors responsible for its
success/failure. Few of them are: -
There are huge communication losses between different entities as requirements get
converted into the actual product.
Development people are more confident about their technical capabilities and do not
consider that they can make mistakes.
Requirement changes are very dynamic.
Technologies are responsible for introducing few defects. There are many defects
introduced due to browsers, platforms, databases etc.Process Related to software Quality
Vision
Vision defines in brief about what the organization wishes to achieve in the given time
horizon.
Mission
In an organization there are several initiatives defined as missions which will eventually help
the organization realize its vision. Mission may have different lifespans and completion dates.
Policy
Policy statement talks about a way of doing business as defined by senior management.
Examples include security policy, quality policy, and human resource development policy.
Objectives
Objectives define quantitatively what is meant by a successful mission. Every mission must
have minimum one objective.
Strategy
Strategy defines the way of achieving a particular mission. There may be an action owner to
lead the strategy.
Goals
Goals defines the milestones to be achieved to make the mission successful. Goals provide
milestone definition.
Values
‘Values can be defined as the principles, or way of doing a business as perceived by the
management.
Quality Management System Structure
Generic view of quality management includes three tiers and three pillars.
Following are the pillars:
1) 1* Tier Quality Policy)
Quality policy sets the wish, intent and directions by the management about how
activities will be conducted by the organization.
2) 2" Tier Quality Objective)
Quality objectives are the measurements established by the management to define
progress and achievements in a numerical way.
3) 3" Tier (Quality Manual)
Quality manual also termed as policy manual is established and published by the
management of the organization.
Following are the tiers: -
1) Quality processes/ Quality procedures/ Work Instructions
‘They are defined at an organization level by the functional area experts, and at project
and function level by the experts in those areas separately.2) Guidelines and Standards
They are used by an organization’s project team for achieving quality goals for the
products and the services delivered to customers.
3) Format and templates
‘They are used for tracking a project, function, and department information within an
organization,
Important Aspects of Quality Management
An organization must plan for improvement under the leadership of management and with
employee participation.
1) Quality planning at organization level: - An organization creates quality plan at the
organization level for achieving quality objectives, goals, its vision and missions.
2) Quality planning at project level: - These are generally strategic level quality plans
with details of responsibilities and actions,
3) Resource management: - An organization should use good inputs as required by
quality planning so that the output of the processes match with the organizations’
business plan.
4) Work environment: - A good environment can help an organization to build on its
strength while a bad environment is a roadblock to achieving objectives, and can
create problems in its mission of customer satisfaction.
5) Customer-related processes: - They must be analyzed for their capability in servicing
customers and achieving customer satisfaction.
6) Quality management system document and data control: -Statistical process control
and data management are essential for continuous improvement of processes.
7) Verification and validation: -verification includes management reviews and technical
reviews whereas validation involves different types of testing
Objectives
1) Customer is a
2). Stop awarding of lowest price tag __to suppliers.
3) Arrows in waterfall model are
4) ________are not easily communicated.
5) may be accidental in nature.
6) ____and requirements are primary requirements.7) Effect of bad is not know immediately.
8) are mandatory ways of doing things.
9) The cycle of continuous/continual improvement is
10) Products which directly/indirectly affect human life are considered as
products.