Lecture Slides on PDSP.

advertisement
Personal Design and
Development Software Process
PD2SP
“The unexamined life is not worth
living.”
Plato
Cynics’ Guide to Personnel
Management
• Those who work get to keep their jobs.
• Raises become effective when you do.
• It’s better for you to tell them than for
them to find out.
How do you meet expectations
and still have a life?
What It Means to be Effective
• As software professionals you must know your
own performance.
• You should measure, track, and analyze your
work.
• You should learn from your performance
variations.
• You should incorporate these lessons in your
personal practices.
Introduction
• Measure and analyze your personal design and
development software process (PD2SP).
• Use process data to improve your personal
performance.
• Understand variation in your work patterns.
• Plan and estimate software development tasks.
What Metrics Do You Need?
• Time:
– Class, Prep for class, Recording time, Design
time, Planning Time, Programming,
Debugging.
– Provide both planned and actual times.
• Code: Quality and Quantity.
• Results: Demonstrated Correct,
Complete Code.
Cost of
2
PD DP
• The time required to learn and use it.
• The emotional cost of maintaining the
needed discipline.
• The potential risk to your ego.
Benefits of
2
PD DP
• The insight you gain into your talents and abilities.
• The stimulation of an almost unlimited stream of ideas.
• The framework provides for personal improvement.
• The degree of control you gain over your time and
work.
• The feeling of pride and accomplishment.
• An improved basis for effective teamwork.
• The conviction to do the job the way you know you
should.
By the end of the semester:
• You will understand some methods are
effective for you.
• You will do better work.
• You will have long-term improvement
goals.
2
PD SP Principles
• The quality of a software system is governed by
the quality of its worst components.
• The quality of a software component is
governed by the individual who developed it.
• You are governed by your
– knowledge
– discipline
– commitment
What do you know about your
software development skills?
• Can you
– Design, estimate, and plan your work?
– Meet your commitments?
– Resist unreasonable commitment pressures?
• Do you
– Understand your ability?
– Have an improvement plan?
2
A PD SP Also
Provides
• A basis for developing and practicing
industrial-strength personal disciplines.
• A discipline that shows you how to
improve your personal process.
• The data to continually improve the
productivity, quality, and predictability
of your work.
What is a
2
PD SP?
• A personal process for developing software
• defined steps
• forms
• standards
• A measurement and analyses framework to
help you characterize your process
• A defined procedure to help you to improve
your performance
SEI Capability Maturity
Matrix
• Broadly agreed-upon definition of how a
software organization matures and
improves.
• Based on manufacturing process
improvement and “best practices” from
software engineering
• Some dramatic successes.
Each key process area has five
common features:
• Goals to be achieved;
• Ability to perform;
• Activities performed;
• Measurement and analysis;
• Verification
2
PD SP
Overview
2
PD SP Overview
• Since this is so late in your education,
can’t do it all in one course.
• Focus on how to make your more
efficient in time
• We’ll just do the first step.
2
PD SP0
Identify your current software development
process including:
– Planning - Produce a plan to do the work.
– Development - The actual software
development.
– Postmortem - Comparison of actual
performance with your plan.
The measurements will be
• Based on your current process.
• Measure where you spend the bulk of
your time. We will use minutes as the
base granularity for data to be
meaningful.
• Defect Recording. A defect recording log
is used to hold data on each defect found
and corrected.
Don’t Panic
You will NOT be graded on how
long it takes or how many defects
you find
2
ThePD SP0
Summary
• Your original estimate of the LOC you expect to
develop.
• The actual LOC you developed.
• Your original estimate of the time required for each
phase.
• The actual time required for each phase.
• The total number and the percent of defects injected in
each phase.
• The total number and the percent of defects removed in
each phase
Task Planning
• Task planning involves estimating the
development time and completion data
for each project task.
• It also provides a basis for tracking
schedule progress.
Process
• Time and Schedule Management
• Requirements Management
• Design and Work Breakdown Structure
• Development
• Reporting
• Earned Value Estimation
Time and Schedule Management
• Enter initial project data in the project
plan summary (PDSP0).
• Complete Initial Time Schedule Template
(SPT).
• Begin Time Recording (TRT).
Requirements Planning
• Complete the Requirements Work
Template (RWT) in the Excel workbook.
– Constraints are logical statements
– Criteria are performance statements
Design and Work Breakdown
• Use developed requirements document.
• Complete a Work Breakdown Structure
• Estimate the required development time.
• Complete the task plan (WBS).
Reporting
• Complete the project plan summary with
actual time, defect, and size data.
• Complete the PIP (PD2SP0).
• Coding Standard
• Size measurement
• Process improvement Proposal
Rules of the Game
• Please keep accurate track of time.
• YOU WILL NOT BE GRADED ON YOUR
TIME OR QUALITY from this report!!
Quality measurement comes from testing
• Keep your programs simple. You will learn as
much from small programs as from large ones.
• Keep your reports and standards simple and
short.
• Do not hesitate to copy or build on the PD2SP
materials.
Rules of the Game II
• Do it right the first time. If you are not sure,
find out.
• Software is not a solo business so you do not
have to work alone.
• You must, however, produce your own
estimates, designs, and code.
• You may have others review your work and you
may change it as a result. You should note this
help in your process report, include the review
time you and your associates spend, and log the
defects found.
Grading
• Your process report must be:
– complete
– legible
– in the specified order
• Your process data must be:
– accurate
– precise
– self-consistent
The
2
PD SP0
Process
• A simple defined personal process
• Use your current design and development
methods.
• Gather data on your work:
• time spent by phase
• defects found in compile and test
Prepare a summary report.
• A project plan summary form
• A process script
• A time recording log
• A defect reporting log
• A defect type standard
More Process
• Planning - estimate development time
• Development - develop the product using your
current methods
• Postmortem - complete the project plan
summary, with the time spent and defects
found and injected in each phase.
• Design - design the program, using your
current design methods
The End of the Beginning
Defect type standard
• Date defect was found.
• Defect number.
• Defect type (documentation, syntax,
assignment, interface, etc.).
• Phase where defect was injected.
• Phase where defect was removed.
• Time it took to fix the defect.
• If injected while fixing another defect, that
defect’s number.
The defect types
1.
Documentation
2.
Syntax
3.
Assignment
4.
Interface
5.
Checking
6.
Data
7.
Function
8.
Environment
Download