Software Development - Does your client knows what you expect from him and how to do it?
When we start a new software development project, one of our key concerns is (or it should be) related to the methodology that will be used. Whatever it’s defined by the client or by the team, the key goal is to ensure that all team members are comfortable with this choice and they can work and act accordingly.
We always tend to assume that for the client, the how and why of the team’s activities is not relevant since, after all, what should matter to him (the client) is the final result that is delivered at the end of each iteration. I have to admit that this is where I disagree with this approach that has been adopted in the vast majority of the projects I’ve been (and others that I know their reality).
Throughout my life, the most committed and interested clients where those who were given a rigorous explanation of the applied methodology, detailing the how and why of the several activities and artefacts. It also became obvious to me that letting the client know what you exactly expect from him and when, is another important element to take into account. All this context that you give, makes the difference between a committed and motivated client and one that only cares about waiting for the final product to land in his hands.
That being said, I found interesting to share some key aspects to take into account when bringing in your client in order to get him committed and motivated. This will translate into a more valuable cooperation and reliable inputs.
1. Don’t just describe the What. Explain the How and Why.
It’s a fact that the first step to have the client “on your side” is to explain the methodology that you will use throughout the project, especially the key artefacts and activities. However, that’s just the starting point. More important than to describe what will be done, is to explain how it will be done and why it will be done. This will make your client get closer to the team as he will have a much clear vision of what is being developed and how important his is role to accomplish the projected goals.
2. Show your client what happens if he’s not taking his role seriously.
It’s not always easy to demonstrate your client the reason for some of the tasks he may have to perform. Whatever it’s because he’s not familiarized at all with software development methodologies or because he claims he doesn’t have the time, you need to demonstrate this need in the negative perspective. In other words, you need to show him clearly the impact on the project that his lack of help can have. This usually is very effective since it clearly sends the message that the team is counting on him and if someone doesn’t comply, the entire team and consequently the project will suffer. This is the real team spirit.
3. Define the calendar of periodic activities with and for the client.
Sometimes, describing what you expect from you client (especially the stakeholders and the product owner) is not enough to get his full commitment. This is very common for people who have a very busy schedule and also who perform several different activities simultaneously.
To ensure that the agreed commitment matches the reality, establish right from the beginning a set of dates for the periodic events which the client should be part of.
For instance, define that from next Friday onwards, every three weeks, there will be a review meeting that he must attend. Also, from next Monday onwards, and also every three weeks, there will be the planning meeting for the iteration and he's the key player in that meeting.
If you get the client to book these slots in his agenda right from the beginning, then they will be part of his standard schedules.
4. Be available to help the client.
Whatever is because the client received a lot of information in a short period of time or because some of the information he received is not used that often, he will start having doubts and making small mistakes. If these mistakes are not properly clarified and solved, this will make your client to start dropping those activities, just because they are problematic for him. Then, it will be in a blink of an eye until he stops doing any activity, mainly because an additional factor comes into place: Lack of motivation.
Having said that, and in order to avoid that your client gets inside this regressive spiral, you should be able to help him, not only when he requests help, but also to do, pro-actively, some monitoring just to ensure that the client is going in the right direction.