Developing Supportable Software

There is a lot to consider when developing a software system to be offered to customers.  For instance, it must meet functional requirements.  It must perform well, be secure, and scale according to the demands of your business.  It must be supportable.

There are things you can do as part of your design process to maximize supportability, and much of your success in this area will depend on team dynamics.  Good news – both of these are largely within your control.

Supportable Software Defined

Let’s start with a definition.  For the purposes of this discussion, supportable means the efficiency with which a software system operates.  Strategies that I have seen work well are as follows.

Self Service Wherever Possible

Your first priority should be to empower your end-users to do all that they can themselves.

This has less to do with providing detailed documentation (they won’t read it), but more to do with creating a self-guiding, intuitive user experience.  A well designed user experience lends itself to elimination of a user manual, and also shifts workload from your support staff to your customers.

For example, the airlines would prefer you to check-in and print your boarding passes at home rather than take up the time of one of their agents at the ticket counter.  At my company Talksoft, we implemented a step-by-step ‘Setup Wizard’, walking the user through steps needed to get them up and running, minimizing the amount of time they spend on the phone with our support staff.

Automate Support Processes

Within a technology company, some issues can be handled by your support staff, and more complex ones must be escalated to your (more expensive) engineering team.  The proportion of issues that fall into each category can be influenced by your tools and processes, and will affect your efficiency.

For those tasks that don’t lend themselves well to self-serve, provide tools to enable your support team to research and handle issues as efficiently as possible.    For example, are there common problems that it takes a programmer’s SQL expertise to track down ?  Is there information that would be useful in troubleshooting a problem that is only available to IT staff or systems administrators ? Build those into administrative screens and make them available to your support team.

Here are some tools you can make available to your support staff to enable them to handle a larger proportion of inquiries:

  • Administrative Edit Screens – screens only available to support staff to enable data edits not available to end users.
  • Prepackaged Queries – useful queries that present insight into what’s going on in the system to your support staff.
  • Dynamic Documentation – a wiki or some other means of providing in-context, easily editable documentation that your support team can contribute to to make their jobs easier.

Team Dynamics

The level of supportability is inevitably in the hands of your programming staff.

In my experience the single most significant factor in fostering innovation in the supportability of your software is to align their interests with that objective.  Let’s face it, programmers would prefer to be writing new code than tracking down problems in code they already wrote.  Therefore, having your programming staff responsible for supporting existing systems in addition to their R&D efforts will properly align their interests in minimizing support time.

Conclusion

Effectively implementing your feature set is one thing, but operating your service for your customers is quite another.  Enabling self-serve and empowering your support staff as much as possible will minimize supports cost and enable a great user experience.

 

One comment

  1. and well done at Talksoft! Another ingredient not mentioned but contributes to the success of all this at Talksoft by this team is Caring. Caring that your customers are enabled and caring that your co-workers are not burdened. Caring about the efficiency of it all and valuing human resource time of customers and team members. Thank You Steve and Team!

Leave a Reply

Your email address will not be published. Required fields are marked *