Home > Store > Programming

larger cover

Add To My Wish List

Discipline for Software Engineering, A

Register your product to gain access to bonus material or receive a coupon.

  • Description
  • Downloads
  • Reviews
  • Sample Content

Product Author Bios

Known as “the father of software quality,” Watts S. Humphrey is the author of numerous influential books on the software-development process and software process improvement. Humphrey is a fellow of the Software Engineering Institute (SEI) at Carnegie Mellon University, where he founded the Software Process Program and provided the vision and early leadership for the original Capability Maturity Model (CMM). He also is the creator of the Personal Software Process (PSP) and Team Software Process (TSP). Recently, he was awarded the National Medal of Technology—the highest honor given by the president of the United States to America's leading innovators.



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
  • Presents concepts and methods for a disciplined software engineering process
  • Scales down industrial practices for planning, tracking, analysis, and defect management to for the needs of small-scale program development
  • Shows how small project disciplines provide a solid base for larger projects


0201546108B04062001

Customer Reviews

24 of 25 people found the following review helpful
5.0 out of 5 stars A great complementary reference for XP - also CMM L-4 & 5, April 21, 2001
By 
Mike Tarrani "Jazz Drummer" (Deltona, FL USA) - See all my reviews
(TOP 100 REVIEWER)    (HALL OF FAME REVIEWER)    (COMMUNITY FORUM 04)    (REAL NAME)   
This review is from: A Discipline for Software Engineering (Hardcover)
This book's title contains two key words that are woefully missing from most development projects: "discipline" and "engineering". With this book Mr. Humphrey introduced the personal software process (PSP), which subsequently spawned the team software process (TSP). Although the material is over 6 years old and does not seem to have gained wide acceptance in commercial development and project environments, it provides a roadmap to effectively integrating the increasingly popular extreme programming (XP)approach that was developed by Kent Beck.

How does PSP align to XP? Both approaches focus heavily on project planning and estimating, and controlling quality, cost and schedule. Both approaches also use metrics as a baseline and past performance to predict future productivity and quality during the planning and estimation phases of new projects. Moreover, both approaches impose a rigorous discipline at a low level in the development process - PSP at the... Read more

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


15 of 15 people found the following review helpful
4.0 out of 5 stars Explains the personal software process (PSP), May 23, 2001
By 
Daniel Mall (San Gabriel, CA United States) - See all my reviews
(REAL NAME)   
This review is from: A Discipline for Software Engineering (Hardcover)
Analyze your personal software development performance as a self-improvement initiative. Categorize time in phases and record the amount of time spent on each assigned task in each phase. Develop historical databases of size and productivity as illustrated by the project-planning framework (Fig 5.1). Compare initial estimates of size, effort, and schedule versus actual size, effort, and schedule (management metrics). Track defects, classify defects, identify problem components, and establish reliability measurements (product metrics). Presents the goal-question-metric, design and code reviews, cost-of-quality measures, unit testing, defect prevention strategies, and verification process. Includes a set of exercises that put the PSP program into practice. The appendix contains an excellent section on statistical techniques and a complete set of forms and instructions for implementing the various PSP measurement programs. Some questionable practices: the author insists on counting... Read more
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


92 of 115 people found the following review helpful
2.0 out of 5 stars The apotheosis of meaningless measurement, June 26, 1999
By A Customer
This review is from: A Discipline for Software Engineering (Hardcover)
Sometimes I question the need for philosophy, then a book like this comes along and I remember why philosophy is important. Philosophers do us the service of carefully analyzing premises, claims, and all the varied artifices of thought. Philosophers notice the clouds beneath the castle. Watts Humphrey's book is in need of a philosophical overhaul. It is a fine expression of 19th-century ideas about scientific management and the nature of human cognition, but takes little note of modern revelations about how human minds work, and how software design happens.

The book is an ode to measurement. Humphrey doesn't justify or explain his measurement theory, though. He seems more intent on telling us what to do than on helping us ask questions like "What do these numbers mean?" He proposes ways to measure quality, but not ways to understand goodness; ways to measure productivity, but not ways to understand productivity in relation to our ambitions. Reflection,... Read more

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


Share your thoughts with other customers:
 See all 13 customer reviews...

Table of Contents



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.<P>



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

 
Purchase Reward: One Month Free Subscription
By completing any purchase on InformIT, you become eligible for an unlimited access one-month subscription to Safari Books Online.

Get access to thousands of books and training videos about technology, professional development and digital media from more than 40 leading publishers, including Addison-Wesley, Prentice Hall, Cisco Press, IBM Press, O'Reilly Media, Wrox, Apress, and many more. If you continue your subscription after your 30-day trial, you can receive 30% off a monthly subscription to the Safari Library for up to 12 months. That's a total savings of $199.