The Art Of Software Development (part 5): Adding Value - Going The Whole Nine Yards (
Page 5 of 6 )
As a professional software developer, it's important to understand that
your relationship with your customer doesn't end with the delivery and
installation of the software. Customers today expect their vendor to
support them in the deployment of the software as well - which is why
you should also consider offering your customers the following
value-added services in the post-release phase of a software project:
1. Technical support: In the initial days and weeks following the
installation of your software, your customer is bound to have questions
about the operation of your software. Most often, these questions can be
resolved quickly over email or telephone, and they drop in volume as
your customer acquires familiarity with the software.
However, for large projects which involves hundreds or thousands of
users and administrators - for example, banking software systems -
consider working out a commercial arrangement with your customer for
dedicated product technical support. Such an arrangement offers
advantages to both
parties: the customer's comfort level goes up with the knowledge that he
or she has the backing of a professional team of engineers who are
familiar with the software, and the vendor acquires both a new revenue
stream and a toehold into the organization for new product offerings and
services.
2. Training: If the delivered software is complex or highly specialized,
users may require special training in order to make effective use of it.
Sure, a manual was probably delivered along with the software - but when
was the last time you ever read a manual? Consequently, many large
organizations prefer to give their employees one-on-one training on the
live system - and, as the developer, you're obviously the best person to
deliver this training.
Of course, teaching is a very different skill from software development,
and organizing a successful training session, especially if it's at the
customer's site, is a fairly complicated affair - which is why you
should always hire a professional to take care of it. Provide this
professional with all the information your developers have about the
system, and then watch closely as he or she magically turns the confused
mass of information into an organized syllabus, complete with practical
exercises, spot quizzes and a certification examination...all designed
to get the relevant information across to end users as effectively as
possible.
The results of a good training exercise are always immediately evident:
fewer support calls, greater productivity and a happy customer. Which
bodes well for your chances when the next contract comes along.
3. Updates: If your application needs to be updated on a regular basis
with new features or content, consider having your customer contract
this task to your organization. Work out regular schedules to review
user feedback on the application, make modifications to the software to
make complex tasks easier and simpler for the user, and evolve the
software to meet new customer requirements over time. This allows your
customer to concentrate on other things, secure in the knowledge that
the application is being maintained professionally, and provides you
with both revenue and new business opportunities, in the form of
additional product and service offerings.