Title: PERSONAL SOFTWARE PROCESS
1PART IV
- PERSONAL SOFTWARE PROCESS
- TEAM SOFTWARE PROCESS
2CHP 10 Personal Software Process (PSP)
- Objective
- To introduces concepts and principles of PSP
- To understand the PSP process levels
3CHP 10 Personal Software Process (PSP)
- Introduction to PSP
- The rationale behind PSP Improvement
- Steps lead to PSP
- Principles behind PSP
- The PSP process levels
- Summary
4Introduction to PSP
- PSP is a defined and measured sw process designed
to be used by an individual software engineer - Developed by Watts Humphrey
- Based on process improvement principles
- The focus of PSP is on improving the individual
engineer tasks in sw dev. activities
5Introduction to PSP
- A self-improvement process designed to help you
- to control,
- to manage and
- to improve
- the way you work as a software engineer
- The PSP is a structural framework of forms,
guidelines and procedures for developing
software. - Properly used, it provides historical data needed
to make and meet development commitments and it
makes routine elements of your work more
predictable and more efficient.
6Introduction to PSP
- The Personal Software Process can be adapted to
individual circumstances. - Through Personal Software Process principles, it
is possible to define, measure and analyse your
own process. - With experience it is possible to improve (i.e.
enhance) your processes to take advantage of new
technology, tools and methods. - Overall goal of Personal Software Process
Understanding your own performance as a software
engineer and determining how to improve your
performance
7Introduction to PSP
- It relates problems to industrial software
development to issues of professional discipline
and describes how an individual can use
disciplined methods to improve their performance
as a software engineer. - Basically the Personal Software Process is a
self-improvement programme
8The Rationale behind Personal Software Process
Improvement
- Software professionals will better understand
what they do if they define, measure and track
their work - They will then have a defined process structure
and measurable criteria for evaluating and
learning from their own and others experiences
- Based on this knowledge and experience, they can
select those methods and practices that best suit
their particular tasks and abilities - By using a customised set of orderly,
consistently practical and high quality personal
practices they will be more effective members of
development teams and projects
94 Main Steps lead to the personal software process
- Identify those large-scale s/w methods and
practices that can be used by individuals - Define the subset of these that can be applied
while working on small projects ie developing
small programs - Structure the methods and practices so they can
be gradually introduced - Provide exercise suitable for practicing these
methods in an educational/professional
development setting
105 Principles behind the Personal Software Process
- A defined and structure process can improve
working efficiency - Defined personal process should fit the
individuals skills and preferences - For professionals to be comfortable with a
defined process, they should be involved in its
definitions - As professionals skills and abilities evolve, so
should their processes - Continuous process improvement is enhanced by
rapid and explicit feedback
11 Evolution of Personal Software Process Improvement
Baseline Personal Process
PSP 0 Current Process - Basic record keeping
PSP 0.1 Coding standard, process improvement
proposal, basic measures
Personal Project Management / Planning
PSP 1 estimating, test report
PSP 1.0 task and schedule planning
Personal Quality management
PSP 2 code design reviews
PSP 2.1 design templates
Cyclic Personal process
PSP 3 Cyclic development iterative incremental
development
12PSP Process Levels
- The baseline personal process? PSP0 and PSP0.1
- The personal project management / planning
process ? PSP1 and PSP1.1 - The personal quality management ?PSP2 and PSP2.1
- The cyclic personal process ?PSP3
13The Baseline Personal process PSP0 and PSP0.1
- Provides introduction to the PSP
- Establishes an initial base of historical size,
time, and defect data - PSP0 introduces basic process measurement and
planning - Development time, defects, and program size are
measured and recorded on provided forms
14The Baseline Personal process PSP0 and PSP0.1
- PSP0?PSP0.1 by adding a coding std, size
measurement,and process improvement proposal(PIP) - PSP0.1 introduces PIP
- PIP ? form that provides a structured way to
record process problems, experiences and
improvement suggestions
15Steps in the Baseline PSP
16The Personal Project Management PSP1 and PSP1.1
- Focus on personal project mgt techniques
- Introducing size and effort estimating, schedule
planning, and schedule tracking methods - PSP1 adds planning steps to PSP0
- The initial increment adds test report, and size
and resource estimation
17The Personal Project Management PSP1 and PSP1.1
- PSP1.1 introduces task and schedule planning
- Help you to understand relation between the size
of the programs you develop and the time you take
to develop them - Help you to make commitments you can meet
- To give you an orderly plan for doing the work
- To give you a framework for determining the
status of yr work
18The Personal Quality Management PSP2 and PSP2.1
- Add quality mgt methods to the PSP personal
design and code reviews, a design notation,
design templates, design verification techniques,
and measures for managing process and product
quality - Goal ? to find and remove all defects before the
first compile - To manage yr defect, you must know how many you
make
19The Personal Quality Management PSP2 and PSP2.1
- PSP2 adds review technique to PSP1 to help you
find defects early when they are least expensive
to fix - Do this by gathering and analyzing the defects
found in compile and test for yr earlier
programs. - With these data you can establish review
checklists and make yr own process quality
assessments
20The Personal Quality Management PSP2 and PSP2.1
- PSP2.1 addresses the design process
- PSP does not tell you how to design but rather
how to complete a design - Establish design completeness criteria and
examines various design verification and
consistency techniques
21The Cyclic Personal Process PSP3
- Addresses the need to efficiently scale the PSP
up to larger projects without sacrificing quality
or productivity - Introducing a cyclic development strategy where
large programs are decomposed into parts for
development and then integrated - This strategy ensures that engineers are working
at their maximum productivity and product quality
levels, with only incremental, not exponential,
increases in overhead for larger projects
22The Cyclic Personal Process PSP3
- Using PSP3, engineers decompose their project
into a series of PSP2.1 cycles, then integrate
and test the output of each cycle - Because the programs they produce with PSP2.1 are
of high quality, integration and test costs are
minimized
23Summary
- Successful introduction of the PSP requires
sponsorship and participation by all management
levels - An effective strategy is to first involve key
executives and managers, then to begin training
engineers in the PSP, implementing on a
project-by-project basis - Anyone who is well versed in the Personal
Software Process has the basis for carrying out
Process Improvement in a software development
team and in an organizational context. - PSP is not a magic answer to all your SE problems
24reference
- TECHNICAL REPORT
- CMU/SEI-97-TR-001
- ESC-TR-97-001