Monday, January 01, 2007

What would it take for last minute changes to be safe?

Have you ever been a situation where you receive a last minute change request that you have to refuse because you're just too close to release for that change to be safe?

That's responsible behaviour. It's utterly foolish to risk system stability by making non-critical changes just before a release.

Of course, there is a much higher probability that changes will be re-interpreted as non-critical just before a release even if it may eventually turn out that a minor issue as seen by the engineering team is the final annoyance that encourages a customer to go elsewhere.

So what would it take for last minute changes to be safe?

  • Full automated regression testing
  • Multiple eyes reviewing the problem and solution
  • Clean, easy-to-understand, non-duplicated, loosely coupled but cohesive, design
  • Skilled and creative testers
Or in a more abstract form: discipline, technique, humility, and teamwork.

What makes last minute changes more dangerous?
  • "I don't need to test everything"
  • "I don't need a pair" OR "I don't need my code reviewed"
  • "That duplication is not important"
  • "I don't write anything that can be broken"
Or in a more abstract form: laziness, stubbornness, ignorance, and arrogance.

0 comments: