Every seasoned developer has taken the journey of extensive planning, months of development, and thousands of tests in an effort to release new updates/software. At times, it felt like an uphill battle or an emotional roller coaster. Many hours of blood, sweat, and tears went into the final product. Once the release was completed, everyone collectively breathed a sigh of relief. It's common for programmers to have the feeling of "that's finally done," but is it? Many believe this is the end of a development cycle as they ready themselves to move onto version 2.0 or the next feature set. This is an unfortunate view, because building software is only half of the puzzle. The other half is providing exceptional customer service. Believing this is not necessary or moving forward without it is where many products lose focus and ultimately customers.
The simple utterance of the phrase "customer service" to a programmer usually receives a "not my department" response. It doesn't matter if the software is an internal solution, B2B, B2C, B2G, free, or paid; in business everyone has a customer. Some might seem more obvious than others. For a programmer, anyone consuming his/her software is a customer. This can include IT departments, account managers, customer service groups, or actual customers. It's not wise to discount customers, as they are the life line of any product. Without them, even the most innovative concepts will fail.
With this knowledge, how should customer service be approached? It starts with acknowledging the need and setting aside the appropriate time. This will vary from project to project. This can be accomplished through dedicated resources or simply designated resources available to help. Using a task management system such as a Kanban board is also helpful in tracking problem resolution. Supporting a product should not be limited to fire-fighting or squeaky wheel issues such as slowness, bugs, or errors. It also extends to helping customers and having conversations about the product. From the moment software is released, it will continue to depreciate. Turning the likes, dislikes, and recommendations of customers into substantive change is what makes a good product great. This connection also creates amazing, loyal customers.
On a side note, it's important to balance recommendations from customers against the overall direction of a product. At times, difficult decisions may disappoint some customers but are necessary to drive toward a larger goal/direction. Do not discount those concerns. Spend the proper time to understand, communicate, and educate everyone involved.
To enable continuous, productive conversations, a proper feedback loop must be in place. For agile companies, this is a core tenant of the Agile methodology. These loops can be direct connections with customers such as phone calls, emails, or "live chat" conversations. Or customers can communicate through indirect options such as forums or "request a feature" functionality. Providing the ability for customers to vote on ideas is also a big win. Additionally, as a product grows, identifying advocates and providing them with tools can greatly help the communication pipeline.
Always remember, "If you forget about your customer, they will forget about you."