A Discipline for Software Engineering
Watts S. Humphrey
$199Communication Skills Handbook (Paperback)
This book from Watts Humphrey broadens his disciplined approach to software engineering. In his earlier book, Managing the Software Process, Humphrey developed concrete methods for managing software development and maintenance. These methods, now commonly practiced, provide programmers and managers specific steps for evaluating and improving their software capabilities. In this book, he scales down those methods to a personal level, helping software practitioners develop the skills and habits they need to plan, track, and analyze large and complex projects more carefully and successfully.
1. The Personal Process Strategy.
What is a Software Process?
Your Personal Responsibilities.
The Personal Software Process (PSP) Strategy.
The Logic for the PSP.
Productivity and the PSP.
2. The Baseline Personal Process.
Why Forms are Helpful.
The PSP Process Elements.
The PSPO Process.
Time Recording Log.
Defect Recording Log.
PSPO Project Plan Summary.
Customizing the Initial Process
3. Planning I: The Planning Process.
What is a Plan.
Contents of a Software Plan.
Planning a Software Project.
Producing a Quality Plan.
4. Planning II: Measuring Software Size.
A Size Measurement Framework.
Establishing a Counting Standard.
Using LOC Counts.
Line of Code Accounting.
5. Planning III: Estimating Software Size.
Popular Estimating Methods.
The PROBE Size Estimating Method.
6. Planning IV: Planning.
Estimating Development Time.
Estimating Task Time.
Combining Multiple Estimates.
Using Multiple Regression.
Earned Value Tracking.
7. Measurement In The Personal Software Process.
Fundamental Process Measures.
General PSP Objectives, Goals, and Questions.
A GQM Example .
The Impact of Data Gathering.
Establishing a Baseline for Your Personal Process.
8. Design and Code Reviews.
Why Review Programs.
Separate Design and Code Reviews.
Design Review Principles.
Reviewing before or after You Compile.
The Relationship between Reviews and Inspections.
9. Software Quality Management.
The Economics of Software Quality.
Developing a Quality Strategy.
Defect Removal Strategies.
Defect Prevention Strategies.
10. Software Design.
Structuring the Design Process.
The Functional Specification Template.
The State Specification Template.
The Logic Specification Template.
The Operational Scenario Template.
Using Templates in Design
11. Scaling Up The Personal Software Process.
The Stages of Product Size.
Developing Large-scale Programs.
A Potential Problem with Abstractions.
The Development Strategy.
12. Design Verification.
Verifying the Object State Machine.
Verifying Program Correctness.
Comments on Verification Methods.
13. Defining the Software Process.
Software Process Basics.
Defining Process Phases.
Process Development Considerations.
The Process-development Process.
14. Using the Personal Software Process.
Using the PSP in an Organization.
The Personal Costs of a PSP.
The Personal Benefits of a PSP.
The Responsible Software Professional.
Your Future in Software Engineering. 0201546108T04062001