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

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

Embed Size (px)

DESCRIPTION

How do you meet expectations and still have a life?

Citation preview

Page 1: Personal Design and Development Software Process PD 2 SP “The unexamined life is not worth living.” Plato

Personal Design and Development Software Process

PD2SP

“The unexamined life is not worth living.”

Plato

Page 2: Personal Design and Development Software Process PD 2 SP “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.

Page 3: Personal Design and Development Software Process PD 2 SP “The unexamined life is not worth living.” Plato

How do you meet expectations and still have a life?

Page 4: Personal Design and Development Software Process PD 2 SP “The unexamined life is not worth living.” Plato

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.

Page 5: Personal Design and Development Software Process PD 2 SP “The unexamined life is not worth living.” Plato

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.

Page 6: Personal Design and Development Software Process PD 2 SP “The unexamined life is not worth living.” Plato

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.

Page 7: Personal Design and Development Software Process PD 2 SP “The unexamined life is not worth living.” Plato

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.

Page 8: Personal Design and Development Software Process PD 2 SP “The unexamined life is not worth living.” Plato

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.

Page 9: Personal Design and Development Software Process PD 2 SP “The unexamined life is not worth living.” Plato

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.

Page 10: Personal Design and Development Software Process PD 2 SP “The unexamined life is not worth living.” Plato

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

Page 11: Personal Design and Development Software Process PD 2 SP “The unexamined life is not worth living.” Plato

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?

Page 12: Personal Design and Development Software Process PD 2 SP “The unexamined life is not worth living.” Plato

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.

Page 13: Personal Design and Development Software Process PD 2 SP “The unexamined life is not worth living.” Plato

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

Page 14: Personal Design and Development Software Process PD 2 SP “The unexamined life is not worth living.” Plato

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.

Page 15: Personal Design and Development Software Process PD 2 SP “The unexamined life is not worth living.” Plato

Each key process area has five common features:

• Goals to be achieved; • Ability to perform; • Activities performed; • Measurement and analysis; • Verification

Page 16: Personal Design and Development Software Process PD 2 SP “The unexamined life is not worth living.” Plato

PD2SP Overview

Page 17: Personal Design and Development Software Process PD 2 SP “The unexamined life is not worth living.” Plato

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.

Page 18: Personal Design and Development Software Process PD 2 SP “The unexamined life is not worth living.” Plato

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.

Page 19: Personal Design and Development Software Process PD 2 SP “The unexamined life is not worth living.” Plato

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.

Page 20: Personal Design and Development Software Process PD 2 SP “The unexamined life is not worth living.” Plato

Don’t PanicYou will NOT be graded on how long it takes or how many defects

you find

Page 21: Personal Design and Development Software Process PD 2 SP “The unexamined life is not worth living.” Plato

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

Page 22: Personal Design and Development Software Process PD 2 SP “The unexamined life is not worth living.” Plato

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.

Page 23: Personal Design and Development Software Process PD 2 SP “The unexamined life is not worth living.” Plato

Process

• Time and Schedule Management• Requirements Management• Design and Work Breakdown Structure• Development• Reporting• Earned Value Estimation

Page 24: Personal Design and Development Software Process PD 2 SP “The unexamined life is not worth living.” Plato

Time and Schedule Management

• Enter initial project data in the project plan summary (PDSP0).

• Complete Initial Time Schedule Template (SPT).

• Begin Time Recording (TRT).

Page 25: Personal Design and Development Software Process PD 2 SP “The unexamined life is not worth living.” Plato

Requirements Planning

• Complete the Requirements Work Template (RWT) in the Excel workbook.– Constraints are logical statements– Criteria are performance statements

Page 26: Personal Design and Development Software Process PD 2 SP “The unexamined life is not worth living.” Plato

Design and Work Breakdown

• Use developed requirements document.• Complete a Work Breakdown Structure• Estimate the required development time. • Complete the task plan (WBS).

Page 27: Personal Design and Development Software Process PD 2 SP “The unexamined life is not worth living.” Plato

Reporting

• Complete the project plan summary with actual time, defect, and size data.

• Complete the PIP (PD2SP0).• Coding Standard• Size measurement• Process improvement Proposal

Page 28: Personal Design and Development Software Process PD 2 SP “The unexamined life is not worth living.” Plato

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.

Page 29: Personal Design and Development Software Process PD 2 SP “The unexamined life is not worth living.” Plato

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.

Page 30: Personal Design and Development Software Process PD 2 SP “The unexamined life is not worth living.” Plato

Grading

• Your process report must be:– complete – legible – in the specified order

• Your process data must be:– accurate– precise– self-consistent

Page 31: Personal Design and Development Software Process PD 2 SP “The unexamined life is not worth living.” Plato

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

Page 32: Personal Design and Development Software Process PD 2 SP “The unexamined life is not worth living.” Plato

Prepare a summary report.

• A project plan summary form• A process script• A time recording log• A defect reporting log• A defect type standard

Page 33: Personal Design and Development Software Process PD 2 SP “The unexamined life is not worth living.” Plato

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

Page 34: Personal Design and Development Software Process PD 2 SP “The unexamined life is not worth living.” Plato

The End of the Beginning

Page 35: Personal Design and Development Software Process PD 2 SP “The unexamined life is not worth living.” Plato

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.

Page 36: Personal Design and Development Software Process PD 2 SP “The unexamined life is not worth living.” Plato

The defect types 1. Documentation

2. Syntax

3. Assignment

4. Interface

5. Checking

6. Data

7. Function

8. Environment