The Importance (to us) of Project Tracking
Every business will have a different limiting constraint at any point in time. For a software consulting company it could be things like their capacity to sell projects, spec them, build them or test them. For us, where we often have 20-30 projects live at any given time, the limiting factor is project tracking . . .
For most consulting businesses with a relatively small number of relatively large projects, project tracking (being able to easily see and manage the status of projects) is important, but it isn't usually critical. However, because we handle a large number of projects, we probably spend almost as much time in switching costs (getting up to speed with projects each time we need to touch them) as we do in actually servicing them (the unintended consequence of the servicing being so efficient). I also find that often a project where we're waiting for input from a busy client can fall between the cracks for a while, and we seldom have a really good sense of exactly where we are at with all outstanding projects at any point in time. It's also been known for us to not invoice a project on completion and we have no really good metrics of things like our lead times from quote to spec, spec to build, build to deploy and other interesting metrics from a lean perspective.
One of the things I'm thinking about right now is a system which is somewhat flexible (to support different project types), but that allows us to easily describe and implement automated workflows for projects so we can do things like track the amount of time clients were waiting for us and the amount of time we were waiting from them, so that we can automatically have reminder emails sent out to contacts (us, partners and clients) if they have outstanding tasks, and so we can automatically go through check lists when comps are delivered or when a site is about to be launched to make sure we don't forget to do any of the things (like purchasing and setting up secure certificates) that could slow down projects. I'm also thinking of adding automated invoicing to the system and the ability to see financial reporting such as amounts invoices, projects won/lost, etc to give a better ability to track the leading financial indicators and to more accurately set targets to help us to achieve future financial goals without having to spend time building such reports by hand.
Of course, I'd also want such a system to act as a central repository for client communications, client sign offs, project assets (comps, graphics, etc) and the like to provide a "one stop shop" for all information related to client projects (and aggregate reporting on a partner level).
Anyone else been played with building a system like this? Any thoughts/experiences? Would you like a system like this? What would YOU like in a system designed to improve the efficiency of building web apps? Any input appreciated!



I have found http://projecttracker.riaforge.org/ to be pretty handy but no time tracking at the moment.
http://www.vertabase.com/tour_manage_report.html Vertabase has a hosted solution (CF based) though I haven't used it. In fact they are hosting a BOF CFML future at Max http://www.vertabase.com/blog/your-ideas-for-the-f...
As for the invoicing, I am skeptical. It would be handy to see what has invoiced and not invoiced. What has been paid or not paid and how old. But I would expect that invoicing actually comes from quickbooks or some other system.
The toughest part for me is timesheets. I hate them but they are needed to track hours, and as you have mentioned in past posts track estimated vs actual. Did that CSS change really take that long??? etc. Having an AIR app on the desktop to help track that would be super, and I think some of the company solutions are going in that direction now.
Last but not least, we built a full IMAP client into it (CF consuming Java sendmail ftw) and allowed incoming emails in anyone's mailbox to be quickly converted to a calendar appointment, a project task, or even a message board thread, which really cut down on the whole "who has that critical email from so-and-so client??" thing.
Highly recommend such an approach, particularly for situations where many projects are in process at one time, which is exactly what we had, too.
@Jason, Yep - this is the direction I'm going in as I see the ability to use such a current system could be a competitive advantage and therefore something that you wouldn't want to outsource/use off the shelf.
We simply started with Client > Project > Status. That was right when we started to hit that "I can't keep this all in my head" stage. Over time, we added Requirements > Tasks, and then with Tasks, why not also Appointments (both were Calendar events). Once we had tasks, it was easy enough to add Time Tracking, and once we had Projects it was easy to add Message Boards to every project and client ... etc.
Basically, because project management and development are so clearly flow-driven, it was fairly effective to allow the management framework to grow organically as the "next big need" arose. Best of luck with getting started :)