This newest book from Watts Humphrey is a hands-on introduction to basic disciplines of software engineering. Designed as a workbook companion to any introductory programming or software-engineering text, Humphrey provides here the practical means to integrate his highly regarded Personal Software Process (PSP) into college and university curricula. The book may also be adapted for use in industrial training or for self-improvement by practicing software engineers.
Applying the book's exercises to their course assignments, students learn both to manage their time effectively and to monitor the quality of their work, good practices they will need to be successful in their future careers. The book is supported by its own electronic supplement, which includes spreadsheets for data entry and analysis. A complete instructor's package is also available.
By mastering PSP techniques early in their studies, students can avoid--or overcome--the popular "hacker" ethic that leads to so many bad habits. Employers will appreciate new hires prepared to do competent professional work without, as now is common, expensive retraining and years of experience.
(All chapters, except Chapter 20, conclude with a Summary and an Assignment.)
1. The Software Engineer’s Job.
What is Software Engineering?
Why is Good Engineering Important?
The Personal Software Process.
The Discipline of High-Quality Work.
The Importance of High-Quality Work.
How to Improve the Quality of Your Work.
The Improvement Process.
The Strategy of this Book.
The Logic of Time Management.
Understanding How You Spend Time.
The Engineering Notebook.
The Notebook Design.
Engineering Notebook Examples.
Why Track Time?
Recording Time Data.
Tracking Your Time.
Use a Standard Time Recording Log.
Tracking Completed Tasks.
Keeping Time Logs in the Engineering Notebook.
Hints on Logging Your Time.
Period and Product Plans.
The Weekly Activity Summary.
Summarizing Weekly Times.
Calculating Period Times and Rates.
Using the Weekly Activity Summary.
The Need for Product Plans.
Why Product Plans Are Helpful.
What is a Product Plan?
Product Planning in this Book.
Planning Small Jobs.
The Job Number Log.
Some Suggestions on Using the Job Number Log.
Using Product Times and Rates Data.
The Product Planning Process.
Some Cautions on Using Size Measures.
Other Size Measures.
Estimating Program Size.
Making a Larger Size Estimate.
Using Size Measures in the Job Number Log.
Elements of Time Management.
Categorizing Your Activities.
Gather Data on Time Spent by Activity.
Evaluating Your Time Distribution.
Making a Time Budget.
Finding More Time.
Setting Ground Rules.
Prioritizing Your Time.
Managing Your Time Budget.
Suggestions on Managing Variable Time.
Your Time Management Objective.
Responsibly Made Commitments.
Example of a Commitment.
An Example in Industry.
Handling Missed Commitments.
The Importance of Managing Commitments.
The Consequences of Not Managing Commitments.
The Way to Manage Commitments.
The Need for Schedules.
The Gantt Chart.
Making a Project Schedule.
Tracking Project Plans.
Tracking Earned Value.
The Need for Project Plans.
The Project Plan Summary.
Time in Phase.
Why We Use Processes.
The Process Script.
Checkpoints and Phases.
The Updated Project Plan Summary Form.
A Planning Example.
An Example of To Date Calculations.
What is Software Quality?
Defects and Quality.
What are Defects?
Defects versus Bugs.
The Defect Recording Log.
Using the Defect Recording Log.
The Updated PSP Process.
A Personal Commitment to Quality.
The Steps in Finding Defects.
Ways to Find and Fix Defects.
Why Find Defects Early?
The Costs of Finding and Fixing Defects.
Using Reviews to Find Defects.
Reviewing Before Compiling.
Data on Compile and Test Defects.
The Updated PSP Project Plan Summary Form.
Other Kinds of Reviews.
Why Do Checklists Help?
An Example of a Code Review Checklist.
Using a Code Review Checklist.
Building a Personal Checklist.
Improving the Checklist.
Using Defect Data.
Projecting Defect Rates.
The Updated Project Plan Summary Form and Example.
Entering the Actual Data.
The Need for Quality Work.
The Defect-Removal Problem.
Defect-Injection and -Removal Experience.
Calculating Defects/Hour on the PSP Project Plan Summary.
Calculating Yield on the Project Plan Summary.
Improving Defect-Removal Rates.
Improving Defect-Injection Rates.
The Nature of Design Defects.
Identifying Design Defects.
What is Design?
The Design Process.
The Causes of Design Defects.
The Impact of Design Defects.
Quality Comes First.
The Filter View of Testing.
The Benefits of Careful Work.
Calculating Yield Values.
Estimating the Ultimate Yield.
The Benefits of 100% Process Yield.
The Defect-Removal Paradox.
A Defect-Removal Strategy.
Cost of Quality.
Calculating the Cost of Quality.
The Appraisal Failure Ratio.
Improving Review Rates.
Calculating the True Cost of Quality.
The Importance of Quality.
The Increasing Risks of Poor Quality.
Making a Commitment to Quality.
Your Personal Objectives.
The Rewards of Accomplishment. 0201548097T04062001