HomePractices Page 2 - The Art Of Software Development (part 5): Adding Value
The Real World - 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.
Most often, the customer is represented by a small team during thesoftware development process; this team (sometimes just a single person)is responsible for interacting with the software vendor, approving keydeliverables, providing feedback on the progress of the project andmaking course corrections where required. Consequently, most of thefeatures and capabilities that make it into the final release are basedon the (largelysubjective) decisions of a very small group of people. These decisionsmay not be accurate, or even representative of the application's userbase; however, in the absence of more data, the development team has totake them into account when designing the software.
Now, once the customer's software has been released and installed to thetarget environment, it will come under the scrutiny of a much largernumber of users, many of whom will have suggestions for improvement. Ifthe customer is interested in keeping his or her users happy, thesesuggestions will need to be taken seriously, and implemented in futureversions of the software wherever possible. Additionally, as thesoftware is used on a regular basis in a live environment, bugs hithertoundiscovered by the testing team will surface, and will need to berectified on a priority basis.
Since the customer already has a pre-existing relationship with theoriginal developers of the software, and since those developers areintimately familiar with the inner mechanics of the application, itmakes sense for these change requests and bug fixes to come back to theoriginal development team for implementation. Thus begins a softwaremaintenance cycle, in which released software is upgraded to account forchanges, improvements and bugs on a periodic basis.
The initial software development effort is always a focused one, whichtakes place on a fixed schedule over a specified period of time. Changerequests and bug notifications, however, take place on an ongoing basisafter the software has been delivered to the customer, and tend to occurover a much longer time period than the initial development effort.Thus, the post-release phase of a software project can continue on forweeks and months after the project has officially concluded, and caneven provide the vendor with an additional revenue stream in the form ofcharges for implementing changes.