What’s good about this book? It’s up-to-date, accurate, and well written. It’s interesting (the discussion of the life cycle was the first one I have felt was worth reading in years because it gave a comparative analysis of both old and new models). It’s relatively objective (the comparisons of such techniques as Structured Analysis and SofTech’s SADT were knowledgeable and fair).
What’s bad about the book? Well, not much, but there are some peculiar things about it (the definition of environment--“the process, methods and automation required to produce a software system”--is so broad that the book is close to being yet another software engineering text. There are some provocative things about it (“. . . every (process) model must be tailored to the specific circumstances encountered. Although the development model can be expected to be fairly stable, the management model may change dramatically with each project.”). There are some wildly pessimistic things about it (a 9:1 ratio is cited “against feeling hopeful” that a midrange software project “will ever totally succeed”). And there are some uneven things about it (implementation, testing, and maintenance are lumped together in one less-than-adequate chapter).
On balance, this is a fresh and readable book that carefully supports its proclamation that “. . . the solution to the problems of software development lie in the direction of software engineering environments.”