Dilbert / Scott Adams

Feature Creep

Taking over your projects without you even noticing it.

Tommy Bergeron
Productivity Tools
Published in
2 min readJun 13, 2013

--

Sometimes I really think the hardest part of my job is to keep stuff simple. In every new feature you introduce, there’s dozens of related ideas poping in your head as you head towards completion. The worst decision would be to decide developing one of these ideas.

Why? Simply because that’s not part of the plan. Each of these ideas that pops into your head will recursively pop other sub-ideas later on which will lead in a frankenstein-esque software.

Need another reason? Every time you take decision on implementing another of these unplanned ideas, you shift your focus from your starting vision. Which will, most of the time, break your momentum and sometime will lead you do simply drop that idea after realizing how gargantuesque the project has become.

Now it’s about how to stay on focus with that starting idea.

Step 0 would be to always use a version control system. Get a Github account and start using Git. It’s easy, Github even has beautiful clients that are very user-friendly. I don’t understand that many developers aren’t using such tools nowadays…

I’d start with using any project mangement/collaboration tool. Start with something like Trello or Basecamp.

Then try to make a static list of tasks to complete to get to that vision. Use milestones, versions, task list, or whatever you want to use to keep track of that starting vision related tasks.

If you need some extra push to make sure you’ll stay with the plan, advertise it publicly on a blog or on social medias, build hype around the idea so that people will ask for informations about that idea which can build a great deal of satisfaction and dedication.

What if it’s already too late? But it’s never too late to put the axe through a feature-set! Just ask yourself is x feature really useful to the ensemble? Go through the list and even if many hours of work has been put into these features: keep that code, you’ll surely need snippets of it someday.

This is easy while using any version control system, just use branches (git) to keep old features for future references.

I know it’s easier to write down than to actually do. I’m currently in the progress of simplifying a roadmap and I need to make some heartbreaking changes. That’s developer’s life!

--

--

Tommy Bergeron
Productivity Tools

Developer, Gamer & Music Nerd. Opinions expressed here are my own. Swiss Knife at Brainpad.org & RadioTalbot.tv