The Curse of Innovation

Great!  You've created a new, cool application that enables your team to
do X!  Everyone loves you for about a day, but then things change. 
Now you have to support it.  Now you have to perform upgrades.  Now
you have to appease people who are complaining that X takes too long (even
though X wasn't even possible before you came along).  Now you have
“The Curse of Innovation!”

Do you stop innovating?  Never!  You must learn to deal with the curse. 
Here's how:

  1. Offload and Delegate
    1. If it's server based,
      you need to have it running on a reliable machine that your entire team
      (or Ops team) has access to
    2. Train other people in
      the team about your new app/code/whatever — this way, they'll be able to
      help make updates and bug fixes
    3. Documentation – if you
      can't train people, they can read your docs!   (I'm not saying
      that training is an alternative to documentation – both are needed)
    4. If you
      offload/delegate, you can now move on to new innovations!
    5. Basically, nothing can
      depend on you personally, if it does, you've just enrolled yourself in 24
      hour tech support (or doomed your app)
  2. Bug Tracking
    1. Effectively cataloging
      everything wrong with your app is a must, otherwise you won't know what
      to fix
    2. Other users will be
      able to see known bugs and work around it (trusting that there will
      eventually be fixes)
  3. Updates and New Versions
    1. Update! 
      Unfortunately where I work, we have trouble making updates and rolling
      out new versions because, well, let's just say we're too busy.  This
      isn't an option — your app is just a 1.0 version (maybe 0.5), it won't truly
      be a great product until around version 5.0 — so keep at it!  Don't
      let it get forgotten and left behind.
    2. If you don't have the
      passion to do this, then see #1.

It just amazes me how quickly people forget that they were
never able to do X before your cool app/code came along and instead gripe about
how crappy your app/code is  — but, such is the Curse of
Innovation.  Thankfully I've been dealing with the curse (better to have
the curse then to not innovate) and I'm slowly starting to learn to prepare for
and prevent the curse from ever happening.  Hopefully, this will serve as
a reminder to me and to you!    Beware “The Curse of Innovation!”