PURPOSE

PURPOSE

Software developers sometimes declare victory too soon. They forget that it is the customer's willingness to use the finished product, rather than a clean compile, that is the mark of a successful development project.

The purpose of deployment is to turn the finished software product over to its users. The deployment workflow involves the following types of activities:

  • Testing the software in its final operational environment (beta test)

  • Packaging the software for delivery

  • Distributing the software

  • Installing the software

  • Training the end users and the sales force (product roll-out)

  • Migrating existing software or converting databases

The ways these activities are carried out varies widely across the software industry, depending on the size of project, the mode of delivery, and the business context.

Modes of Deployment

The Rational Unified Process can be applied across a wide spectrum of software development projects. To illustrate the kind of deployment issues that can arise for different kinds of software, let's have a look at three specific examples:

  1. Deployment of software in custom-built systems,

  2. Deployment of shrink-wrapped software, and

  3. Deployment of software that is downloadable over the Internet.

The key differentiators of these various modes of deployment are the degree of involvement of the development organization in the way the software is packaged and distributed, and how the end user will learn to use it.

Custom-built systems are usually "one of a kind," and sometimes even have associated custom-built hardware. Typical customers for custom-built software come from the transportation and telecommunication industries, embedded systems, and large organizations such as banks, trading houses , and shipping companies. In the aerospace industry, software is almost invariably required to run on specifically built target hardware. This may also be the case in the banking world where the software must accommodate the characteristics of particular ATMs or other interface devices.

Included in the category of custom-built systems would be large-scale enterprise software systems that, although they come from a standard source, need to be tailored for each situation. This would also be true for distributed systems, in which all nodes need to be brought up-to-date and activated in predetermined order.

There is little difference in the developer's involvement in the installation of shrink-wrapped software and software that is downloadable from the Internet. In each of these cases, the installer will be the end user, who with the aid of install-wizards should have little or no difficulty installing and running the product software. The difference lies in the delivery mechanism, and the developer's -involvement in either setting up the product Web site or creating the packaging and distributing the product.

Timing of Deployment

Deployment activities peak in the transition phase and represent the culmination of the software development effort. Successful deployment and indeed the overall success of the development effort are defined by the customer's willingness to use the new software.

The purpose of the transition phase, as well as the goal of deployment activities, is to ensure a smooth transition of a selfsupporting user to the new software. The Rational Unified Process advocates ongoing customer engagement, and includes end-user beta testing of earlier releases as part of the "ramp up" to the final delivery of the product.

During the transition phase the end user can start using the product to get a feel for how it works in the real runtime environment. Trial installations or beta tests, over a series of deployment iterations, provide an opportunity for final suggestions for adjustments to the product.

With good planning and customer involvement, by the time the final product is delivered, there should be no surprises ”for either the developer or the user!

Deployment planning, as with other project planning activities, can start early in the project lifecycle to account for the overall -deployment and customer preparation strategy, and resources needed to deliver the tested product and end-user support material. Work on deployment artifacts, such as user and training manuals, can begin in earnest following the lifecycle architecture milestone, at the end of the elaboration phase, once the architecture and requirements have been stabilized.



The Rational Unified Process. An Introduction
The Rational Unified Process: An Introduction (3rd Edition)
ISBN: 0321197704
EAN: 2147483647
Year: 1998
Pages: 176

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net