Project management

Project management is the art of planning, organizing, and managing resources to bring about the successful completion of your project. While that is a good definition of project management, it doesn't say anything about how your project is managed. This page is designed to accomplish that goal.

So what do you need to manage a project successfully? Let's set the criteria:



32_pm-realistic-visionRealistic Vision of the Solution

This may come as a shock, but to manage your project successfully we're actually going to need a clear, realistic vision of the solution. Otherwise, all the unknowns (features we missed, but needed) are going to pop up at the worst times and harpoon our project plan.


32_pm-realistic-scheduleRealistic Schedule

You can be the best project manager in the world and have the most talented team, but if your schedule is 3 months long and the solution is going to take 9 months, you are in trouble. Without a realistic schedule, your project is going to be late, over budget, and deemed a failure. But often times, people have unrealistic expectations when it comes to the time required to build custom software. As project managers, it is our job to set a realistic schedule, even if it means telling the client something they do not want to hear. The alternative is unpleasant.


32_pm-best-precticeApply Best Practices

Managing software projects may be an art, but you are going to have to rely on science if you want to do it right. The Project Management Institute's Body of Knowledge (PMBOK) is a great set of practices (which we use) to structure, plan and run a successful software project. Winging it isn't an option.


32_pm-onlineOnline Project Management

One of the best ways to manage a project is to provide transparency to the entire process. By transparency, we mean making it obvious to everyone exactly where we are with regards to the schedule. For example, let's say our project plan listed "Coding" as a major task. It requires 8 weeks to complete. Then I provide an update weekly, with our progress moving from 30% complete, to 40%, etc. In our opinion, that's a black hole. Except for that number, you have no idea how the project is going. And when the task gets to 90% it could stay at 90% for a while.

A better way to structure a project would be to break out the "Coding" task into many smaller tasks. For example, "Billing Module", "Monthly Transaction Report", etc. That way when you get the weekly project plan, you can see exactly what the team's accomplished, and what's left to do. An occasional demo of the current version goes a long way towards building credibility, too. So when we mention transparency, we're talking about providing more than just a "trust me". The plan needs to be structured in a way you can understand it.


32_pm-1-more-thingOne more thing about project management.

It's not enough to simply rely on transparency and cool tools to get the job done. A project manager has to be committed to achieving your stated goals, which sometimes means working long hours, weekends, traveling across the country on short notice, and pushing to get things done. Creating custom software is a lot like having a baby. The fun doesn't really start until the end. It's like custom software doesn't want to be born, and we have to push it out with a lot of effort. That's when your project manager matters the most.