Didn’t agree a ‘done’

Description

  • Done is a verifiable state of affairs that everyone has agreed to. This is not about defining success, this is purely about agreeing what you will ship, when and in what phases

Disproof

  • If you're a BDD baller, just have everyone agree on the test suite. Or a very unambiguous statement of what capabilities, by what time

Consequences

  • Multiple imagined timelines based on different pictures of what’s being built
  • A tendency for customer facing teams to over-estimate what’s being built and underestimate the time to build it, resulting in mismanaged expectations
  • Destruction of trust and cohesion as, after non-product teams wait for weeks blissfully unaware that their expectations have been mismanaged, v1.0 turns out to be their v0.1
    • People act unprofessionally, communications break down, the company wastes money or gets outcompeted into an early grave

Causes

  • Sometimes, product teams just want to be rock’n’roll and freestyle it, thinking that the only alternative to massive waterfall specs is to have no specs. This is stupid, stop that
  • Sometimes, stakeholders use ‘acceptance testing’ to simply cram more and more things they want in there. Maybe they’re right, maybe they drastically misjudge the value that they’re trying to add to the product

Approaches

  • Everyone whose job depends on a delivered product should at least be appraised of what ‘done’ means, this time around
  • And some stakeholders will always want more than is reasonably doable in time
  • And that is why 'done' needs to be negotiated ahead of time or we simply kick that problem down the road
  • Try locating each stakeholder's true constraints (at what point can they really not support, do manually, sell or fund something)
  • In any case where you get an agreement, don't surprised if people forget it or willfully try to overreach it. Don't be afraid to remind people of why we have agreements