If you’ve ever been through the entire development cycle of a software project (and actually seen the project to fruition in production) you know the madness that can ensue at the very end of a project. I would suggest that it doesn’t have to be painful at the end like that. When you have the stress of all eyes on you (which happens when you have an actual single deliverable with an actual deadline and budget), the best way to eat the elephant is one bite at a time.
The elephant is the complete and utter satisfaction of your customer.
How do you give the customer complete and utter satisfaction during the journey to fruition and once the product is delivered?
***** Information *****
I know. Scary isn’t it? Keeping your customer thoroughly informed along the way leads to lots of meetings and wasted time, right? It doesn’t have to.
The big question is how to disseminate that information to the customer. I have four high-level suggestions listed here:
1.) Every project I’ve ever been on has some collaborative software program (these days SaaS) that lets the client see what he/she is given access to during the progress of the project.
Some project managers open the floodgates to all the information in the project (even that sacred communication between developers). In my opinion, this is disastrous. Not because you should have anything to hide, but because if your client wanted to manage this project he wouldn’t have hired you in the first place.
I’ve found one of the ideal ways to set up this collaborative space is much like you set up your project management software (whether it is MS Project or any other application). Define timelines for each task and keep those timelines updated. Only give your client access to the highest level of those tasks (he really doesn’t care that Bob needs to change a transformation in his ETL process for the database transfer). Clients want to see those bars moving. Yes, they might have questions, but I will touch on how to handle those questions below.
2.) Engage your development team every single week – without exception – from the start. Require written updates input into the project/task management system with details from each team member on: where they are at on that task, what roadblocks they have to completing a taks, and how long it will be before the task is done. Yes, it’s a pain for developers and team members to do (I’ve been a software developer for almost 20 years now – trust me I know). However, this rolls up into what is visible for your customer so they remain engaged in seeing those bars move toward completion.
3.) FOLLOW UP. Your job as a project manager is to MANAGE. Don’t slack. Thinking that taking one week off from following each members progress is deadly. Ask questions when you don’t understand something and make sure you really understand the answer you are given. Post follow-up comments your customer can see so they know you are actively managing the team (and subsequently the client’s money and time)
4.) The final point I would make is to be honest with your clients. When you are going to miss a deadline or go outside a budget, tell the client up front. Withholding that information is deadly to your relationship with that client. Come prepared with an explanation and your plans to resolve the issue. Anticipate your client will be frustrated, but likely will be comforted by your clear plans.
Most projects can be completed on time and within budget with the right planning and experience. You will make numerous mistakes along the way, but mistakes lead to wisdom. Wisdom makes for a great project manager and projects completed to a customer’s satisfaction.