on May 20, 2005
I will not dive into what is either good or bad about this book.
The reason I am giving 5 stars is because the book actually achieves its goal to those who read it.
The reader who gave two stars has actually missed the point of the book. It is not about planning. It is about planning _and_ managing. Successful execution of the right plan is the main point of the book.
Trivial things, you say? Yes, most of the concepts in the book are trivial (yet, very useful when organized nicely and in ready-to-use manner) Nevertheless, again and again I see projects that fail because of the wrong management. In fact, I would dare to say that all projects that failed in front of my eyes (and there were enough failed projects in my life) are due to mostly management issues: lack of vision, disconnection from team, "planned" overtime, unrealistic schedules due to pressure from upper management etc.
Inability to recognize management problem quickly leads to catastrophic results for mid-size companies and this books may prevent this for those who care.
on April 28, 2004
Good intro / light reading
McConnell's "Software Project Survival Guide" (SPSG) is a good intro to application development projects using the phased-release waterfall methodology. Unlike other software engineering overviews, he does not assume that his audience is sold on process in general, so he spends some time arguing and presenting facts and stats to support structured project management and software development.
The author presents most of the integral concepts of the discipline and maintains a companion website with templates and checklists. He shares his experience on what development managers should expect from their developers, testers, corporate culture and customers. I read SPSG when it first came out and recently completed it again for a refresh. Although the book is now six years old, the material is still relevant because of the level at which it is presented, even in today's landscape of customized COTS and web services applications.
It gets four stars rather than five because in the last third of the book he takes arbitrary dives into detail before he exhausts the breadth of the subject. For instance, he only once refers in passing to regression-testing and never mentions the concept of SDLC environments, yet offers up formulas for estimating defects using pooling and seeding. Chapters seem to get shorter as if he was in a hurry to finish. As SPSG is relatively short at 250 pages, it seems the author could have easily included another 50 pages to hit those missed topics at a high-level.
SPSG is great for the new manager but is less useful for the experienced manager or as a reference. Fortunately, he includes an annotated bibliography on resources that provide more detail.
on October 5, 2003
Steve McConnell is better known for his two bestsellers - Rapid Development and Code Complete. While those two books are more detailed, this book has the necessary preliminary coverage of what it takes to make a software project succeed. It's a very easy book to read and can probably be read in a matter of a few hours.
Steve assumes that the intended audience belongs to one of three groups of people - first group consists of 'top managers, executives, clients, investors, and end-user representatives', the second group consists of 'project managers', and the third group consists of 'technical leaders, professional developers, and self-taught programmers'. Or as he puts it 'anyone who has a stake in the software project's outcome'. But mostly he is assuming that you may not be exposed to many successful software project techniques and looking to rapidly get up to speed on a simple technique like the one outlined in this book.
The book addresses projects that have team sizes between 3 and 25 and schedules of 3 to 18 months. The plan is supposed to work for various types of software systems like client-server or scientific but I didn't see web design projects mentioned explicitly. It could be because of the time this book was published. I plan on trying the techniques on a couple of non-critical web design projects and analyze the outcome.
The book is 19 chapters, 250 pages and 4 sections. The four main sections are The Survival Mind-Set, Survival Preparations, Succeeding by Stages, and Mission Accomplished. The book starts out with a short welcome chapter on software project survival training and followed by another short chapter on assessing the state of your own project from a survival perspective (you take a test and get a score that indicates where your project is). The next three chapters focus on the survival concepts, survival skills, and the profile of a successful project. The book then goes into the core of how to make a software project succeed.
This book is no substitute for the author's other book 'Rapid Development' though it is probably a good start if you aren't willing to cover the much larger book (other 600+ pages). Considering how few books have been written on software projects (that are not an exposition of SEI's CMM or the Rational Unified Process), I think this is a worthwhile book to read. At the bare minimum, it doesn't hurt to skim through the various topics and take away a good technique or two that you can immediately apply to your own software project. Good luck!
on November 27, 2002
This book is a strong theoretical background every software project manager should understand. The author provides deep analysis why such a big number of software projects fail. The author offers a set of reality-testing tools (software project survival test) that helps to understand chances of a project to success or to fail, from the very beginning.
An intriguing idea is that "software project need hierarchy" is essentially the same as Maslow's "human need hierarchy": human beings respond to a hierarchy of needs that involve a natural progression from lower motives to higher ones. Lower motives such as food, air and water must be satisfied before we can be motivated by the need for belongingness, love, self-esteem or self-actualization. Similar hierarchy of needs applies to software projects.
The author clearly shows that the outcome of any project depends equally on both the customer and the project team, and on the way of their communication and cooperation.
Showing the power of process and distinguishing "process" from "thrashing" and "productive work", the author doesn't decline that the people are always important.
Another cunning idea presented by the author is "The Cone of Uncertainty" which means "early in the project you can have firm cost and schedule target, or a firm feature set, but not both".
While by no doubt the first part of the book "The Survival Mind-Set" is an excellent theoretic inspection, the remaining, practical parts of the book are questionable. I'd recommend you to take them skeptically, and, before taking decisive action, getting the full picture by reading "Agile Software Development" by Alistair Cockburn to get the overview of the modern methodologies, "Extreme Programming Explained" by Kent Beck as an example of such methodoloty, "Peopleware" by Tom Demarco & Timothy Lister to make sure that the good workplace and the jelled team is a major factor, "Quality is Free" by Philip B. Crosby to understand what really the quality is and "Leadership Without Easy Answers" by Ronald A. Heifetz to assure that nothing will succeed without a leader.
on July 6, 2001
Computer books written in 1997 are either obsolete or classics. This one is a classic and a timeless one at that because it gives a straightforward approach to development projects that is consistent with best practices. Best practices are usually born from lesson's learned from disasters. While there have been criticisms that this book might not be up to the realities of web development, I believe that the inverse is true: too many web development projects are initiated before they are properly planned, and are not effectively controlled because of unskilled project managers. But that's a personal opinion.
What you will find in this book that is applicable to any development project, regardless of whether the goal is a web- or e-commerce-based system, client/server or host-based. What you get is a structured approach to planning and estimating using proven methods (as opposed to pulling numbers out of thin air), excellent advice on organizing and motivating (and protecting) a project team, and how to manage delivery and release of a quality product. What I particularly like is the life-cycle framework, the controls provided to manage scope and product integrity and the emphasis on testing, release and quality. However, much of this can be mined from other books. What sets this book apart and makes it a classic is the wealth of tips and checklists and the way the author weaves his experiences into the approach. What makes this book effective is the copious advice given throughout about dealing with politics, people issues and other project and career killers. This book is about surviving projects and if the advice liberally sprinkled throughout is heeded it will go a long way towards helping you to do just that.
on December 11, 2000
This book is a wonderful resource for the frustrated developer attempting to understand the software management process. It is filled with little understandings which illuminate different aspects of broken process. This book made be laugh and cry with recognition as I read it. I couldn't put it down.
What is useful about this book, is that it presents a complete process model. This book is a great vision reference for a group. It's completeness, is it's realy strength. Rather than focusing on what goes wrong, this book explains how to do things right, and points out what failures that prevents.
This book deserves all five stars, for it's completeness and focus, although I think a more appropriate title might be "A Complete Vision for Managing Software Projects." This book is not really about individual survival for Software Projects, it's about team survival. In that sense, this book is designed with the Manager in mind, rather than the individual developer.
The resources provided by the Author's website (and other books) raise the bar for what it means to be a software professional, and in that sense, this book is inspirational for the developer wishing to become an expert in their field.
I intend to have every co-worker in my group read this book.
on October 31, 2000
Despite what you might read elsewhere, the number one critical success factor in any development project is appropriately setting the customer's expectations, right from the start. And that is exactly where this book can do its best work.
This book has been directly responsible for reducing project stake-holder induced stress on many projects I have been involved with.
Every developer has encountered the 'customer from hell' who knows it all ... but knows nothing about the reality of the software development process. Here is a book that if you can make them read it, you might be able to maintain your sense of humour. Even the interfering pain in the neck (albeit well meaning) customer will find it extremely difficult to ignore the undeniable common sense that is presented in this book.
The survival guide is not a prescriptive software project management process manual, rather its an easily digested overview of sound software project management principles, what to avoid and the implications of worst practice.
The fact is, if key project decision makers have unrealistic expectations from the outset then your project is in trouble. You may believe it is already too late, however a dose of this book has worked wonders for projects I have worked on and it may just be the reality pill someone around your project needs too.
Even if this book does nothing more than help to convey to decision makers an understanding of the complex nature of software development and the requirement to accept that any project is statistically unlikely to come in on time, on budget and meet quality expectations, then you are way in front.
on October 13, 2000
This book is most appropriate for the programmer or analyst who finds himself in an internal organization in charge of his first big project. It's full of management advice, potential pitfalls, and sample forms you might otherwise have to write from scratch. (McConnell is also a big fan of pushing software to a releasable state periodically during development, and he gives a good talk about what that's likely to cost and achieve.) But I concur with the earlier reviewer that what many of us need now is a book on guerilla project management--how to bring a project to success in spite of management's lack of understanding of or interest in these principles, or at least some advice on how to bring them around. This is not that book. The Guide also lacked useful advice on staffing and motivational issues. McConnell assumes that all team members are pulling in the same direction and are reasonably productive, and if they're not you should just get rid of them. While I sympathize, my experience is that in this economy successfully completing projects with the staff you have, whatever their level of talent and motivation, is the most important survival skill of all.
on May 18, 1998
I was disappointed in this book - perhaps it was a problem with expectations. McConnell's previous books - Code Complete and Rapid Development -were very well written and provided valuable insights into best practices in the computer industry. By attempting to do the same thing here, the author missed the mark. The Software Project Survival Guide presents a road map marked with good practice applied in a mature organization that understands the nature of software and responds rationally, providing the resources and time required to do the job right. The overwhelming majority of people who are taking on their first project management job will have few, if any, of the benefits that this book takes for granted.
Don't get me wrong. This is a great collection of really good ideas and it's really well written, but it doesn't give much guidance to the first-time project manager who needs to deal with misdirection and misunderstanding from those who he or she reports to. The book presents a fine set of suggestions on "Techniques for Really Good Project Management," but there isn't much on "Survival."
on January 22, 1998
McConnell's released books on good construction practises, and good development practices. Now he finishes the circle with a book on good management practices. McConnell has a very good way of integrating the thoughts of many prominent industry gurus into a readible comprehensive format. His talent is to recognize the best ways that improve people as software workers. The thoughts and techniques from his previous work, Rapid Development, were excellent, and it is "the Software Project Survival Guide" that puts those techniques into concrete perspective. He concentrates on only a few of his published techniques, those that are most tried and true, but also provides a framework well suited to young and upcoming technical students hoping to become managers. (Like myself 8-D) A great companion to this book is Tom Demarco's "The Deadline", as it adds the human-element of managing projects that sometimes seems missing from McConnell's book. This is not to the detriment of McConnell's work, it is just that his approach is different. McConnell's books are readible, interesting, and are the _best_ comprehensive books on improving yourself as a software worker. He's the guru of the 90's.