You are on page 1of 16

CS383 - Software Engineering

Software Process Quality

Semester: 432

Lecture: 5
Outline

● Process and product quality

● Process improvement process

● Process analysis, process change, process measurement …

2
Process and Product Quality

● Product quality depends on development process


○ Good process yields usually good product
● Software engineers analyze current software process for improvement
changes .
● Factors are:

3
Process and Product Quality (cont.)

● The quality for big projects is determined by

○ The development process

● The quality for small projects is determined by

○ Developers skills and capability

○ Development technologies

● Whatever project size, unrealistic schedule leads to

poor quality product

4
Process Attributes

● Process improvement for years focused on defect reduction,


Nowadays, we have
● Understandability:
○ How easy to understand the process definition?
○ To what extent is the software process define? well-defined software
process
● Standardization:
○ How is the process is based on generic standard processes? (clients
require conformance)
● Visibility:
○ Are the process activities have clear results and progress is externally
visible?
● Measurability:
○ Does the current process facilitates data collection so that process
characteristics can be measured
● Supportability:
○ Can the current process be supported by tools? To what extent? 5
Process Attributes

● Acceptability:
○ Is the current process acceptable to and usable by software engineers?
● Reliability:
○ To what extent that the process takes into account error-free software
product? (verification)
● Robustness:
○ Can the software process function regardless of unexpected problems?
● Maintainability:
○ Can the software process evolve and address changes of requirements for
improvement?
● Rapidity:
○ How fast can the process of delivering the product from a given
specification be completed?
6
Process Improvement: measure, analyze, change

● Attributes of process are


measured according to org.
goals
● Baseline for analysing
improvements

Propose appropriate changes ● Process is assessed based on


that addresses weaknesses and attributes.
improvements identified in ● Bottlenecks and weaknesses are
analysis stage identified
● Rapidity and robustness are
7
considered
Process Classification

● Informal
○ No detailed process model. Development team chose their own
way of working
● Managed
○ Defined process model which drives the development process
● Methodical
○ Processes supported by some development method such as RUP
● Improving
○ Processes quantitatively understood analysed and changed to
improve performance

8
Software Process Tool Support

9
Software Process: measurement

● Collect quantitative data of the process from its attributes

○ Process should be standardized and that its attributes can be measured.

● Based on attributes values, software process improvements can take

place

● Measurements cannot be used to drive improvements (only used for

process analysis)

● Improvements should be driven by objectives (requirements, people,

development time, quality assurance, resources availability,

organizational objectives)
10
Process Measurement Classes

● Time taken for process activities to be completed

○ E.g. Calendar time or effort to complete an activity or

process

● Resources required for processes or activities

○ E.g. Total effort in person-days.

● Number of occurrences of a particular event

○ E.g.Number of defects discovered.

11
Software Process: analysis and modeling

● Process analysis
○ Study of existing processes to understand the relationships between its
parts and to compare them with other processes

● Process modelling
○ The documentation of a process which records the tasks, the roles and
the entities used
○ Process models may be presented from different perspectives

12
Software Process: analysis and modeling (cont.)

● Study an existing processes to understand its activity, relationships


between its parts
● Produce an abstract model of the process
○ May graphically represented showing different views (e.g.,
activities, deliverables, etc)
● Analyze the model to discover process problems
○ People are involved here, developers, stakeholders, managers
○ Propose changes after thoroughly analyzing quality factors and
process attributes
○ This can be a repetitive process

13
Software Process: process change

● Involves making modifications to existing software processes

● This may involve:

○ Introducing new practices, methods or processes

○ Changing the ordering of process activities

○ Introducing or removing deliverables

○ Introducing new roles or responsibilities

● Change should be driven by measurable goals

14
Software Process: process change (cont.)

15
Software Process: process change challenges

There are two major challenges of change process stage

1. Resistance to change
a. Introducing changes may be resisted by few people involved in the
process
b. They may deliberately go against process change and interpret data to
show ineffectiveness changes

2. Change persistence
a. Changes may discarded after short time and revert to previous state
i. Happen when the person who proposed changes is left to another
firm

16

You might also like