Monday, May 23, 2011

One Off

I'm working with an engineer who came to me recently and said, "I want to handle the deployment for this by doing X, Y, and Z." I said to him, "Hmm, that's not how we do any other deployments. Why do we need this one-off?"

To some extent, it doesn't matter what we ended up doing. The point is the question. By default, doing things in a different one-off way is a bad idea. It just adds a "special case" that has to be considered for all sorts of future things like IT monitoring and infrastructure, future upgrades or new features, etc. Sometimes, however, it's the right thing to do.

Good reasons to do a one-off:
  • The team is unhappy with the old way and this is a good place to try the potential new way.
  • The old way is simply not technically possible (e.g., the old way only works on Debian and this is Windows, for example).
Bad reasons to do a one-off:
  • You don't know about the existing method.
  • You don't understand the existing method.
  • You just like writing new stuff.
There is a time and a place to do something different from your existing solution. But varying your existing procedures should be the exception, not the rule. If you want to do a one-off, make sure you understand why and that it's a good reason to do so. If you can't say why you don't need a one-off, or if the rest of your team doesn't think it's a good reason, then it's probably not the right thing to do.

No comments:

Post a Comment