I bought this book because I'm generally rubbish at estimating (I usually under estimate). Also, although we have the technical elements of agile (source control, unit tests, continuous integration, etc) sorted, my agile project management is not all it could be. Agile Estimating and Planning may be as close as I ever get to a silver bullet.
To be honest I expected to be let down and that the scenarios described in the book would not match the situations I find myself in. I was not let down at all. The book covers both planning when features are important and planning when a deadline is important.
It taught me that it was wrong to break stories into tasks when release planning and to leave that for iteration planning. The book discusses the use of both story points and ideal days in estimating, what they both are, the differences between them and then suggests you should use story points.
It described what release and iteration planning are and when to use them. It also discusses how to predict, where necessary, and how to measure velocity in order to calculate the duration of projects. One of the most important things covered from my point of view was how, when and with what to report to the product owner and stake holders.
The book finishes with a 60 page case study. I was tempted not to bother reading this as it goes over the main points covered in the rest of the book again. I was glad I read it and if you buy this book you should read the case study if you read nothing else. It helps put in context how estimating should be done and describes the processes surrounding it.
All I have to do now is write a distilled version for my team, including the project managers, product owners and stakeholder and put it into practice.
One only has to read all the comments from the leaders of agile thinking to know that this is an excellent book. It's definitely in my top 10, probably in my top 5 list of essential 'agile' reading. This book takes the agilist into areas often neglected; those topics traditionally dealt with by the Business Analyst; the person who shapes the product being produced, who has his finger on the pulse with respect to value and desirability of all the possible features that may be incorporated in a product; the person who knows which products should be prioritised for development. It brings to this person a toolbox of modern techniques that allow him to interact with a modern product development team. With a good few years experience in BA-like roles, this book taught me quite a few things that I should already have known but did not.
However, this book is not just for BAs and their ilk; as other reviewers have stated, it is also very instructive for developers and project managers.
Mike's style is very accessible without skimping on technical detail; this is a reasonably easy read for those who do cover-to-cover, and also a great book for those who want a desktop reference.
What an amazing book!! And I don't mean that lightly This book will take you into the world of Agile Planning in an exciting and enjoyable way ! Mike Cohn is a genius of a writer ! I so can't wait for my next scrum master position to establish what I have learnt from this book. I have already put together presentations from what I have learnt. MUST BUY for anyone serious about being a game changer in the world of Agile !!!!
Cohn's book, as the title suggests, is firmly aimed at the Agile development end of the market. The book contains much useful material that is otherwise scattered throughout the literature - and material that a casual reader would not expect to find in a book on agile development techniques, so the book becomes worth reading for practitioners of all project sizes.
For example, there is a complete chapter on the prioritisation of requirements by desirability using Kano analysis. This technique divides requirements into three groups: - Essentials - those requirements that are essential for the stakeholder to even consider using it; - Linears - those requirements that are linearly valuable, ie those where doubling an element of the requirement is perceived as being twice as desirable; - Delighters - those requirements that delight a stakeholder - usually only a small number being necessary.
The author describes techniques to draw up a questionnaire based on Kano analysis for potential customers to quantify which requirements they categorise into the three categories above. This will also business stakeholders (such as product managers) to prioritise requirements. Cohn has a whole chapter on financial prioritisation - techniques that allow the quantitative financial measures be associated with requirements. The measures discussed are: cost (retained revenue, operational efficiencies and net cash flow), net present value, return on investment and discounted payback period. Armed with this information, business stakeholders are able to prioritise the requirements more easily. In addition, this sort of information adds credibility in the eyes of the CFO, who may otherwise remain unconvinced of the benefits of Agile projects.
In addition, Cohn devotes part of the book to estimating buffer size - something that is often missed in agile projects. He deals with both feature and time buffers and the best time to use each - or a combination of both.
The book becomes a "best buy" for all with its in-depth, readable treatment of topics that are rarely seen in a software development book.
This is a good book for project managers and senior developers who have enough experience to understand that even a practice like agile development needs a framework to work within and a certain number of standard project management controls to be successful.
It deals with some of the practical issues a project manager will face like prioritisation techniques, acceptable levels of functional delivery, inter-dependencies, estimating, padding estimates, monitoring progress, release and iteration planning.
Cohn hasn't written the book specifically around any one methodology (ie SCRUM, XP etc) which is good, as in reality people lift and use ideas from various methodologies. In that respect this book is a good reference guide to dip in and out of, picking the bits that are most appropriate, rather than reading it cover to cover. It is well laid out and easy to read.
As a project manager I am responsible for planning the end-to-end process from requirements through to delivery, therefore I felt that there were some areas that were either not covered in enough depth or omitted altogether:- * the writing of user stories, and how to plan for their handover to programmers (if produced by a separate individual or team), * while programmer testing is discussed their is no mention of functional (or acceptance testing) of the produced code, * scaling up to large (possibly enterprise size) projects is only skimmed over, * while the estimation techniques discussed can be applied to user story creation and functional/acceptance test creation and execution it is implied rather than explicitly suggested, * personally I didn't feel that the book addressed the area of changing requirements enough, but maybe that's me.
Being a project manager with more waterfall than agile development experience I might be being overly harsh in these criticisms.
Planning and estimating has always been an interesting topic. There are different paths offered with advantages and disadvantages provided. Selling the advantages of Scrum to Project Managers and Clients who are comfortable in a Waterfall environment is seriously aided by the information in this book. An excellent weapon in any ones armoury from the grunt (developer/tester...) who wants to aid his managers in separating ideal estimated durations from reality (factoring in company overhead etc) to the managers interested in convincing their organisation to experiment with the feasibility of adopting the advantages Agile.
The go-to book for concisely explained, step-by-step Agile project planning. There are newer planning and hypothesis testing techniques in the meanwhile, especially for online projects which this book doesn't cover, but the one ones described here give you a very good basis for any project. I find myself referring to it early and often with each new project or release.
Mike Cohn is a born teacher. This book is full of useful techniques and very clear examples. To get a feel for Mt Cohn's style, check out some of his lectures on YouTube. Even if you are not an agile practitioner, some of the ideas in here will be of interest.