Growing up we had a book in our house called "Where there is no Doctor". This is a healthcare book written for developing countries to tackle some basic healthcare issues in a village setting when there was no doctor present. I have never lived in a village but it always came in handy when someone in the family came down with Food poisoning, Malaria or had a fever. There were always quick home remedies that came to the rescue.
In Software Development, it is common to have a Project Manager on the team. Someone who advocates on behalf of the clients to the development team and translates the complexity of the software development to the clients. Sometimes for one reason or another, there is no Project Manager on the team and developers have to take up that role. Managing the human aspect of a project does not come naturally to a lot of developers so I thought it would be cool to share a few things I have learned along the way to fill that gap when there is no Project Manager.
Solidify Project Requirements
Like I mentioned in a previous post about freezing requirements, this is something that software developers have to take seriously. It is easy to fall into the trap of just adding this one little feature because it will take 5 minutes or because you want your good looking client to like you. Drawing a line in the sand is the best way to guarantee a great experience for your clients overall and show that you have a professional process to the way you do things. It builds trust in your process.
Create Project Milestones
It is very tempting once a project is signed off on to go into a hole and start to develop software. It is distracting to break focus as a developer, but creating project milestones is a great way to break up the work and allow both you and your client to take a step back and re-evaluate if the project is moving in the intended direction. It also allows you to delve into the requirements and create more accurate estimates.
Have weekly catch up meetings
If you can only do one thing on this list, this is it. Effective communication is the key value Project Managers bring to the table. There can never be too much communication. This will keep your client in the loop of what is going on. In these meeting discuss what you have worked on so far, what you are working on next and what your current challenges are.This will allow your client build more confidence in your work, create transparency in the project and creates an opportunity to understand other perspectives of your clients' business. This allows you to keep the project on course every week.
Contact clients with issues before they contact you
It used to be my gut instinct to run and hide, when I am running late on a deadline or when there is a huge issue with the project. I have since learned that being proactive on these issues builds confidence with your client, it also provides an opportunity for the issue to be fixed early. By just talking about it, you might encounter a solution and your client will be in the loop on any potential delays coming up.
Offer multiple routes to one solution
Providing multiple solutions to a problem, with the Pros and Cons on each solution and allowing your client to decide is one of the best ways to endear yourself to them. They now become active participants in the project, they get invested and as long as they are part of each critical decision made along the way, you will be guaranteed a satisfied customer.
Make your clients shine
Because customer relations is not the primary job of a developer it is easy for priorities to get twisted. A lot of developers forget that their job is to solve a problem for someone and not for them to gain self-satisfaction or actualization (That is for your side projects). Most clients are part of an organization or they have other clients your solution is supposed to help serve better. Always think about how your solution can make your client a superstar. Credit them for their contributions in meetings, suggest features to the software that will make them standout to their clients or make them look like magicians at their jobs with your solution. Making your clients look like superstars will make your project a success, garner you referrals and lots of repeat business. Everyone loves people who make them look good.
Project Management is a full-time job, it's hard and requires an understanding of technology, psychology, and interpersonal skills. Similar to how a graduate in a village cannot replace a doctor because they can read "Where there is no Doctor" that's the same way you should not skimp on hiring a Project Manager because you have read this post.
But when times are hard, you are stuck all alone in the jungle called business and you need to get things done. These are just a few tips and tricks that might help you save lives, projects and maybe make good friends out of your clients.