Every once in awhile one comes across a project which turns out to be an absolute balls up…things take way longer than expected, everyone is shooting from the hip, no-one knows who’s really in charge, the main boss is domineering and never wants to delegate, basically in the words of the CIA agent (J.K. Simmons) in the movie Burn After Reading – “What a clusterfuck!”
So, here is my list of things which should to be done to get a project on the right track…most of them should have been taught in Project Management 101, but hey it seem that some people don’t know about them:
- When a project is started…please tell the project manager that he/she is actually the project manager.
- The project manager should ideally be involved in the project from the beginning and not just brought in when the shit hits the fan.
- Tell the project manager what the main priority for the project is. Is it time, features, quality, people, cost…and NO it can’t be more than one…NO!!
- Rank the features in the application according to priority, so that when push comes to shove, and it will, the PM knows what to concentrate on and what can be left to a later stage.
- Please try to tell the project manager what his responsibilities and what the project involves
- Don’t overrule the project managers decisions or undermine him…otherwise, you might as well hire a monkey from Primate Programming. Let the man do his job!!
- Have clear communication channels about who should make decisions…a project should be run like a tight ship with clarity about these things. We can’t have a monkey jumping on the band wagon every time they want to make a change or don’t agree with something.
- Listen to your technical staff about what they recommend and please take their advice on board…they do generally know what they are talking about – honest 🙂
- Never override a developer estimate and never force him to do it quicker than he originally said he could…this will result in bad and buggy code.
- If it could screw up, it will…oh yes it will, trust me!
- Don’t do testing in the evening and yes you do need to hire a tester…
- What constitutes project completion? What are the release criteria? And who will sign it off? Will that person be available to sign the project off, or will they be on holiday?
- Get a decent PM, decent designer, a decent programmer, a decent sys admin…you need these people, so just hire someone good and pay them what they want.
- Get a prototype out asap, so that you can prove the concept actually works
- Don’t skimp on infrastructure to save costs on IDEs, servers etc. This saving will bite you in the bum at a later stage
- And let us not forget…get the developers to use the source control in place…it’s there for a reason, so get them to use it damn it!
There are loads more points that could be added to this, but I think the post will become more of an essay then, so I’ve tried to include the most obvious ones. I have experienced most of these things and the question I keep asking is “What is this? Amateur hour?”. So, good luck to all the PM’s out there – Give it horns!