Task: Develop Deployment Plan
This task describes how to develop a plan for how and when the product is to be made available to the user community.
Disciplines: Deployment
Relationships
RolesPrimary Performer: Additional Performers:
InputsMandatory:
    Optional:
      Outputs
        Process Usage
        Main Description

        The Deployment Plan documents how and when the product is to be made available to the user community.  It includes packaging and distribution of the software.  It also includes installation of the software, migration to the new software, as well as help and training of new users.  The user's willingness to use the product is the mark of its success.

        Steps
        Plan How to Produce the Software

        The output of the implementation and the test activities are tested executable programs. These executable programs must be associated with other work products to constitute a complete deployment unit / product:

        • Installation scripts
        • User documentation
        • Configuration data
        • Additional programs for migration: data conversion.

        In some circumstances, different executable programs may have to be produced for different user configurations. Or different sets of work products 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.

        This aspect of the deployment effort is captured in the tasks for producing deployment units.

        Plan How to Package the Software

        The various work products 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 tasks 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.

        This aspect of deployment is captured in the tasks related to packaging the product.

        Plan How to Distribute the Software

        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.

        This aspect of deployment is covered in the Task: Provide Access to Download Site and Task: Manage Acceptance Test.

        Plan How to Install the Software

        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 independent 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.

        This aspect of deployment is covered in the Task: Manage Acceptance Test and Task: Provide Access to Download Site.

        Migration

        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.

        Part of the process of preparing the customer for the next generation of software is through providing earlier beta versions of the product. This aspect of deployment is covered under the tasks related to beta testing the product.

        Providing Help and Assistance to the Users

        This can take various forms:

        • Formal training courses
        • Computer based training
        • Online guidance and help
        • Telephone support
        • Internet support
        • Collateral: tips, application notes, examples, and wizards

        Support often involves setting up procedures for problem tracking and resolution, which integrate to the change management task.

        This aspect of deployment is covered under the tasks related to developing support materials.