Rating: Summary: It is a big risk NOT to read this. Review: There are some very sensible, eminently implementable ideas in this book, even if you have nothing to do with risk management. It is not just about risk, and neither is it just about software projects. Yes, there are strong elements of both, but the discussion is not exclusive. Some of the practical matters discussed include being able to recognise a 'dead' project before it finally rolls over and is declared dead. If there is no life in the beast, then it is no use preserving the carcass.
Risk has been become a vogue word in software development. Everybody talks about it, and says that it is being considered. However, a large part of the discussion is lip service. What is apparent is that 'risk' is not a small subject, and any discussion on this subject will invariably involve weighty matters. How can benefits be calculated? How are costs determined?
So is risk inherently wrong? Risk involves uncertainty. Halfway down the first page of Chapter 1 is a wonderful statement, summing up the gains to be claimed by embarking on a risky venture. "If a project has no risks, don't do it". The authors slay a few myths along the way. It is not wrong to be uncertain. Risk is about trying to minimise the uncertainties, or rather to minimise the damage caused by events that you hope will not happen. Therefore, if you don't know, ask questions about what you do not know. That is very different to some work places, where it is considered bad form to raise items on the risk register. There are instances when blindingly obvious risks have not been considered. "Oh, you mean THAT train" - as it speeds towards you. Projects that negotiate dark railroad tunnels will find trains hurtling towards them. FACT. It is the nightmares that need to be addressed, not the petty worries.
The book is very good about imposed deadlines. By all means perform estimates based upon everything happening correctly, and on time (in other words, 'downhill with a following wind'). However, this is not sufficient for implementing REAL projects, in real timescales. In order to achieve this, it is necessary to add in the uncertainties. Add these in before publishing the figures. There is a tool available on the associated web-site that enables some of the classic uncertainties to be factored in. This uses some industry standard figures to indicate the effect of, say, key staff leaving. The big no-no of software development is also discussed - what if the project fails? Figures indicate that a significant number of software projects fail (the authors quote 15%, but others may use different figures). Therefore failure has to be a risk on any project.
The authors discuss 'Earned Value Running' [EVR] as a way of measuring progress. Using such a measure moves away from the "90% complete" problem, and also enables the 'bells and whistles' of a project to be seen for what they are; items that are nice to have, but not item that are part of the core functionality. Such concepts as EVR can make a difference, and examples are provided from real life projects about many of the items discussed.
Much concerning 'risk' is involved with sharing knowledge, be this what is known or what is unknown. It is only when there is a culture of openness that there is a freedom to share risks (it is after all a risky business to discuss the items that would cause your department to fail to deliver to schedule). There a large variety of items that can follow on from an effective risk management strategy. One of these is what the authors call 'proactive incremental delivery'. This is equated with playing the loosing hands from your bridge hand first. However, what is written is not a prescriptive approach. After all, that would be risky!
There is one final point I wish to mention with this volume. There is a discussion of when NOT to share your risks with others. It takes a good deal of confidence to argue in part against the central thesis of a practical book. This is a VERY good, practical book, whose authors are not afraid to advise when not to use the ideas within.
Peter Morgan, Bath, UK (morganp@supanet.com)
Rating: Summary: A good book covering an important and negelected area Review: This book is an interesting mix. It starts with a philosophical discussion of why it is ethically wrong and success-endangering to ignore risks, but commercially weak to simply avoid them, thus establishing that we must accept and manage risk. The book then develops a comprehensive method for risk management in IT (or other) projects.It may be surprising where DeMarco & Lister start from, explaining what risk is, why we need to accept it and why we must manage it, but they explain how common attitudes in the IT industry, which they correctly term "pathologies", can make it almost impossible to properly acknowledge and manage risks. Maybe it's my background as a physicist, but I assumed that most project managers understand the concept of uncertainty in estimates of cost, timescale and benefits. The authors clearly start from the opposite position. This may be a little off-putting for some readers, but will definitely help those to whom this is a new concept, while the use of "uncertainty diagrams" (probability profiles) will be a useful addition to the toolkit even for those more familiar with the underlying ideas. The book is very strong on how risk impacts budget and schedule, and how to more scientifically make goals and committed targets more realistic. There's a very good discussion of how to assess deadlines using probability theory, which shows the folly of trying to manage large efforts by single deadlines. The book also includes a very good section on brainstorming and analysing different stakeholders' "win" conditions to identify potential risks. One weakness is the almost total lack of discussion of risk prevention - actively working to prevent a risk materialising, or at least to reduce its probability as well as mitigating its impact. For example they quote the example of an operating system upgrade which is incompatible with a "make or break" product development. Any sensible manager would work with the OS vendor and its developer information programmes to actively prevent this, rather than just worrying about its possible impact. When it comes to combining the effects of multiple risks, the authors rely entirely on Monte-Carlo simulation and the "black box" outputs from a spreadsheet (which is downloadable from a web site for the book). This will be a useful tool, but a simple worked example showing the mathematical principles at work would be much better (see www.andrewj.com/thoughts/combining risks.htm for my attempt at this). The book is dismissive of time-constrained scheduling as "schedule flaw", and there is only limited consideration of methods such as Agile Modeling and eXtreme Programming which aim to mitigate or even prevent the effects of requirements change. However there is a good section on the use of incremental delivery to mitigate risk, but possibly somewhat unrealistic in relying on very complete requirements and design before the incremental delivery plan can be completed. The approach to benefits, and the importance of properly assessing and measuring benefit is excellent. As DeMarco and Lister state, you can't do any meaningful risk management or prioritisation unless costs and benefits are estimated, measured and controlled to almost exactly the same degree. Conversely, if you can build realistic models of both cost and benefit in risk terms, you have a very powerful but relatively simple model for project prioritisation. Overall this is a good book which I can recommend, but not the definitive answer I expected from the authors of "Peopleware".
Rating: Summary: The BEST Review: This might be the best work in DeMarco's impressive collection (not to slight Lister, but I'm a huge Demarco fan). Must reading for anyone who manages IT/software projects, programs, manages technical staff, or any executive whose company owns computers or software. It's really that good.
Rating: Summary: As good, or better, than Peopleware! Review: To think of this as a book that is just about risk management does not really do it justice - it could have been subtitled "How to prevent software project disasters". It could also have been subtitled "Software Project Management for Grown Ups" ... unfortunately this subtitle highlights the sting in the book's tail, which is that it is also necessary to work for a grown up organisation. The authors point out that their techniques cannot be applied in many company cultures, where the admission of uncertainty by a project manager is not possible. The author's book Peopleware is one of my all time favorite books, so I was really worried that this book would be a let down. In many ways I think Waltzing with Bears is an even more significant book. Peopleware was one of the few books that pemanently changed the way I view the world, and this book I believe will have the same long-term effect. It has the same deep truthfulness that the "Mythical Man Month" has. In many ways the five-star markings on Amazon have become de-valued. This is truly a great book and should not be confused with the "run of the mill" five-star books.
Rating: Summary: Must reading for your software career Review: Tom and Tim have another winner! They have taken the generally complex topic of risk management, identified the 20% of it that provides practitioners with 80% of its value, and packaged it in a way that is easy to use and understand. This does not mean that they trivialize risk management in any way. They pull no punches about what software risks will do to you and your project if you ignore them. But they communicate their messages and practical risk management techniques in their usual fresh and stimulating way, along with a boatload of relevant and thought-provoking examples from their wide experience. A must-read for your software career.
Rating: Summary: Must reading for your software career Review: Tom and Tim have another winner! They have taken the generally complex topic of risk management, identified the 20% of it that provides practitioners with 80% of its value, and packaged it in a way that is easy to use and understand. This does not mean that they trivialize risk management in any way. They pull no punches about what software risks will do to you and your project if you ignore them. But they communicate their messages and practical risk management techniques in their usual fresh and stimulating way, along with a boatload of relevant and thought-provoking examples from their wide experience. A must-read for your software career.
Rating: Summary: Born to Become a Classic Review: Unlike other risk management books, DeMarco and Lister's book is written in a casual, provocative style - you always have the feeling the authors are talking to you and not to their peers. If you prefer a formal and structured style read, for example, Elaine Hall's "Managing Risk", also an excellent book but for other reasons. If you like new, creative, challenging, less structured ideas, this book is for you. The first part of the book explains why risk has to be faced and managed. Risks and benefits always go hand in hand: "If a project has no risks, don't do it." Companies that choose to take risks grow; those that avoid them have to struggle to stay even. I like the idea that "Risk management is project management for adults". While children can be excused from thinking about unpleasant things like war, rape, or injustice, adults do not have that choice. Taking note of bad things that can happen and planning for them is a mark of maturity. Among several reasons given by the authors for adopting risk management, the one I like best is: "Risk management decriminalizes risk." Part II addresses why risk management would not work for some organizations. In some corporate cultures "It's okay to be wrong, but not okay to be uncertain." However, ignoring risks tends to make one depend on luck. And when luck is a part of your strategy, you're in trouble. Part III is about implementing risk management. DeMarco and Lister provide us with an excellent explanation on how to build a risk diagram and also give us hints on identifying project risks based on previous projects. For those who like structured methods, the authors present a nine-step risk management process that is refined later in the book. I liked the nice and clear explanation of Monte Carlo simulation as applied to risk management. The authors describe a simple Excel-based tool for risk management - Riskology. The tool can be freely downloaded from the their website. A whole chapter is dedicated to the 5 core risks of software projects: schedule flaw, requirements inflation, turnover, specification breakdown, and under-performance. Another chapter details a defined process for risk discovery. It was nice to see the Win Win Spiral Model mentioned in the book. Barry Boehm's Win Win Spiral Model is an excellent tool for negotiating software and system requirements as well as architectural solutions from a risk-driven point of view. In the remainder of Part III the authors discuss risk management activities that must be active throughout a project's lifecycle, the use of measures of completeness such as Earned Value, and the virtues of incremental development with respect to risk management. Part IV addresses the difficulties encountered in quantifying costs and benefits to determine how much should be invested in risk management. Part V presents guidelines that can be used to find out whether or not risk management is being practiced in an organization. This is an invaluable book for anyone seeking to understand and learn risk management. Its style and content will please both the beginner and the experienced risk manager. The authors of the acclaimed classic "Peopleware" have shown us they continue to be great writers. This book is bound to become another classic.
Rating: Summary: Super book on the Critical Subject of Risk Management Review: What an excellent book, but then what would one expect from Tom DeMarco and Tim Lister, and Dorset House? As well as being an excellent introduction to an extremely vital subject in this day and age, "Waltzing with Bears" provides some practical tips not only on how to do Risk Management, but also regarding how to overcome some of the factors in corporate culture that actively or passively suppress the application of Risk Management (e.g., the "can-do" attitude). DeMarco and Lister have structured this book logically, beginning with "Why" and "Why Not", progressing through "How" and "How Much", and concluding with a brief "Whether or Not". The chapter on Core Risks of software projects is priceless. The authors provide instruction on how to graphically show the uncertainty that must be managed, and provide a link to a freeware RISKOLOGY tool that will assist those engaged in Risk Management. Having spent several years in QA and Process Engineering supporting Risk Management, I can only say that I wish I'd had this book several years ago. But I have it now, and am better prepared for future efforts. Thanks again, Tom and Tim. By the way, I love the cover.
Rating: Summary: Essential Risk Management Review: You should buy this book if you have any role in making decisions about your project. It discusses how how manage risks and explains why some corporate cultures discourage risk management, often to their disadvantage. The writing is very clear. This is a quick and informative read.
|