Personal Design and Development Software Process PD 2 SP “The unexamined life is not worth...

Preview:

DESCRIPTION

How do you meet expectations and still have a life?

Citation preview

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 PD2DP

• The time required to learn and use it.• The emotional cost of maintaining the

needed discipline.• The potential risk to your ego.

Benefits of PD2DP• 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.

PD2SP 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?

A PD2SP 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 PD2SP?

• 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

PD2SP Overview

PD2SP 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.

PD2SP0

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 PanicYou will NOT be graded on how long it takes or how many defects

you find

ThePD2SP0 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 PD2SP0 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.• A succinct description of the defect. The project plan

summary holds the estimated and actual project data.

The defect types 1. Documentation

2. Syntax

3. Assignment

4. Interface

5. Checking

6. Data

7. Function

8. Environment

Recommended