Sunday, June 28th, 2009
Small projects are still projects

I posted last week about how feature bloat can ruin software.  Adding lots of small features to a project doesn't just add harmful bloat, it slows down real improvements.

 

Several times per day something comes up where five minutes of coding could significantly improve our software.  When this happens, I add that idea to "the list".  Everyone at the company knows that when something goes on the list, there's no telling when (or if) it will ever be completed.

 

I'm going to use this post to defend that way of doing things.  It's really easy to say, "but it would only take five minutes.  Why don't you just do it now?"  The simple answer is that while one individual improvement only takes five minutes, I have about 200 small things on my list.  If a developer stops to make every little tweak imaginable, the software will suffer.

 

No amount of tweaks will ever add up to have the impact of a well planned and carefully implemented week-long project.  This is one of those situations where the whole is greater than the sum of its parts.  One block of five minutes is certainly better spent on a small fix than a week-long project, but a week of small fixes can't compare to a week focused on one important problem.

 

Additionally, it may only take five minutes to complete a small project, but it could take 30 minutes or more to get back in the flow of whatever you were working on before the interruption.  It's hard to say "no" to little things, even if only temporarily, but it's irresponsible to let yourself become distracted from the real work.

 

And that's what the title of this post is talking about.  Just because something only takes five minutes, you should still treat it like a project.  You should still put it on a list and prioritize it just like you would a month-long project.

 

Each day I get into work and decided what I should spend my time on.  This is based on which projects I think have the best chance of improving our customers' experiences and help our company grow as a result.  When that idea for a small tweak that would make everything better comes in, I have to remember that I'm working on my current project for a reason and that's because it's the most important thing right now.  The tweak can wait.

 

There's a pretty easy compromise for programmers.  We generally deploy new code every Friday evening.  I don't want to get into the details of our version control system, but deployment is a lot easier if I don't start any other major projects until the old ones have already been released.  That means that if I finish a couple hours early on Friday, I can spend that time checking items off "the list".  This is a great way to make sure that the little things get fixed but that they don't take over my week.


Posted by Tyler King

This post has 0 Comments

Leave a comment

Please fill this out to prove you aren't a robot.
You can Create an Account or Log in to hide this.
Name: Required
Email: Required. This will not be shared
Your Website: Optional
Comment:
Email me if other people comment on this post
Receive Email Updates:


About this site
Hi, I'm Tyler King and this is my blog. It's about programming, graphic design, UI design, and anything else related to software development. You can read this post to learn a little bit more about what I'm trying to do here.

If you're interested in learning more about me, check out my Portfolio, Bio or Resume.
Search
Tips
If you have any feedback about the site or you have a topic you'd like me to write about, send an email to tips@TylerKing.net.
Archives
2009 (88)
August (6)
July (17)
June (20)
May (33)
April (12)
Links

More about me:


My friends:


Sites that I really like:


Blog
Portfolio
Resume
Bio
Contact
© 2010 - Tyler King