HomePractices Page 5 - The Art Of Software Development (part 5): Adding Value
Going The Whole Nine Yards - Practices
So you think releasing a software product is the end of theroad? Not by a long shot! In this final article, find out what goes intothe post-release phase of the software development cycle...and how youcan use it to make both your customer and your accountants happy.
As a professional software developer, it's important to understand thatyour relationship with your customer doesn't end with the delivery andinstallation of the software. Customers today expect their vendor tosupport them in the deployment of the software as well - which is whyyou should also consider offering your customers the followingvalue-added services in the post-release phase of a software project:
1. Technical support: In the initial days and weeks following theinstallation of your software, your customer is bound to have questionsabout the operation of your software. Most often, these questions can beresolved quickly over email or telephone, and they drop in volume asyour customer acquires familiarity with the software.
However, for large projects which involves hundreds or thousands ofusers and administrators - for example, banking software systems -consider working out a commercial arrangement with your customer fordedicated product technical support. Such an arrangement offersadvantages to bothparties: the customer's comfort level goes up with the knowledge that heor she has the backing of a professional team of engineers who arefamiliar with the software, and the vendor acquires both a new revenuestream and a toehold into the organization for new product offerings andservices.
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 whenwas the last time you ever read a manual? Consequently, many largeorganizations prefer to give their employees one-on-one training on thelive system - and, as the developer, you're obviously the best person todeliver this training.
Of course, teaching is a very different skill from software development,and organizing a successful training session, especially if it's at thecustomer's site, is a fairly complicated affair - which is why youshould always hire a professional to take care of it. Provide thisprofessional with all the information your developers have about thesystem, and then watch closely as he or she magically turns the confusedmass of information into an organized syllabus, complete with practicalexercises, spot quizzes and a certification examination...all designedto get the relevant information across to end users as effectively aspossible.
The results of a good training exercise are always immediately evident:fewer support calls, greater productivity and a happy customer. Whichbodes well for your chances when the next contract comes along.
3. Updates: If your application needs to be updated on a regular basiswith new features or content, consider having your customer contractthis task to your organization. Work out regular schedules to reviewuser feedback on the application, make modifications to the software tomake complex tasks easier and simpler for the user, and evolve thesoftware to meet new customer requirements over time. This allows yourcustomer to concentrate on other things, secure in the knowledge thatthe application is being maintained professionally, and provides youwith both revenue and new business opportunities, in the form ofadditional product and service offerings.