Software Deployment Issues


A Deployment Plan describes how you intend to get the software transformed from source code in your team repository to executing bits on the user's machine.   This Plan is created by the Implementation Manager with assistance from the QA manager.  Here are issues and considerations in writing your plan.

How will the software by logically packaged?   Zip file?  JAR file?  other? (See #1 below).
What media will the software be distributed in?   CD-ROM?  Website?  other?
What kind of licensing or registration will we require?
Do we want to offer different versions for different audiences, like Trial version, Community version, Pro version, etc?
What OS platforms will we be deploying on?  Tip: include the platform name and version in the distributable file name, E.g. CoolProgram_Win2K_2-2.zip is the filename for CoolProgram version 2.2 for Windows 2000.
What physical devices or peripherals will we be deploying on? GUI or console, mouse or keyboard, disk-less workstation, etc. 
What kind of installation procedure do we need?   Unzip?  Commercial Installer?  Custom installer?
Where will installation instructions be provided?  How do we keep them separate for each platform?
What user documentation is needed?  Known Issues?  ReadMe?  Guides?  Tutorials?  Walkthroughs?
Do we need to provide API documentation or other customization directions for end-users or 3rd party developers? How do we ensure that the correct documentation is distributed with the software?
What languages does the documentation need to be written in?
What QA criteria should we use to make sure our documentation is usable?
How do we ensure that the software being deployed matches what we say in the Staged Delivery Plan and Implementation Plan?  Tip: It should be possible to precisely determine the exact functionality available in each release.
Do we need to plan for Uninstall, Reinstall, and Upgrade install procedures?
Where do we document the default settings for any preferences or configuration files?
How will we do QA on this plan?
Do we need to plan for Technical Support?  User Feedback?

Instructor Requirements:
  1. Unless otherwise arranged with the instructor it is expected that your software will be distributed as a JAR file that contains the appropriate manifest file to enable it to be launched by double-clicking (if the appropriate filetype associations are enabled in your desktop).   (Java Web Start is an acceptable alternative.)
  2. It must be possible to determine from the executing software: team name, software name, and version #.  E.g., an About box,  "splash" screen, or welcome message.
  3. The deployment procedure you decide upon must undergo "pilot testing" by a representative member of your intended user audience. You must certify completion of pilot testing by having your user complete an affadavit similar to this Pilot Test Feedback form.


CPE 308 Home