You are on page 1of 21

SOFTWARE ENGINEERING

ECONOMICS
CHAPTER 1
Software Business & Quality Models
• Course Instructor: Ms. Hafsa S Dar
• Designation: Lecturer Software Engineering Department
• Contact Sources:
hafsa.dar@uog.edu.pk
Office Hours will be mentioned soon
CONTENT
• The Software Business
• Software Quality Goals
• Proposed Frameworks and Improvement Approaches
THE SOFTWARE BUSINESS
We Must:
• Understand the processes and products of the business
• Define our business needs and the means of achieving them
• Evaluate every aspect of our business
• Build competencies in the domain of our business by packaging our
successful experiences for reuse
Importance of Technical & Managerial
Solutions
It Requires:
• well defined set of product needs so we may articulate and satisfy
our customers and assist the developer in accomplishing this task
• defined set of processes to provide a means of accomplishing what
needs to be accomplished, controlling the development, and
improving the overall business
• number of closed loop processes that provide project feedback for
control and real-time modification of the project process, and
support for organizational learning across multiple projects
• Key technologies necessary for supporting these requirements
The Development Aspect
• The main aspect of the business, the value added to the product.
Real Life Example:
• A company like IBM is not just in the computer hardware business but
in the computer software business. It provides its customers with an
integrated software system of applications that communicate across
various hardware platforms. Customers purchase their systems for
the functions they deliver and these functions are mostly software
intensive.
• If an organization does not recognize that it is in the software
business and is not treating software as a business
• The software processes are development not production
• We have many models and techniques we can use to learn about the
product and processes, feedback information, build models, measure
effects, reuse knowledge, and improve production.
• But there has been little support for development processes in the
past
• Because manufacturing has made its profits on the efficiency and
quality of its production rather than the efficiency of its development
• software is all development
• so we have to worry about improving the development business.
Software Quality Goals
• Conformance to requirements is quality
Four major components to achieving software quality
• First, we must define the required software qualities required
operationally, relative to the project and the organization
• Second, we must find criteria for selecting the appropriate methods
and tools and tailoring them to the needs of the organization and the
project
• Third, we must evaluate the quality of the process and product
relative to the specific project goals
• Fourth, we must organize quality assurance from planning through
execution through evaluation, feedback and improvement.
• For many organizations, quality is simply defined as less errors
reported by the customer
• Process for the entire organization is defined by a company-wide
software development methodology standards document
• Evaluation involves counting the number of customer trouble reports
generated
• And the quality assurance organization is the group that provides
management with the trouble report data.
Quality Assurance & Quality Control
We define
• Quality control as the act of directing, influencing, verifying, and
correcting for ensuring the conformance of a specific product to a
design or specification
• Quality assurance as the act of leading, teaching, auditing the
process by which the product is produced to provide confidence in
the conformance of a specific product to a design or specification
• For any project, consider the various types of activities we perform.
Consider the activities as broken into constructive and analytic
activities
• Reasonable public data implies that somewhere between 30% to 50%
of the project effort is spent on the analytic activities
• to be able to deal with software quality issues, we must characterize,
understand, evaluate, assess, predict, motivate, manage, and control
the business
We need to:
• build descriptive models and baselines of the business.
• evaluate and assess the achievement of our quality goals and the
impact of technology on products so we can understand where
technology needs to be improved and tailored. That is, we need to
compare models
Proposed Frameworks and Improvement
Approaches
Five Frameworks
• Plan-Do-Check-Act PDCA
• Total Quality Management TQM
• SEI Capability Maturity Model SEICMM
• Lean Software Development LSD
• Quality Improvement Paradigm QIP
Plan-Do-Check-Act
• The approach is based upon work by W. A. Shewart
• The goal of this approach is to optimize and improve a single process
model / production line.
• If a Process (P) produces a Product (X) then the approach yields a family of
processes and a series of versions of product X
P0, P1, P2, ..., Pn ------------> X0, X1, X2, ..., Xn
Four Basic steps
• Plan: Develop a plan for effective improvement
• Do: The plan is carried out, preferably on a small scale
• Check: The effects of the plan are observed; at each stage of development
• Act: The results are studied to determine what was learned and what can
be predicted
Total Quality Management
• The term TQM was coined by the Naval Air Systems Command in
1985 to describe its Japanese style management approach to quality
improvement
• The goal of TQM is to generate institutional commitment to success
through customer satisfaction.

• Quality Function Deployment (QFD)


• Design of experiments (DOE)
• Statistical process control (SPC)
• According to TQM, following is the process to improve the product
SEI Capability Maturity Model
• Developed by R Likert,P. Crosby, Ron Radice, Watts Humphrey
• The goal of the approach is to achieve a level 5 maturity rating
• continuous process improvement via defect prevention, technology
innovation, and process change management.
• Improvement is achieved by action plans for poorly assessed
processes.
5 levels are:
Lean Software Development
• Womack, et. Al
• The goal is to build software using the minimal set of activities
needed, eliminating non essential steps, i.e., tailoring the process to
the product needs
• The approach uses such concepts as technology management, human
centered management, decentral organization, quality management,
supplier and customer integration, an internationalization
/regionalization
Quality Improvement Paradigm
• Its goal is to build a continually improving organization based upon
the evolving organizational goals and an assessment of its status
relative to those goals
• The approach uses internal assessment against the organizations own
goals and status (rather than process areas) and such techniques as
GQM, model building, and qualitative/quantitative analysis to
improve the product and other aspects of the business through the
process.
• It works in a way that:

• Characterize the current project and its environment with respect to models and
metrics.
• Set the quantifiable goals for successful project performance and improvement.
• Choose the appropriate process model and supporting methods &tools for
• Execute the processes, construct the products, collect and validate the prescribed
data, and analyze it to provide real-time feedback for corrective action.
• Analyze the data to evaluate the current practices, determine problems, record
findings, and make recommendations for future project improvements.
• Package the experience in the form of updated and refined models and other
forms of structured knowledge gained from this and prior projects and save it in
an experience base to be reused on future projects.
Assignment # 2
Compare the five frameworks and provide your feedback
Deadline: 20th May 2014
Marks: 5
Group Based

You might also like