Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

My growing company has a team of developers working on a number of separate projects. Our developers depend on us to keep them working, and we depend on them to make our clients happy. Our projects have differing start and end dates, as you can imagine. The company's responsibility to the developers is to make sure we have clients waiting in the wings so that when one project ends, another can start. For now, finding clients is not a problem and not the topic of this question.

What I'm trying to think through right now is, how can I best measure/view/evaluate the end dates of projects so that I know when I need to start courting the next client.

Is there a tool that does this? If it's just a spreadsheet, what might it look like?

share|improve this question

closed as off topic by gnat, Walter, Bernard, Dynamic, Mark Trapp Sep 29 '12 at 5:35

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

add comment

3 Answers

Is there a tool that does this? If it's just a spreadsheet, what might it look like?

Short Answer: any time is a good time.

I think any resource planning/management tool will do fine. Just look for project management tools like Microsoft Project, MindView, Tenrox Project Management Software, FastTrack Schedule 10 - which are readily available to help with planning.

Longer answer: My understanding of business development is that you always need to lunch new client's. Especially if new client has potential to bring profitable projects to the company. Thus, any new potential client or project should be welcomed.

However, measuring the potential of the team or available resources to deal with the project should be the second thing in the line to worry. Because, one you have secured projects you may do your resource planning and allocation accordingly. In addition, you may hire new staff anytime as you grow, to keep up the company growth.

share|improve this answer
add comment

This is really not much more than a project planning problem - expand the project management to include presales, postsales, post development and non-project related activities (e.g. Developers taking holidays) with resource allocation and your done.

A good tool to use would be Liquid Planner - it's "just another project planning tool" - with a difference - it gives you dates based on statistics, so the uncertainty is contained in delivery dates, which you can then use to make the business decisions. For instance - it wil give you a range of dates for a project - the 10% chance you will be finished them the 50% and 90% etc.

Like all tools - it is easily fooled. It can only report based on the tasks and estimates you give it. If you are doing stuff and not telling the tool, it won't work.

Once you have the planning in place, you can bring in customers/clients and give them accurate ideas when things can be made to happen. If they need it sooner - you have the tools to make the choices (shuffle projects, add resources, sub contract it, decline the work).

One mistake most, if not all, managers make is they think that when the project is "Done" the effort and resources the project uses goes to 0. This never happens, and as a result, the next project gets a poor start and is on the back foot from Day 1. More often than not, these costs are buried in the next projects budget (which is fair as the last project carried the cost of the one before it) - but you never get a great picture of the project activity and all projects start bad.... Allocate 10% of the total project budget (time if that is how you measure) to "post project completion costs".

share|improve this answer
add comment

I would recommend using Collabtive. Now let me say, I am in no way affiliated with Collabtive, I just have used their product and I like it. With that being said let me explain a little bit about it. Collabtive is a web-based open-source project. They have many neat features that you can check out on their site, but I think you would be interested specifically in their milestones and tasklists portions.

The hierarchy goes like this:

Project->Milestones->Tasklists->Tasks

In each project there are multiple milestones. For example if you were developing a program and you wanted to add a new feature, you would put that as a milestone under your main project. (Or if the feature was big enough maybe that would be a project of it's own. It's up to you.) You can set deadlines for your projects or your milestones and right on the first page you are informed on how many days are left before the deadline.

Each milestone has multiple tasklists. So let's say your new feature was a messaging center (which Collabtive has a nice messaging center by the way) you would make a milestone called Messaging Center. And under that you might have a tasklist named Database Management and another one named User Interface. You can set deadlines on tasklists as well. Then under the tasklists, you create tasks and assign them to specific users (again with a deadline).

So under the Database Management Tasklist you might create a task called Design the Database and assign it to your Lead Programmer, Phil with a deadline. And another task called Create the Messaging Class and assign it to Steve, another programmer in your company. And under your User Interface tasklist you could create a task called Design the Layout and assign it to Judy with a deadline.

Whenever new tasks are assigned to people, they are notified via e-mail. And you can change those preferences to make it how you would like. There are also many plugins that go along with Collabtive to make it even better.

As people finish tasks, they can check it off and a progress bar shows how far you have come in that project. Users can also keep track of their hours using a timetracker so you know how long they spent on each part of the process. Anyways, check it out. I like it. I think it's cool. :)

share|improve this answer
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.