Project Management – Features
Posted by Kurt on Wednesday, May 26, 2010 in category:
In this post I’ll be going over the more overarching feature set that Andy and myself planned out at several lunch meetings. I suppose this is the post that should have happened first, this being the distillation of my raw notes from which came those data structures.
We started talking about this because we needed some way of managing our productivity. Most project management is for very complicated software development and we needed something more general. We also believed that the program should be brain-dead simple to use so that we would actually use it. There should be very few clicks for commonly used features like time tracking, and more clicks allowed for document management and invoicing, but it should still be quick and simple. Andy and I also wanted to be able to replicate some of the better parts of other applications we’ve come into contact with like Salesforce as future add-ons or plugins. I want to take baby steps though since I am the sole developer and thinking too large is the number one killer of a good idea.
Quotes and Invoices
The feature we wanted the most was quick and easy quote and invoice generation. We also wanted to be able to easily create invoices from quotes. I already made an Invoicing System for the Mason Media Lab, but that had a lot of very specific functionality. It would be great to create a system that is customizable enough to replicate that functionality and much more when set up properly, but that’s way beyond the scope of this initial iteration.
One function of that Invoicing System was PDF generation which I am certainly building into this application. It’s as simple as creating a view that outputs a PDF. The eventual goal is to make the PDF customizable, but creating an interface for that is way beyond the scope of this iteration. It would be much more feasible to allow users to create new templates that standard data is dropped into. Even this would require some amount of PHP knowledge, but it’s not terribly difficult.
Quotes should have version tracking. Every time a quote is updated, a copy is created and the changes between any two given revisions are noted automatically by the application. The user should be able to optionally add revision notes. This is mostly a tool for when the client asks about previous quotes.
Invoice items need the option of having an associated image. One of our larger clients had a previous designer who would present each invoice with a separate attached page with screen shots of work on it. We thought this was a very good idea and gives the client the impression you are going the extra mile for them. If any invoice items have associated images, by default the application will generate an invoice with an extra page that has them all laid out labeled by item number.
Some projects are invoiced as a fixed price for an item, others as hourly. This system should be flexible enough to handle both. For the case of single, package-priced items, it is nice to have it laid out on the invoice like so:
- Huge freaking database application
- Laundry counting, sorting, viewing
- Statistics on different kinds of dirt found on garments
- Garment owner tracking, sock pairing
- Reporting by owner, garment, dirt. Export to CSV
- User management with privileges
- Searching for… everything. It’s not clearly defined yet.
- Projects have categories (print, web, video, animation, mobile)
- Blanket discounts on invoices
- Tracking of total quote prices and total valid invoice prices for some basic accounting
- Hours tracking on projects, eventually per user
- Projects have statuses for tracking success
I should make it clear that this application is being developed to fit our company’s needs. We’ve been taking feedback from our clients of what they’d like to see in such a program and they’ve responded, but the following are features that are not in our initial plan:
- Time sheet API to interface with industry-standard and compliant time tracking to link that data to internal projects
- Create project templates
- Tasks can have documents associated with them
- Option to make single tasks or entire projects public or share via email
- Allow guests to upload these documents
And that about covers it. I’ll be writing here in the future with development updates for my own organizational needs and for anyone else who cares.