This new work from Watts Humphrey lays the foundation for a disciplined approach to software engineering. In his previous book, Humphrey developed methods for managing an organization's software process. These methods, now commonly practiced in industry, provide to programmers and managers specific steps they can take to evaluate and to improve their software development and software maintenance capabilities. In Humphrey's new book, he scales those methods down to a more personal level, helping software engineers working on relatively small-scale programs to develop the skills and the habits they will need later in their professional life to plan, track, and analyze large and complex software projects more carefully and more successfully.
Clear examples and samples drawn from industry enhance the practical focus of the book. Exercises in the form of projects give readers the opportunity to practice process management as they learn it, a comprehensive instructor's set includes notes on teaching the course, overhead masters, modifiable assignment kits in Word, and a statistical support package in the form of Excel spreadsheets for the analysis of individual and class data.Features
1. The Personal Process Strategy.
The Logic for a Software Engineering Discipline.
What is a Software Process?
Your Personal Responsibilities.
The Personal Software Process (PSP) Strategy.
The Logic for the PSP.
Productivity and the PSP.
The Baseline 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
Why Make Plans.
What is a Plan.
Contents of a Software Plan.
Planning a Software Project.
Producing a Quality Plan.<P>
A Size Measurement Framework.
Establishing a Counting Standard.
Using LOC Counts.
Line of Code Accounting.
Popular Estimating Methods.
The PROBE Size Estimating Method.
Estimating Development Time.
Estimating Task Time.
Combining Multiple Estimates.
Using Multiple Regression.
Earned Value Tracking.
Fundamental Process Measures.
General PSP Objectives, Goals, and Questions.
A GQM Example .
The Impact of Data Gathering.
Establishing a Baseline for Your Personal Process.
What are Reviews?
Why Review Programs.
Separate Design and Code Reviews.
Design Review Principles.
Reviewing before or after You Compile.
The Relationship between Reviews and Inspections.
What is Software Quality?.
The Economics of Software Quality.
Developing a Quality Strategy.
Defect Removal Strategies.
Defect Prevention Strategies.
The Design Process.
Structuring the Design Process.
The Functional Specification Template.
The State Specification Template.
The Logic Specification Template.
The Operational Scenario Template.
Using Templates in Design
The Stages of Product Size.
Developing Large-scale Programs.
A Potential Problem with Abstractions.
The Development Strategy.
Selecting Verification Methods.
Verifying the Object State Machine.
Verifying Program Correctness.
Comments on Verification Methods.
Why Define Processes.
Software Process Basics.
Defining Process Phases.
Process Development Considerations.
The Process-development Process.
Making Personal Commitments.
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