Photo by: Helloquence
There is an ongoing debate in the IT world of what is better: a client that has experience in IT or not; client who knows what he wants or client that leaves everything to the IT team. Here are a some thoughts on the different scenarios.
1. Client with NO technical or software development background that is NOT interested in being involved in the process of development.
Everyone does what they do best. There was this famous quote by Steve Jobs “it doesn’t make sense to hire smart people and tell them what to do, we hire smart people so they can tell us what to do”.
Lack of communication. People speaking different languages might end up enriching each other, but might also end up lost in translation.
Make him participate. Provide as clear communication as possible, that will make it easy for the client to process the information and be involved.
Focus on the requirements. In this case you should gather as much information from the client as you can, foreseeing as many scenarios he didn’t think of as you can.even if he is not interested in that and It is crucial to analyze the business case and prepare a functional analysis prepare good business analysis that would be presented to him and let him decide he will decide what business value do the proposed feature have for her business. is in the system that you are proposing to him.
Work agile. Involve the client throughout the process, communicate on small milestones to make sure whether this is what the client really wants and confirm the business value of the features you deliver. Even it the features list is confirmed after the functional analysis, put the priority on what is good for the application and not on what was agreed. “Human interaction is more important than documentation. Arriving at the end of the project and figuring out that the whole logic of the application is wrong is definitely not what neither the development team nor the client wants.
2. Client with NO technical or software development background that IS interested in being involved in the process of development.
He is your partner, helping you analyze the business and find together the most suitable functional solutions.
The non technical client being involved in the process might interfere in the technical work and led to poor technical decisions.
Be strong. Being non technical doesn’t mean without opinion. You might get in a situation where the client insists on a technical solution (obsolete or not suitable technology for example), and obeying the rule “the client is always right” might lead to poor decisions.
3. Client who has experience in software development but does NOT get involved in the process of development (Lacks free time…).
This kind of client knows what you are talking about and understands the solutions offered to him.
Having the critical thinking of somebody who is knowledgeable, but not involved might make the decision making process tough and therefore lead to lower productivity and motivation.
Agree on everybody’s role and responsibilities before the project starts to avoid potential problems in the future.
4. Client who HAS experience in software development and IS involved in the project.
A partner, who knows what you are talking about. This is actually the dream client of every developer.
Your ego might suffer 😉
Do not keep secrets and talk about any kind of a problem connected with the project, trust them because they are the crucial part of your team.
If you ask me about my personal favorite type of client, I will for sure choose option 4.. You have additional member in the team for no cost who loves the project and knows perfectly the expected outcomes from the application. With day to day actions he, she or they will easily solve possible ongoing problems and at the end will know perfectly how to use the new tool that is delivered. I was happy to meet my dream client in the recent past and be currently involved in the development of her project.