I’ve been in several IT projects where the client controlled, or attempted to control every aspect about the project. They are the client, and they deserve a say in the project, especially since they hold the purse strings. However, I’ve often seen times where the client dictates the vision when not really understanding the technology, openly argues with consultants / managers over failed delivery, and just plainly gives people a headache.
This relationship goes both ways, with the consultants often times exacerbating this relationship by providing unrealistic deadlines, limiting communication to monthly progress reports, or withholding information from their clients. This client – consultant relationship goes both ways, but it can be salvaged. How can you prevent your team and the client becoming antagonistic towards one another? Well, using an Agile Methodology in your projects is something that definitely helps. Here are some ideas around how to use Agile and some of its project management tools to establish or improve your relationship with your client (or suggestions you can give to your consultants).
Many activities in Agile Project Management are meant to be open, with lots of communication involved! Opening up your Sprint / Release planning sessions to the client allows your client to see what your team is working on, the major milestones coming up, and the core team dynamics. With this level of open communication, the client sees the total picture of the development effort. Using tools like JIRA, Trello, TargetProcess, the client can see which tasks are assigned to specific resources, and how they are progressing along.
Monthly reports are a little too few and far between, especially when you are in crunch time. Establish a weekly check point where you sit down with your client and speak to the core milestones. Discuss roadblocks and possible ways to get around them, highlighting the costs and risks of each approach. Include your client in your daily standups with your team, let the client see your progress on a daily basis.
Be Up Front, Communicate your Shortcomings
If you are going to be late, communicate this immediately and effectively to your client. Do not let the deadline come up unexpectedly. Internally, review your project schedule every week and see where you are in completing your milestones. Functionality which may not make it to this release may be negotiated to get to the next release.
Stop with the blame game
Teams need to stop looking inwardly asking the question “Who is to blame?” If functionality is not delivered on time, it is not one resource who is to blame, it is the team. It goes across the management level to the developers, analysts, and testers. Resolve issues internally before they go over to the client, and develop a team which is self-managed and accountable.
So what’s important? It’s communication to your client and having a relationship where surprises are communicated up front, and the team works together to achieve a common goal. Involve the client (and clients…you should know when you are too involved) in your standups, sprint calls, and release planning activities. Open communication, above and beyond that Monthly Status Report and the Mon