1. The Personal Process Strategy. The Logic for a Software Engineering Discipline.
What is a Software Process?
Process Maturity.
Your Personal Responsibilities.
The Personal Software Process (PSP) Strategy.
The Logic for the PSP.
Productivity and the PSP.
Caveats.
2. The Baseline Personal Process. The Baseline Process.
Why Forms are Helpful.
The PSP Process Elements.
The PSPO Process.
PSPO Measures.
Time Recording Log.
Defect Recording Log.
PSPO Project Plan Summary.
Customizing the Initial Process
3. Planning I: The Planning Process. Why Make Plans.
What is a Plan.
Contents of a Software Plan.
Planning a Software Project.
Producing a Quality Plan.
4. Planning II: Measuring Software Size. Size Measures.
A Size Measurement Framework.
Establishing a Counting Standard.
Using LOC Counts.
Reuse Considerations.
Line of Code Accounting.
Calculating Productivity.
LOC Counters.
5. Planning III: Estimating Software Size. Background.
Popular Estimating Methods.
Proxy-based Estimating.
The PROBE Size Estimating Method.
Object Categories.
Estimating Considerations.
6. Planning IV: Planning. Resource Planning.
Estimating Development Time.
Estimating Task Time.
Combining Multiple Estimates.
Using Multiple Regression.
Schedule Estimating.
Earned Value Tracking.
Estimating Accuracy.
7. Measurement In The Personal Software Process. Measurement Overview.
Fundamental Process Measures.
Goal-Question-Metric Paradigm.
General PSP Objectives, Goals, and Questions.
A GQM Example .
Gathering Data.
The Impact of Data Gathering.
Establishing a Baseline for Your Personal Process.
8. Design and Code Reviews. What are Reviews?
Why Review Programs.
Personal Reviews.
Review Principles.
Separate Design and Code Reviews.
Design Review Principles.
Review Measures.
Checklists.
Reviewing before or after You Compile.
The Relationship between Reviews and Inspections.
9. Software Quality Management. What is Software Quality?.
The Economics of Software Quality.
Developing a Quality Strategy.
Process Benchmarking.
Yield Management.
Defect Removal Strategies.
Defect Prevention Strategies.
10. Software Design. The Design Process.
Design Quality.
Structuring the Design Process.
Design Notation.
Design Templates.
The Functional Specification Template.
The State Specification Template.
The Logic Specification Template.
The Operational Scenario Template.
Using Templates in Design
Design Guidelines.
11. Scaling Up The Personal Software Process. Using Abstractions.
The Stages of Product Size.
Developing Large-scale Programs.
A Potential Problem with Abstractions.
The Development Strategy.
12. Design Verification. Selecting Verification Methods.
Design Standards.
Verification Methods.
Verifying the Object State Machine.
Program Tracing.
Verifying Program Correctness.
Comments on Verification Methods.
13. Defining the Software Process. Why Define Processes.
Software Process Basics.
Process Definition.
Defining Process Phases.
Process Development Considerations.
Process Evolution.
The Process-development Process.
14. Using the Personal Software Process. Making Personal Commitments.
Using the PSP in an Organization.
The Personal Costs of a PSP.
The Personal Benefits of a PSP.
Coaching.
The Responsible Software Professional.
Your Future in Software Engineering. 0201546108T04062001