What does done mean?

What does done mean?

Software development is non-deterministic. Predicting time lines is difficult, even impossible.?

Missed expectations can easily develop mis-trust across stakeholders.

In my experience one of the biggest sources of the problem is a difference in understanding? of what “done” means among the stakeholders.

Why done matters

Imagine a product manager has an idea for a new feature. She talks to a senior engineer “how long would this take to build?”

He replies “about a week”

From this brief interchange the two parties leave happy, though with completely different expectations.

The PM thinking “new widget in production within a couple of weeks (Everyone knows you always double the engineer's estimate :) )”

The engineer thinking “That’s a good idea. Wonder when we will have time to slot that in the priority list.? Of course it’s going to take a lot longer if someone less familiar looks at the code”

Two weeks later the engineer’s manager is confronted with “Your engineer said we would have this in the product by now. What’s going on?”??

Perhaps it’s only me that this has happened to, many times?? ??

When are we done?

The above scenario is may seem a little extreme, though it is absolutely real in my experience. You could of course force everything to go through a project approval process.

However even when we really believe we have agreed and scheduled a deliverable. Still these miss communications persist.

The question to align on is - When are we done? e.g.

  • When I can demo the feature for you on my machine?
  • When we can do a customer demo for initial feedback?
  • When it is available in the product?
  • When all the testing is complete?
  • When legal/privacy teams approve it?
  • When it’s documented?
  • When it supports all locales we are in?
  • When it’s been in production at key customer sites?
  • When we have proven the customers will use it?
  • When the customer is happy with the feature?
  • …. and on and on


This gap in understanding of Done can and does lead to a lot of missed expectations and creates that mistrust among the stakeholders.

All of the above can be valid “Done” states. Getting clarity at the beginning is critical to aligning teams, meeting expectations and building trust.

What does done mean?

Anyone that has worked with me will likely have heard me ask this question.


Program management processes use “Release Criteria”, a heavy weight version of the same thing. I see eyes roll into the tops of heads, mine included, when Release Criteria is mentioned. The problem I have with release criteria is it is hard to see the wood for the forest (trees if your in the UK) as the list of release criteria becomes lengthy. Worse also implicitly says “I don’t trust you, so here is a checklist to make sure you doing your job right”. Dividing rather then aligning teams.


Keep it simple, what is the end state we collectively want as a team? It is likely somewhere between

  • An internal demo to help sell an idea or generate feedback
  • A fully featured production release in all languages

For the latter it might make sense to have multiple internal steps that each can have its own Done state.

Iterative Development

Many development organizations implement some form of iterative process as a way to keep all stakeholders aligned on the progress vs expectations. Personally I have been practicing iterative development for over 40 years (topic for another post) and would not use anything else.

Depending on your preferred iterative process you might spend more or less time on the end state for a given iteration.? Agreeing the shorter term Done states for features, as opposed to the individual iterations, can be hugely valuable for agreeing and meeting stakeholder expectations.


One project I worked on was very uncertain in terms of even being viable.? We set a goal of getting a target metric, an error rate, below a certain value.? This was our proof that the project was potentially viable. We were done with the speculation phase and could move on to much larger more ambitious parts of the project and add more resource.? My point here is that Done does not have to be an external deliverable. It simply has to be something that everyone aligns on.

Done!

"Our time is up the show is over, thought I'd something more to saay." So yes I’m Done. At least as far as this article is concerned.

Oh wait what about replying to comments ??

Are we ever truly done?

要查看或添加评论,请登录

Clive Beavis的更多文章

  • Sprint to Survive

    Sprint to Survive

    These product iterations were built on 3-? inch floppy disks and shipped to sales and customers on a weekly basis. 35…

  • Word Blind

    Word Blind

    The line of impatient customers was growing behind him. This was his fourth attempt to get the 4 letters of “cash” in…

    5 条评论
  • Time is Money

    Time is Money

    Someone commented on my last post that much of what I said about measuring the efficiency of engineers was applicable…

    2 条评论
  • Concrete measure for eng efficiency

    Concrete measure for eng efficiency

    My last post “Clive’s Law” was a way to think about developer efficiency for a whole organization. As I mentioned in…

    1 条评论
  • Clive's Law - E = 1/D**2

    Clive's Law - E = 1/D**2

    Engineering efficiency = 1 / (distance between engineers)**2 Keep this simple equation in mind when looking to make…

    8 条评论
  • Priorities - Don’t get me started on P0

    Priorities - Don’t get me started on P0

    The planning progression Once upon a time there were 3 priorities, high, medium and low. These were not considered…

    4 条评论
  • Are two heads better than one?

    Are two heads better than one?

    Architect level engineers are hard to find. These are the engineers that stand above the rest and are go to person for…

    1 条评论
  • One week sprints or four?

    One week sprints or four?

    And where do 2 week sprints factor? Tldr; As with much of software engineering there is no one size fits all solution…

  • What KPIs should I use to measure my engineers

    What KPIs should I use to measure my engineers

    A number of people DM’ed up with me after my initial post which was great. I appreciate the feedback and will adjust my…

    5 条评论
  • Replacing 55 engineers with 4

    Replacing 55 engineers with 4

    A number of years ago I was hired at a public company as the VP of Engineering. The relatively new CEO had expertise in…

    5 条评论

社区洞察

其他会员也浏览了