Most Helpful Customer Reviews
|
|
3 of 4 people found the following review helpful:
5.0 out of 5 stars
Booch takes no prisoners -- insightful, humerous, brilliant, 7 Mar 1999
By A Customer
A strong claim: this book is to be compared to Frederick Brook's The Mythical Man Month [1]. It is that important. Regardless of the fate of object-oriented technology, and the prospects are bright, this text will is already a classic in the making. One insight readers will enjoy is that object-oriented projects benefit from the same good management and technical skills as all other projects. The reverse is also true. It is an example of what Booch previously described as the total "round trip" gestalt (structure) [2]. Booch delivers an account of what these are with the insight and humor likely to make this text a classic. The first chapter, entitled First Principles, explores "When Bad Things Happen to Good Projects". He associates project failure with lack of risk management; building the wrong thing (solving the wrong problem); and being blind-sided by technology. One solution? Be proactive. The "five habits of successful object-oriented projects" can be applied to any project: a ruthless focus on satisfying a well-understood collection of essential minimal features; a culture focused on results, communication, and yet not afraid to fail; the use of (object--oriented) modeling; a strong architectural vision; the application of an iterative and incremental life cycle (p. 25). Booch distinguishes calendar driven, quality driven; documentation driven, requirements driven, architecture driven. Suffice to say focus on one does not mean throwing the others away. To be sure, no project survives for long without making its dates. Yet a chronic obsession with unrealistic, short term dates is a sign of a purely calendar driven project. Yet at crunch time what is the dominant decision making criteria? He considers the strengths and weaknesses of each. Calendar driven will work in the short run. But . . . "For all projects, overtime as a common practice is not only unsustainable, it is an indication of severe management malpractice" (p. 236). This is hard hitting, tell-it-like-it-is stuff. Requirements is the model of commercial applications. The dilemma? Requirements keep changing. Booch claims that architecture-driven projects have all the advantages of requirements-driven with the additional benefit of "encouraging the reaction of resilient frameworks that can withstand shifting requirements and technological calamity" (pp. 20 -21). The second chapter on Products and Processes sets up the mainline of development. The Macro Process (Chapter 3) is closely related to the traditional waterfall life cycle. It is the domain of the software management team. It provides the framework for the Micro Process (Chapter 4), which is closely related to the spiral (iterative) model of development, in which prototyping plays such a central role. Throughout the discussion, Booch emphasizes the benefits or producing "tangible artifacts" (prototypes(user interface), architecture documents, style guides, working software). These "help reduce risk by forcing strategic and tactical decisions out in the open" (p. 60). The Macro Process begins with a section on "The One Minute Methodology". The Micro Process starts out with a section on "I'm OK, My Program's OK". That's what the micro process is about -- programming. Here the focus is on building "cool stuff" with the available technology. The sixth chapter on management and planning beings with a section on "Everything I Need to Know I'll Learn in My Next Project" (p. 229). The point is that good project management is simply "a call for adult supervision" (p. 230). This includes steps to "aggressively seek out risks and question all assumptions" (p. 230). These must be judged against the project's "essential minimal characteristics" (p. 230). The number of times the expression "managing risk" occurs in this text is significant. Duly noted. The final chapter of Special Topics is a nice overview of special problems with different kinds of systems: user centric (extra effort on the end-user interface), data centric (extra effort on the database model), distributed (extra effort on the network), computation centric (extra effort on the algorithms), legacy systems (extra effort on the system interface), real time systems (extra effort on performance). Throughout this discussion Booch provides a wealth of concise, amusing, and insightful sayings. For example, "...The very act of building a system raises questions of behavior that no reasonable amount of analysis can uncover efficiently (p. 87)". "JAD is a high-ceremony approach whose basic principles can be reduced to the one sound bite: "Hey . . let's talk to real users about what they want!" (p. 101). In summary, this text provides the reader with the Zen of project management. An obvious audience for this book is the project manager. She or he will be rescued from having to "suck wind" because a robust, flexible architecture is able to accommodate the last minute changes in requirements. Apparent contradictions are mediated. The actual contradictions are addressed by simulating, providing for the method "as if" system development were a rational process. Building software is an engineering process; and, as such, entails real world compromises implementable and usable by human beings. All roles in software development, from top management to code pusher, will benefit from Booch's experience and insights into the process. References [1] Brooks, F. The mythical man-month. Addison-Wesley, Reading, MA, 1975. [2] Booch, G. Object-oriented analysis and design with applications. Benjamin/Cummings, Redwood City, CA, 1994. --this review was originally submitted to Computing Reviews, but since they had someone else review the book, they did not want it -- so here
|
|
|
1 of 1 people found the following review helpful:
5.0 out of 5 stars
A gold mine of pragmatic OO software development wisdom., 22 Feb 1999
By A Customer
This book represents a gold mine of pragmatic object-oriented software development wisdom and knowledge that offers a competitive advantage to any organization that can apply what is presented. This book is certainly useful for its intended audience - management, but it is essential for those tasked with building complex systems - software engineers. The author guides the reader through an iterative and incremental software development process that places the emphases on architectural design and a risk-driven approach to managing object-oriented projects. At appropriate times the discussion is interjected with recommended practices, rules of thumb, and examples drawn from the authors vast experience in real-world projects. The only place where I can find fault with this book is in the formatting of the text. Important concepts tend to appear unannounced and therefore, I'd recommend that you keep a colored marker handy or make some notes in the margins if you want to locate a given point at some later time.
|
|
|
1 of 1 people found the following review helpful:
5.0 out of 5 stars
Bad paper, 22 Nov 1998
By A Customer
The information inside is great but publisher use very bad paper (Like paper used in yellow newspapers) to save $1.
|
|
|
Most Recent Customer Reviews
|