0% found this document useful (0 votes)
51 views18 pages

Lecture 7

The document discusses the Personal Software Process (PSP) framework which aims to help software engineers improve their personal skills and performance through defined processes, measurements, and analysis techniques. It outlines the key principles of PSP including using measured personal processes and data collection/analysis to improve. It also describes the different levels of the PSP structure from PSP0 to PSP1.1 which progressively introduce more data, analysis, size/resource estimation, and other techniques.

Uploaded by

wahida saleha
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
51 views18 pages

Lecture 7

The document discusses the Personal Software Process (PSP) framework which aims to help software engineers improve their personal skills and performance through defined processes, measurements, and analysis techniques. It outlines the key principles of PSP including using measured personal processes and data collection/analysis to improve. It also describes the different levels of the PSP structure from PSP0 to PSP1.1 which progressively introduce more data, analysis, size/resource estimation, and other techniques.

Uploaded by

wahida saleha
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 18

Software Process Improvement

BS(SE)-VI

Dr. Assad Abbas

Department of Computer Science


COMSATS University Islamabad, Islamabad Campus
[email protected]
Outline

n Personal Software Process (PSP)


n PSP Principles
n PSP Process and Structure (PSP Levels)
n PSP Tools

May 15, 2024 2


Personal Software Process (PSP)
n Developed by Humphrey, the Personal Software
Process (PSP) is a structured software development
framework that includes defined operations,
measurements, and analysis techniques designed to
help software engineers understand and build on
their personal skills and improve their performance.
n The PSP provides a defined personal process,
guides software engineers in collecting and
recording data, and defines ways to analyse data
and make process improvements

May 15, 2024 3


Personal Software Process (PSP)
n Applying CMM principles to small
organizations/small teams was questionable,
therefore, the PSP was invented to convince
software engineers that improvement requires
change, and changing the behaviour of software
engineers is a nontrivial problem.
n Humphrey also asserted that the PSP design is
based on the principles of consensus planning and
quality, providing an internal reference point for
software quality before its public release.

May 15, 2024 4


PSP Principles
n Every engineer is different; therefore, engineers must plan their work based on
their own personal data.
5 Occasionally, an engineer may be a doubting Thomas; i.e., one who is sceptical about
changes to their work habits. Although engineers may be willing to make a few minor
changes, engineers generally hold fairly closely to what has worked for them in the
past, unless they can be convinced that a new method is more effective.
n Engineers should use well-defined and measured processes to consistently
improve their own performance.
5 Engineers need to understand their personal performance, measures of the time they
spend on each job step, defect injection and removal as well as the size of the product
they produce.
5 Subsequently, engineers are required to produce quality products and, to do this, they
must plan, measure, and track product quality; the overall message is to focus on
quality from the outset of the project.
5 Additionally, engineers need to find and fix defects earlier during the process rather
than later, as the latter tends to increase project expenses. In other words, prevention
is better than cure; hence, defects are more effectively prevented and fixed earlier
rather than later, when the project is nearly ready for release for public use.
5 Equally important, the results of each job should be analysed for future reference, as
any findings may be helpful in improving their personal processes

May 15, 2024 5


PSP Structure and Processes
n The first step in the PSP is planning,
which consists of a planning script that is
used to guide work and also a plan
summary which records planning data.
n After gathering and analysing all the
requirements for the project, engineers
follow each step in the planning script
and perform time recording and defect
logging.
n In the planning phase, the overall plan is
created with a gross estimate, wherein
the engineer uses process scripts in
defining each step required for each part
of the process

May 15, 2024 6


PSP Structure and Processes
n Initially, engineers should plan their tasks
based on their own historical time, size
and defect data.
n They should define their work in detail
because this will provide more accurate
estimates.
n Afterwards, as all the products may seem
to be vague and indistinguishable,
engineers may transfer all the details and
ideas into a conceptual design, which is a
rough outline for the outcome because it
relies on historical data.
n Subsequently, the resource and size
estimations are made using the PROBE
method.
n Theoretically, engineers estimate the
product size and based on this
estimation, later determine the
approximate amount of time required for
the project to be completed
May 15, 2024 7
PSP Structure and Processes
n PROBE uses historical relationships between estimated
object LOCs and actual resources to estimate resource
requirements.
5 For example, engineers may refer to historical data on the size
of similar projects they have previously developed and use
linear regression to estimate the overall size of the finished
product, estimate a total plan for the code to be developed, and
estimate the development resources needed.
5 Using the percentage estimates for guidance, every phase in
the development process (design, design review, coding, code
review, compiling, unit testing, and postmortem phases) may
also be estimated accordingly.
5 Engineers may log time and defect data in the process as they
perform their tasks. This is to ensure that the quality plan
should first be determined to yield a quality product. After the
estimation (which is part of the quality plan) is verified with the
PROBE method, the schedule is conveyed, and the task time is
laid out to achieve the planning target.

May 15, 2024 8


PSP Structure and Processes
n The PSP is based on several methods consisting of a series of
seven process versions. These seven process levels
progressively introduce data and analysis techniques
n The methods are labelled PSP0 to PSP3. Each of these versions
consists of sets of logs, forms, scripts and standards.
n PSP0
5 In the first level, engineers essentially follow their current practices,
learning some basic PSP techniques. These current processes are
enhanced with time and defect tracking instruments.
5 In PSP0, engineers establish a baseline against which to measure
progress and identify the bases for improvement.
5 This process level provides a convenient structure for doing small
scale tasks, a framework for measuring these tasks and a
foundation for process improvement.
5 Thus, at this process level, there are several tasks that must be
completed by the engineers before completing a PSP0 plan
summary.
5 Each task requires them to define the current process in detail with
the use of scripts. Each script guides their plans in detail.
5 Next, they implement a time recording log. The log is used to clock
the time spent in each subprocess of the PSP.
5 Engineers record data on each defect found and corrected in a
defect recording log, with the same objectives as the time recording
log. Additionally, the defect type standard is the next task to be
considered.
May 15, 2024 9
PSP Structure and Processes
n PSP0.1
5 PSP0 was enhanced to PSP 0.1 by adding size measurements
in terms of LOC and the process improvement proposal
5 The personal baseline process is extended to include a
systematised coding standard, software size measurement in
terms of logical LOC and a personal process improvement
proposal mechanism.
5 Moreover, the standards also include estimate of job size as a
function of LOC and additionally, standards are developed that
deal with LOC count alterations made in the project.
5 Furthermore, items such as problems encountered on the
project, proposals for process improvement, overall comments
about the project and much more data are also recorded.

May 15, 2024 10


PSP Structure and Processes
n PSP1
5 This level introduces software size and
resource estimation and PSP test reporting.
5 In principle, size estimates of a project are
made by determining the planned project size
based on previous projects undertaken within
the organisation.
5 In PSP1, engineers can establish an orderly
and repeatable procedure for developing
software using size, resource and schedule
estimations.
5 Additionally, the estimating process may
become progressively more accurate as more
data is gathered from various projects
completed by an organisation.
5 In estimating project size, engineers should
have the actual size data for a number of
previously developed projects to establish
baseline initial estimates
May 15, 2024 11
PSP Structure and Processes
n PSP1.1
5 This level enhances PSP1 to augment
it with task and schedule planning and
also adds earned-value tracking.
5 Engineers often have trouble tracking
their work because they tend to
perform tasks other than those they
have planned.
5 Therefore, in PSP1.1, task planning
helps them estimate the development
time and completion date for each
project task.
5 Moreover, it also provides a basis for
tracking schedule progress.

May 15, 2024 12


PSP Structure and Processes
n PSP2
5 This level introduces design and code
review with quality measurement and
evaluation.
5 This may help to improve the quality of
software and subsequently improve
personal quality management more than
any other single change made to the
personal software process.
5 When using defect data from their earlier
exercises, engineers also develop
personal design and code review
checklists.
5 A technical review is performed to assure
that the quality of the program was
improved, and this is done by examining
part or all of the software system and its
associated documentation.
May 15, 2024 13
PSP Structure and Processes
n PSP2.1
5 Throughout this level, engineers learn to use design specification
templates or techniques that provide an orderly framework and
format to record designs properly.
5 Additionally, engineers are also provided with ways of preventing
defects.
5 Templates consist of operational scenario templates containing
descriptions of likely operational scenarios to be followed in using
the program such as scenario steps, likely user objectives, sources
of scenario action and lists of significant comments.
5 The next template is the functional specification template, which is
used to describe functions and procedures for functional design or
objects for object-oriented design.
5 Finally, the logic specification template specifies pseudo-code logic
for each function or program unit and contains lists of any new or
unusual included features that are required by the functions

May 15, 2024 14


PSP Structure and Processes
n PSP3
5 The tasks include all of the PSP2 and PSP2.1 tasks plus cyclic
development.
5 Cyclic development is useful in tracking data regarding program size,
time spent in each development phase, defects detected and defects
removed.
5 Its objective is to extend PSP or to scale up the process to large
program development such as industrial-sized projects and to cover
team project work.
5 This strategy focuses on structuring product development into
increments suitable for cyclic development.
5 PSP3 addresses this scalability with the cyclic development strategy,
in which large programs are decomposed into parts for development
and then integrated.

May 15, 2024 15


PSP Structure and Processes
n PSP3 (cont.….)
5 Each enhancement is built on the previously completed increment up
to a size of several thousand LOC.
5 This helps engineers concentrate on verifying the quality of the latest
increment without worrying about defects in the earlier cycles.

May 15, 2024 16


Tools Supporting the PSP
n PSP adoptions in individual software engineers can
be enhanced with the help of tools. Some important
tools include:
5 Jasmine
5 PSPA
5 Hackystat
5 PSP Studio
5 Process Dashboard
5 Duo Tracker
5 PSP.NET
5 The LEAP Toolkit
5 PROM
5 PSP-EVA
May 15, 2024 17
Source
n Software Process Improvement and Management:
Approaches and Tools for Practical Development,
Shukor, S. Fauzi, H. N., Nuraminah R., Sahibuddin,
S., IGI Global, 2011. (Ch. 7)

May 15, 2024 18

You might also like