Creating Solutions For Your Client’s Customer
Customer development isn’t something software developers think about too much when creating apps or programs. As long as it’s up to spec and has no major bugs, it’s ready for release. These days, though, it isn’t enough to just produce solutions for clients; you must consider your client’s own customers as well.
Why do you need to do this?
Since most of the software requested by clients is used by yet another third-party (an employee or a paying user), it makes sense to know what they need as well. After all, if the client’s customers don’t receive what they wanted, the client becomes unhappy as well; something we don’t want. By keeping both your client’s requirements and their customer in mind, you can create a solution that works best for everyone involved.
Also, by taking the initiative and learning about their customers, you’re showing your client that you are on the same wavelength as them. This will help you increase your knowledge base; something you can tap into when serving other clients in the same industry.
For example, Dell allows its engineers to talk directly to customers through their TechCenter. By giving engineers insight into how customers use their solutions (sometimes in ways even they didn’t imagine) has led to subsequent releases reflecting their customers’ desires more closely.
Using problem solving to create solutions
Before you even type your first line of code, you need to hone in on the problems your client is facing in order to better assist your client’s customers. While your client or a business development guy could do this, first-hand information is still the best way to learn what needs to be done. Effective problem solving can be achieved by following these four steps:
1. Define the problem
2. Generate alternatives
3. Evaluate and select alternatives
4. Implement possible solutions
Defining the problem is a key step in creating an effective solution since you first want to ensure that you are dealing with the real problem and not just solving the symptoms. Look at the issue from several different perspectives so that you can easily analyze its complexity and find the root cause. Once the real problem or pain point has been successfully identified, you can easily come up with possible alternatives as solutions.
Collecting customer input
Interview customers to learn more about their problems. Present the customer with your prototype solutions (drawn on pen and paper) so that you can check which are viable and which aren’t. Present your findings to the client and get his input as well. After all, he still knows his customers better than you.
Creating a solution
Now that you have the data, convert it into a viable solution and don’t forget to log any user data that will help you learn more about your client’s customers. Include a way for the customers to send direct feedback as well, such as a contact form, email address, or bug reporter, so that they can actively participate in the further improvement of the solution.
As always, analyze any of the feedback you gain and convert it into features that you can add to future releases of your software. By making the end customer part of the conversation between you and your client, you not only create a solution that works, you also set yourself up for success by helping build your client’s business.
Going back to the Dell example, a conversation resulting from a TechCenter promo tweet revealed that an administrator switched from their current solution to Dell because it was easier to use. The administrator cited the engineers’ continual improvements to meet customer needs as the reason for the switch.
So, think about your client’s customer; it’s a win for everyone.
- Define the problem
- Generate alternatives
- Evaluate and select alternatives
- Implement possible solutions