Deployment - Typical Activities
The output of the implementation and the test workflows are tested executables. These
executable programs must be associated with other artifacts to constitute a complete
product:
- Installation scripts
- User documentation
- Configuration data
- Additional programs for migration: data conversion.
In some circumstances, different executables may have to be produced for different user
configurations. Or different sets of artifacts have to be assembled for different classes
of users: new users versus existing users, variants by country or language, and so on.
For distributed software, different sets may have to be produced for different
computing nodes in the network.
The various artifacts that constitute the delivered product are packaged on suitable
media: diskettes, tapes, CD-ROM, archived server files, books, videotapes, and so on, and
should be properly identified and labeled. The activities often involve dealing with
external organizations to package the software.
In some circumstances (for example, small embedded systems) the software becomes part
of another system in the form of PROM.
Again there is a wide range of options, from shipping boxes, to using a network of
distributors, to Internet distribution.
One issue is that of controlling who is authorized to use the software: licensing.
Software licensing usually involves the set up of procedures and tools to manage licenses
and communicate license codes to the users.
With the advent of Internet distribution, more and more software installation is a
user-controlled process. It must however be supported by installation tools and procedures
delivered with the product. In some rarer cases (large complex technical systems)
installation is performed by the software vendor.
Installation is generally more complex in the case of a distributed system, where all
nodes have to be brought up to date in a timely fashion, and where the installation may
split up in multiple installation procedures.
As part of the installation comes often the issue of migration:
- Replacing an older system with a new one, with or without constraints of continuity of
operation.
- Converting existing data to a new format.
The programs associated with this migration are developed and tested using exactly the
same process as the primary product.
This can take various forms:
- Formal training courses.
- Computer based training.
- Online guidance and help.
- Telephone support.
- Internet support.
- Collateral: tips, application notes, examples, wizards, and so on.
Support often involves setting up procedures for problem tracking and resolution, which
integrate to the change management activity.
In some contractual development circumstances, there is an activity that takes place as
part of the deployment: formal acceptance by the customer of the delivered software.
Many products are tested as part of deployment in the early stage of the transition
with a representative community of users. A subset of the product is injected into this
user community, and procedures are put in place to solicit, capture and analyze their
feedback.
|