We developed our own internal app overnight tailored to the way we work. We figured the time devoted to organizing our priorities would help us out in the long run.
Our to-do tracking is separated into three lists: monthly, weekly, and daily. At the start of each month we list the items we want to accomplish. Next, at the beginning of each week, we transfer items from our monthly to-do list to our weekly to-do list. Then at the start of each day, we take on tasks from our weekly to-do list and aim to accomplish it by the end of the day. Random tasks will obviously come up so we add it to the appropriate list.
Another advantage to our system is that we're able to see eachothers' lists so everyone is held accountable -- if someone is slacking, we'll tell them. A SMS alert is also sent to the person's phone if their last login is greater than 24 hours.
That's almost universally a bad idea. That forces you to pour resources in an area that isn't the core of your business on a system that eventually won't scale if you start growing ... at which point you'll annoy your employees by forcing them to switch to a system they're not used to for reasons they don't understand.
When I say the system was developed overnight, I literally mean it was developed overnight by a single developer. We didn't spend weeks of unnecessary time on it. It's a simple solution that works for us at this present time.
The only resources we're "pouring" into it is a dedicated server, which we already had available to us. Since we're a smaller company we'd rather focus on scaling our app instead of our to-do list. When the time comes to expand our team, we'll adapt and overcome. I don't see any reason to abandon what works for us just because of the "what if's."
Sure, some may feel our solution is a bit too much but that's okay. We spent a lot of time looking for something comparable and decided to create our own instead. It may not work for you, but it has created measurable results for us.
That wasn't so much meant as a suggestion to you as a warning to others. When companies grow, which is one of those "what if's" that should be considered, home grown systems tend to lack features that the organization needs.
When you're setting up processes in a company it's important to realize the resentment that you'll be up against if you change them later.
http://en.wikipedia.org/wiki/Parkinson%27s_law