Tải bản đầy đủ (.pdf) (42 trang)

Lecture Software process improvement: Lesson 1 - Dr. Ghulam Ahmad Farrukh

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (232 KB, 42 trang )

Software Process Improvement
CS­7xx
Dr. Ghulam Ahmad Farrukh

1


Agenda
• Objectives of this course
• What is a process?
• What is a software process? Why we need 
them
• Process models
• Process improvement
2


Objectives of This Course ­ 1
• To introduce students to the basics of 
software process and process improvement
• To teach students about the activities and 
issues software process engineering
• To teach students different software process 
improvement approaches

3


Objectives of This Course ­ 2
• To teach students concept of measurements 
and how it applies to software processes


• To introduce students advance and potential 
research topics in software process 
engineering

4


Objectives of This Course ­ 3
• Provide an academic/theoretical 
background in the class room about an 
interesting area of research and practice
• Let students explore the local industry and 
understand their processes and suggest an 
improvement strategy

5


Processes
• Processes are part of all aspects of life and 
are an essential mechanism for coping with 
complexity in the world
• Description of processes are very important 
because they allow knowledge to be reused

6


What is a Process?


7


What is a Process?
• Once someone has worked out how to solve 
a problem, they can document the way in 
which that solution was derived as a process
• This then helps other people faced with 
similar problems to get started on their own 
solutions

8


Examples of Processes ­ 1
• An instruction manual for a kitchen 
dishwasher describes the process of using 
that machine to clean dishes
• A cookery book describes a set of processes 
to prepare and cook various different types 
of meals

9


Examples of Processes ­ 2
• A procedures manual in a bank describes 
the ways in which different banking 
processes such as agreeing a personal loan, 
correcting errors, etc. should be carried out

• A quality manual for software development 
describes the processes which should be 
used to assure the quality of the software. It 
may include descriptions of standards 
which are basis for the quality checking 10


Software Process

11


Software Problems
• Technical
– Need a technical solution
– Easy to understand and solve

• Systemic
– Difficult to understand and solve
– Need a process/management solution

12


Solution to Software Problems
• Treat the software task as a process that can 
be controlled, measured, and improved
• Relate the required tasks, tools, methods 
with skill, training, and motivation of 
people involved


13


Software Processes
• Software engineering, as a discipline, has 
many processes
• These processes help in performing 
different software engineering activities in 
an organized manner

14


Software Process
• The software process is the set of tools, methods, 
and practices that people use to produce (develop 
and maintain)  software and associated products , 
e.g., project plans, design documents, code, test 
cases, and user manuals
• Where are the people? Aren’t they the most 
important part of an organization?
15


Characteristics of Software 
Processes
• Requires creativity
• Interactions between a wide range of 
different people

• Engineering judgment
• Background knowledge
• Experience
16


Examples of Software Processes
• Software engineering development process 
(SDLC)
• Requirements engineering process
• Quality assurance process
• Change management process
• Design process
17


Process Management
Basic Concepts

18


Basic Concepts ­ 1
• The objectives of software process 
management are produce products 
according to plan while simultaneously 
improving the organization’s capability to 
produce better products
• The basic principles are those of statistical 
process control, which have been used 

successfully in many fields
19


Basic Concepts ­ 2
• A process is said to be stable or under 
statistical control if its future performance is 
predictable within established statistical 
limits
• When a process is under statistical control, 
repeating the work in roughly the same way 
will produce roughly the same result
20


Basic Concepts ­ 3
• To obtain consistently better results, it is 
thus necessary to improve the process
• If the process is not under statistical control, 
sustained progress is not possible until it is
• The basic principle behind statistical control 
is measurement

21


Lord Kelvin Said
• When you can measure what you are speaking 
about, and express it in numbers, you know 
something about it; but when you cannot 

measure it, when you cannot express it in 
numbers, your knowledge is of a meager and 
unsatisfactory kind; it may be the beginning of 
the knowledge, but you have scarcely in your 
thoughts advanced to the stage of science
22


Basic Concepts ­ 4
• You cannot just start to use numbers to 
control things
• The numbers must properly represent the 
process being controlled, and they must be 
sufficiently well defined and verified to 
provide a reliable basis for action

23


Basic Concepts ­ 5
• While process measurements are essential 
for orderly improvement, careful planning 
and preparation are required or the results 
are likely to be disappointing
• The mere act of measuring human 
processes changes them

24



Basic Concepts ­ 6
• Since people’s fears and motivations are 
involved, the results must be viewed in a 
different light from data on natural 
phenomenon. It is thus essential to limit the 
measurements to those with predefined use

25


×