Marc Hughes

I am a developer from a bit west of Boston.

Customers really get in the way of progress.

05 Jan 2007

I started AgileAgenda as a project scheduling solution to meet my needs.  I thought long and hard about exactly what I wanted in a solution and made that. It's my belief that if I can make something that's amazing for ME to use, then there's a pretty good chance that it will at least be acceptable for a lot of people to use.

One of the ideals I had when thinking about this is; It's just not worth thinking about individual tasks that take less than a day.  Project scheduling will never have that sort of precision.  If I can predict when a project will end, plus or minus a week, then that's a successful planning session to me.  If I'm scheduling a task for 30 minutes It's conceivable that it'll actually take 5 hours to do.  This is just the nature of software development.  Sometimes it takes a couple hours just to figure out HOW to do something, even if doing that only takes 10 minutes.  Sometimes, it takes 5 minutes to figure out how to do something that takes a week to implement.  So back to my example.  If it takes that person 5 hours, I'm off by an order of magnitude in my estimate!

Stepping back, if I take 10 30 minute tasks, group them together, and say it should take about a day I'm in a much better situation.  If they go long, maybe the person works a bit late that day and my estimate is still perfect.  If it stretches to 2 days, I'm still only 2x off in my estimate.  It's very unlikely that it'll go to 10 days.

So back to the original purpose of this post.  I use UserVoice to keep track of customer requests.  As of today, the #1 top request is the ability to schedule tasks in hours and minutes.

Now do I ignore that request because it's not useful to ME?  Or do I complicate the entire system to provide a much requested feature of others?  To anyone who's dealt with running a business, the answer is pretty obvious.  You add in that ability!  But that sure does cloud MY vision of an ideal product.

But at what point do you just say "No, that just doesn't fit into what this product does?"  Companies like Apple do a great job with that.  Their software generally has the least number of whiz-bang features but customers love them for it.  Other companies, like Microsoft, are horrible at that.  They add so many features that the core purpose of the product becomes blurred and it takes years of training to fully use something as simple as a word processor.

Time spent doing things like this end up feeling like a block to progress since you're not progressing along your nice orderly future plan.

For the record, it is possible to schedule tasks in partial days.  0.5 is a perfectly valid duration which would translate to 4 hours of work.  But that's neither intuitive nor obvious to users.