Many projects fail because of the simplest of causes. You don’t have to be a genius to deliver a project on time, nor do you have to be steeped in a mystical project management methodology to be a project manager.
Here's a checklist that we go through for our projects.
I. Know Your Goal
It sounds obvious but if you don’t have an end-point in mind, you’ll never get there. You must be able to clearly state the goal of your project so that anyone can understand it. If you can’t adequately describe your goal in a single sentence then your chances of achieving it are pretty slim.
II. Know Your Team
Your team is the most important resource you have available and their enthusiastic contribution will make or break your project. Look after them and make sure the team operates as a unit and not as a collection of individuals. Communications are vital. Invest time in promoting trust and ensuring that everyone knows what they have to contribute to the bigger picture. Dish out reward as well as criticism, provide superior working conditions and lead by example.
III. Know Your Stakeholders
Spend time with your stakeholders. Stakeholders will either contribute expert knowledge to the project or will offer their political or commercial endorsement, which will be essential to success. Shake hands and kiss babies as necessary and grease the wheels of the bureaucratic machine so that your project has the smoothest ride possible.
IV. Spend Time on Planning/Design
A big mistake traditionally committed on projects is to leap before you’re ready. When you’re under pressure to deliver, the temptation is to “get the ball rolling.” The ball, however, is big and heavy and it’s very, very difficult to change its direction once it gets moving. You need to spend time deciding exactly how you’re going to solve your problem in the most efficient and elegant way.
V. Promise Low, Deliver High
Try and deliver happy surprises and not unpleasant ones. By promising low (understating your goals) and delivering high (delivering more than your promised) you:
· Build confidence in yourself, the project and the team
· Buy yourself contingency in the event that things go wrong
· Generate a positive and receptive atmosphere
Consider this: if you finish early everyone will be happy; if something goes wrong you might still finish on time and everyone will still be happy; if things goes really badly you might still not deliver what you anticipated but it will still be better than if you over-promised.
VI. Iterate, Increment, Evolve
Most problems worth solving are too big to swallow in one lump. Any serious project will require some kind of decomposition of the problem in order to solve it. This works but only with close attention to how each piece is analyzed and resolved and how the whole fits together. Without a systematic approach you end up with a hundred different solutions instead of one big one.
VII. Stay on Track
Presumably you have an end goal in mind. Maybe it’s your job, maybe your business depends upon it, or maybe you’re going to revolutionize the world with the next Google. If this is the case you need to work methodically towards a goal and provide leadership (make decisions). This applies whether you’re a senior project manager running a team of 20 or you’re a lone web developer. You need to learn to use tools like schedules and budgets to keep on track.
VIII. Manage Change
We live in a changing world. As your project progresses the temptation to deviate from the plan will become irresistible. Stakeholders will come up with new and “interesting” ideas, your team will bolt down all kinds of rat holes and your original goal will have all the permanence of a snowflake in quicksand. Scope creep or drift is a major source of project failure and you need to manage or control changes if you want to succeed.
This doesn’t imply that there should be single, immutable plan, and all other ideas must be stifled. You need to build a flexible approach that allows you to accommodate changes as they arise. It’s a happy medium you’re striving for — if you are too flexible your project will meander like a horse without a rider and if you are too rigid your project will shatter like a pane of glass the first time a stakeholder tosses you a new requirement.
The best way to handle this is to have a plan, to update it regularly and make sure everyone is following it and pointing in the same direction.
IX. Test Early, Test Often
Projects usually involve creative disciplines loaded with assumptions and mistakes. The only way to eliminate errors is through testing. Sure you can do a lot of valuable work to prevent these mistakes being introduced, but to err is human and some of those errors will make it into your finished product code. Testing is the only way to find and eliminate errors.
X. Keep an Open Mind
Be flexible. The essential outcome is delivery of the finished project to a customer who is satisfied with the result. Any means necessary can be used to achieve this and every rule listed above can be broken in the right circumstances, for the right reasons. Don’t get locked into an ideology if the circumstances dictate otherwise. Don’t get blinded by methodology. Focus on delivering the project and use all the tools and people available to you. Keep an eye on the schedule and adjust your expectations and your plan to suit the conditions. Deliver the finished product, promote its use, celebrate your success, and then move on to the next project.
Copyright 2009 All rights reserved