Saturday, January 12, 2008

Another rule of thumb

In these pages I've quoted Linus' law, Moore's law and probably others, so why not have a go at it myself? I don't believe I've heard this one put quite this way, though I'm sure it's been said before, particularly in other fields of engineering:
Development time depends largely on how quickly you can get accurate results. [Maybe a bit more snappily, on how quickly you can see what happened]
This can depend on any number of things, for example:
  • How long it takes to find out you've made a trivial mistake like misspelling a name. IDEs shorten this time by doing much of the bookkeeping before even officially compiling.
  • How long it takes to find out whether you've fixed a bug or properly implemented a new feature. Processes that put more testing in the developer's hands help shorten this.
  • How long it takes to verify that what worked in your sandbox also works for the official version. Tight build management and release processes help eliminate surprises in what should ideally be a quick step.
  • How long it takes to be sure that you've done what your customer wanted. Processes that put development teams in touch with customers frequently aim to shorten this.
At heart, this is just saying that good feedback loops require good feedback, but it stills seems worth noting.

No comments: