| |||||||||||||||
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.
FeaturesKnown 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.
Product Details
Would you like to update product info or give feedback on images?
|
|
Share your thoughts with other customers:
|
||||||||||||||||||||||
|
Most Helpful Customer Reviews
23 of 24 people found the following review helpful:
5.0 out of 5 stars
A great complementary reference for XP - also CMM L-4 & 5,
By Mike Tarrani "www.tarrani.com" (Deltona, FL USA) - See all my reviews (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 individual level and XP at the 2-person paired team level. An excellent book on XP that supports this premise is Planning Extreme Programming by Kent Beck and Martin Fowler. The methods that Mr. Humphrey proposes in this book are the building blocks of an effective XP organization because much of the metrics he proposes for capture, analysis and tracking are the very ones that are key to XP. These methods add the "discipline" into the development process, and "engineering" into the quality approach to any development effort, regardless of whether the methods are aligned to XP or any other methodology. Further, the disciplined engineering approach will provide organizations striving for capability maturity model (CMM) level 4 (managed) or 5 (optimizing) with some valuable tools and techniques with which to achieve these higher levels of maturity. Of course, this is also useful to organizations that are implementing SPICE (Software Process Improvement Capability dEtermination), organizing software process engineering groups, or implementing mature project management methods for development projects. I agree with a previous reviewer that development is also a social and cognitive discipline, but it is not solely those. The social and cognitive approach will only get you so far. The same is true of the disciplined engineering approach. You need both, and this book is a valuable work for the latter. In my opinion this book is probably more valuable today then when it was first published because the approach required too much rigor for most organizations to adopt. However, with the growing movement towards XP I believe that this book will add details and techniques that are only superficially addressed in the XP body of knowledge and literature. If you are a proponent of XP this book provides some proven, concrete techniques. If you are striving for higher levels of capability maturity this book (and the companion, Introducing the Team Software Process by Mr. Humphrey) will give you the tools to get to managed, and from there to optimizing. I believe this book is a 5-star classic that was ahead of its time.
15 of 15 people found the following review helpful:
4.0 out of 5 stars
Explains the personal software process (PSP),
By
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 compiler errors as defects, the author uses compiler errors in reliability metrics calculations, and the author recommends performing a code review before compiling the program.A quote from the author, "In addition to providing the data you need to handle management pressure, the PSP offers many other potential benefits as follows: The insight you gain into your talents and abilities; The stimulation of an almost unlimited stream of improvement ideas; The framework it provides for personal improvement; The degree of control you gain over your work; The feeling of pride and personal accomplishment; An improved basis for effective teamwork; The conviction to do the job the way you know you should."
90 of 113 people found the following review helpful:
2.0 out of 5 stars
The apotheosis of meaningless measurement,
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, inspiration, collaboration, dialogue, discovery, invention, ingenuity, all of these vital processes are ignored in his calculus. But since his calculus is embedded in a prescription for what we're supposed to do, anything left out is driven underground (or underwater, like an animal that doesn't get a ticket for Noah's Ark). It's a good thing for the technology that so few people are disciplined in the way Humphrey proposes. I just want to point out that there is an alternative to the Brave New World of Watts Humphrey and the SEI. Search for books by Gerald Weinberg and you'll find a polar opposite view of software engineering as a social and cognitive discipline. Weinberg's book on measurement "Quality Software Management, Vol. 2: First-Order Measurement" is a must read. I also recommend "Things That Make Us Smart" and "Cognition in the Wild", two books that startled me by showing how much cognitive psychology could help the software engingeering craft, if ever we computer people but wake up and take notice. Discipline is important in any search for excellence. Let's build our discipline on a sound and meaningful foundation, eh?
Share your thoughts with other customers: Create your own review
|
|
Tags Customers Associate with This Product(What's this?)Click on a tag to find related items, discussions, and people.
|
|
This product's forum
Active discussions in related forums
Search Customer Discussions
|
Related forums
|