Lecture 02 (1)
Lecture 02 (1)
by
Dr. Rizwan
Quality Concerns of Customer
• The basic quality concern of a user are that a software system performs useful functions
as it is specified
• Performs right functions as specified, which, hopefully fits the user’s needs (fit for use)
• Performs these specified functions correctly over repeated use or over a long period of time (Performs its
functions reliably)
• Customers view can vary
• For some (novice) users – useability is most important factor
• For other (expert) users –reliability is more important than useability
• Customer vs User Expectations?
• The basic quality expectations of a customer are similar to that of a user, with the additional concern for the cost
of the software or service
• This additional concern can be reflected by the so‐called value‐based view of quality, that is, whether a customer
is willing to pay for it
Quality Concerns of Developers
• For software developers, the most fundamental quality concern is to
• Fulfill their contractual obligations by producing software products that conform to
product specifications or
• Providing services that conform to service agreement
• Usability and Modifiability may be most important for people involved with
software service,
• Maintainability for maintenance personnel
• Portability for third‐party or software packaging service providers
• Profitability and customer value for product marketing
• For product and service managers, adherence to pre‐selected software
process and relevant standards, proper choice of software methodologies,
languages, and tools may be closely related to quality
So, What is Quality?
16
FURPS
• FURPS is an acronym used in software engineering to
represent a set of characteristics or quality attributes that are
often considered when evaluating and defining software
requirements
• Functionality: This category encompasses the features and
capabilities of the software
• It includes requirements related to specific functions, user
interactions, data processing, and system behavior
• Usability: Usability refers to the ease of use and user
experience provided by the software
• It includes requirements related to user interfaces, navigation,
learnability, efficiency, and user satisfaction.
• Reliability: Reliability concerns the dependability and stability
of the software
• It includes requirements related to error handling, fault tolerance,
availability, and the ability to recover from failures.
FURPS Cont..
• Performance: Performance relates to the speed, responsiveness,
and efficiency of the software
• It includes requirements related to response time, throughput, scalability,
resource utilization, and efficiency.
• Supportability: Supportability focuses on the ease of maintenance,
deployment, and support for the software throughout its lifecycle
• It includes requirements related to documentation, modularity,
configurability, testability, and compatibility with other systems
CUPRIMDSO
• CUPRIMDSO categories
• Capability
• Functionality
• Usability
• Performance
• Reliability
• Install ability
• Maintainability
• Documentation/information
• Service
• Overall
Software Process Improvement and Capability
Determination (SPICE)
• The SPICE model is a framework for assessing and improving
software development processes
• It provides a set of standards and guidelines for evaluating the
maturity and capability of software development processes within
organizations
• Developed by the International Organization for Standardization
(ISO) and the International Electrotechnical Commission (IEC) and
is based on the ISO/IEC 15504 standard
• The primary goal of SPICE is to help organizations understand,
measure, and improve their software development processes to
enhance product quality, reduce costs, and increase efficiency
CMMI
• CMMI stands for Capability Maturity Model Integration
• It is a process improvement framework that provides
organizations with the essential elements of effective
processes
• CMMI helps organizations improve their processes for
developing and delivering products and services, thereby
enhancing their overall performance and competitiveness
CMMI Objectives
• Improve process efficiency and effectiveness
• CMMI helps organizations identify weaknesses in their processes and implement
improvements to enhance productivity, quality, and customer satisfaction
• Establish best practices
• CMMI provides a set of best practices and guidelines for process improvement based
on industry standards and real-world experience
• Achieve consistency and repeatability
• CMMI helps organizations establish standardized processes that can be consistently
applied across projects and teams, leading to predictable and repeatable results
• Support organizational learning and innovation
• CMMI encourages organizations to continuously learn from their experiences and
innovate their processes to adapt to changing business needs and technological
advancements
CMMI Levels
• Initial
• Processes are unpredictable, poorly controlled, and reactive
• Managed
• Basic project management processes are established to track cost,
schedule, and functionality
• Defined
• Processes are well characterized and understood, and are tailored to
specific projects
• Quantitatively Managed
• Processes are controlled using statistical and quantitative techniques
to improve process performance
• Optimizing
• Continuous process improvement is enabled through quantitative
feedback and innovation
Why do we need Quality Models