Alexander Bird Software • Blog

Notes to myself

No Estimates

Notes from reading the book.


(Publisher website)

Remember this: you are not done, when you think you are done, but only when the customer says you are done. Loc 1339


Running Tested Stories is the only metric that reliably describes the progress in a software project Loc 1352

Exactly! We have done a lot of work, and we've started many things. But the truth is that we have finished nothing from our end-users point of view. Loc 1492

About "scope creep"

Of course, that name does not reflect the reality of software development. Adding work to the backlog is not "scope creep", it is just a natural outcome of our constantly changing and improving understnding of the problems we need to solve with the software we are creating. Instead of "scope creep", we should really use the term "value discovered". Loc 1819

The moment you realize that a Feature or a User Story cannot be fully delivered within the allotted time is the moment you get to decide whether to accept that additional work or to discard it. That is a powerful moment in your effort to contain the project scope and focus on the most valuable work. Why wouldn't you use it? Loc 1842

scope management in a project is one of the few things the project team really has power over; especially if the team can forecast progress during the early days of the project. After all, the customers are never happy to drop Features or even Story-level functionality at the end of the project, but I'm sure they will consider your suggestions if you bring them early enough in the project. Loc 1893

  1. Use multiple levels of granularity to establish flexible requirements.
  2. Use historical data to assess progress and forecast future delivery.
  3. Cost is a multiplier of time (mostly); the only real variable the project team can control actively is value (in the form of scope). Loc 1909

"Carmen, I'm sure you mean well. And I'm sure that whatever ideas Herman has told you they have only helped you realize that you needed to work harder. This #NoEstimates is simply not credible! Why do you think I transferred Herman out of my team? We can't run the risk of him talking to a customer about his ideas, we'd lose all credibility we have in the market!" Loc 1959

Related to user story mapping, or a "matrix"

Carmen needs to start considering all the possible dimensions of scope before she is able to realize that, even fixed scope projects, can have a lot of flexibility in the list of requirements, if that list is expressed as a two-dimensional matrix of Features and User Stories.

You have to continue that discussion and find the right Features to remove. It will not be easy, but the alternative is certain failure. And no one, not even the client, wants that." Loc 2128

Typically projects tend to balloon in scope, because we discover functionality at lower levels of abstraction that we consider 'important', and just add to the backlog. However, we can use the same approach to remove items from the backlog. Think of it like negative scope creep. Loc 2209

Independent (can be implemented independently of other stories)
Negotiable (don't dictate implementation strategy)
Valuable (to the customer)
Essential (absolutely required for the product to be viable)
Small (well understood by the team and can be implemented in a short time frame
Testable (includes a set of criteria that the define when the story is done)

Goal: "clear & verifiable progress information; actionable information"

By creating a detailed plan, Carmen was about to commit the work of the team for the next few weeks. Once that commitment was made (and the implicit promise to Mr. McNeal), the team would no longer have the option to adapt to new information. All the assumptions, sequence of work, dependency handling, risks and errors would be locked in. She would have removed all flexibility from her project. Loc 2422

Independently of what decision Mr. McNeal will make, the cost to produce the forecast is very low, and the information it provides will be enough for him to make a decision. Loc 2435

Your goal should be to make changes to the plans easier. Why? The simpler the planning process, the faster and more easily your projects will be able to accommodate the inevitable changes. Loc 2441

Written 2019-11