Feature Creep
I’m a software engineer by trade, and for fun. One of the things that I enjoy about creating my own projects is that I can come up with all of the features that I want at the start of the programming. This lets me create a roadmap from nothing to completion, and stick to the plan fairly closely. This is a rarity in the programming world. There are always new ideas filtering into software, new ways of displaying data, new data to display, and hundreds of other minutia that make my life harder.
Some people would say that feature creep makes them miserable. It is one of the worst parts of the job because you are constantly going back to rewrite routines that were working perfectly before someone said the ominous worlds of, “You know what would be great for this program to do?” I deal with it fairly well because I’ve had good bosses in the past that understand that feature creep requires slippage of deadlines. I have worked in the past where deadlines were hard, but there was no such thing as a code freeze period. This means that 2 hours before deadline, someone can walk into your cube and say, “Hey. Can you add this new feature that I just thought of?” That’s a huge pain in the ass, but it’s part of doing what I do.
I currently work for a boss that used to do my job, and he’s worked his way up in the ranks of the company. That’s a very nice thing because he lets me set my own deadlines because he knows that I’ll be honest with him about how long it will take me to finish a project. He’ll also give me a little extra padding to my estimate in case I run into trouble. That’s double-good because I always pad my hours anyway. There are always unexpected issues that arise when you’re developing software. The saying “Give me a list of surprises that we can expect during development.” is one of the greatest that I’ve heard while vetting out requirements for a new project. Fortunately, someone else realized that idiocy of the statement, and told the VP that asked for the list that if there were surprises, then those items can’t be expected. It’s kind of in the nature of a surprise that one doesn’t expect it.