Software companies often choose to rollout new products by having their developers work directly with beta test customers. But is this really a good idea?
Not really, but let’s understand why not, and then consider a couple of best practices if you just have to do it anyway…
Developers want to focus on writing great software.
Having developers speak directly with customers about bugs they’ve found in their product is far from appealing. When they have the freedom to choose between writing enhancements or catering to “whining” beta customers, they often choose to put off fixes and adjustments, resulting in louder whining from those same customers. A dedicated support group is ideal to keep your customers happy, and your developers developing.
Developers often can and do view the world differently from “real world” customers.
Years ago, I worked with a customer who had a mainframe that was persistently crashing. A 500-page core dump of his system revealed a particular sequence of punctuation marks in a document would cause the machine to crash, taking down hundreds of users. When brought to the developer’s attention, his response was: “tell the customer to quit using those punctuation marks in their documents”.
In a way, this was a “correct” response, but inappropriate for that customer (and really any customer). In this situation, it would have been a mistake to have the developer’s viewpoint communicated directly to that customer.
Developers make their greatest economic contributions to a company’s success when they are focused on developing, not communicating with customers or orchestrating rollout projects.
This is really just common sense. Company shareholders want new products with new features, and they want them as fast as possible to capture market share and drive company value. Tying up developers in implementations is not a recipe for success.
So if using developers to “own” rollouts is a bad decision, what are your “good” choices? Essentially they are twofold; either turn over rollouts to an dedicated internal field team who are intermediaries to your developers, or choose to obtain the same engineering and operations support capability from a third party.
But…what if despite everything, your developers MUST handle a rollout anyway? What should you do to try and improve its chances of success?
- Designate one of your lead developers, the one with the best communication skills, as the “account manager” and focus all sensitive communication through him or her.
- Devise a written off-hours emergency plan for the beta test rollout. No matter what, customer issues happen after hours and they must be addressed, whether you like it or not. Having frustration fester because customers can’t talk to anyone is a recipe for disaster!
- Implement a defect (or bug) tracking system specifically for the rollout. There are many capable software choices out there. Customers like to know their issues are being tracked and prioritized, and developers need the rigor that such systems impose on their tasks.
Obviously doing just these three things deflects developers from their “normal” priorities, but ignoring them can jeopardize customer relationships.