Artifact: Software Distribution Plan
This artifact describes the way software releases will be distributed to the computer platforms on which they must be installed, a cost justification of any investment needed to implement the approach, and a plan for the implementation.
Domains: Deployment
Purpose

A Software Distribution Plan is used to:

  • Allow the sponsor to understand the cost associated with the software distribution process before investing in hardware and software to automate software distribution
  • Assist the development team and test team in verifying the solution, in an iterative but controlled fashion, by targeting the IT system elements and user groups identified in the plan
  • Assist the development team in building the deployment plan by having identified users, nodes, and components
  • Identify the linkages to other systems management processes. Systems management design requires identification of managed elements (nodes and components). Data collected in the Software Distribution Plan will feed the systems management design process.
  • Ensure that all users identified in the User Profile work product have a corresponding set of software
  • Enable the procurement of software licenses and hardware to provide software distribution
  • Provide a planning document for the network designers in order to plan appropriate bandwidth
  • Establish a basis for the software distribution operational process and related change management and problem management processes (which include help desk support, purchased package integration, software upgrades, etc.). The overall change management process prevents introduction of unwanted changes into the IT operational environment.
Relationships
Description
Main Description

A Software Distribution Plan is part of a systems management project or part of an IT system architecture Operational Model. The Software Distribution Plan includes the data required to allow the operations department to perform the software configuration, installation, and distribution (CID) process.

Generating a Software Distribution Plan is a way to avoid significant adverse impact on end users and IT infrastructure due to changes and the overall cost of distributing the solution. The plan, when implemented, will provide end users, who are accepting a new application and possibly new hardware, with the ability to restore their systems to a known state on short notice. Downtime, due to user error or system disruption, cannot be tolerated in mission critical applications, such as a call center for a telephone company or other utility.

Full automation of the software distribution process is not always necessary, but the plan will identify the cost benefit of automation. The information collected in the plan will be valuable for any mixture of manual and automated processes.

Notation

The suggested format of the plan is:

Executive Summary

Recommendations: Suggests if automation is justified or not.

Cost Benefit Analysis: Determines if an automated distribution mechanism is required and also will identify the number of resources required to accomplish the distribution process, with and without automation. (Normally a spreadsheet.)
The first table is essentially a data collection table. The number of "things" is collected to be used in the calculation of the actual cost benefit in the second table. Notice that the columns are labeled B and D.



Column B

Column D

3

WORKSTATIONS

VALUES

4

No. of Workstations in Network (50, 200, 1000, etc):

#

5

No. of Apps./License to Update per Workstation (1, 2, etc):

#

6

Software Updates per Year, per Workstation (1, 2, etc):

#

7

Average Time for Update (in hours):

Hrs

8



9

PERSONNEL


10

End User Yearly Salary ($15000, $20000, $25000, etc):

$

11

Employee Benefits Pkg. Value as a % of Salary (.2, .3, etc):

%

12

Estimated Support Staff Savings ( % ) of Current Staff (.2, etc):

%

13



14

NETWORK SUPPORT


15

Number of Workstations per Server:

#

16

Travel $ per License Update (Travel, Meals, Lodging, etc):

$

17

Network Support Staff Yearly Salary ($30000, $60000, etc):

$

18

Number of Network Support Staff (0, 1, 4, etc):

#

19

Education $$ for New Distribution Tools per Staff Person:

$

20

Weeks Required for Distribution Software Implementation:

#

21



22

NETWORK SOFTWARE DISTRIBUTION COSTS


23

Server Cost - per License:

$

24

Number of Server Licenses (in network):

#

25

Server Discount (%):

%

26

Hardware Discount (%):

%

From the table above the following table is calculated, representing the cost benefit of the software distribution process.



Calculated Dollar Values



Individual End User Salary per Hour+ Benefits per Hour :

$


Individual Support Staff Salary per Hour+ Benefits per Hour :

$


Individual End User Salary + Benefits per Year :

$


Individual Support Staff Salary + Benefits per Year :

$


Total Support Staff Expense per Year :

$


Total Travel Expense per Year for Updates :

$


Estimated Reduced Staff Savings per Year :

$


Number of servers Needed in Network :

#


Total Distribution Server Costs (OTC includes discount) :

$


Total Education Expense (OTC) :

$


Total Implementation Expense (OTC) :

$


Total Server OTC License Cost (OTC includes Discount) :

$


Yearly Cost to Manually Install / Update Workstation Software :


OTC Cost of Distribution Software / Hardware / Setup :

$


Yearly Support Staff Savings :

$


Savings / (Cost) - 3 Year Summary



Current Manual Cost (per Year):

$


Current Cost to Implement DSM / CID Methods:

$0


Savings (Cost) :

Yearly

Running

Year 1:

($0)

($)

Year 2:

$

$

Year 3:

$

$

Identify the Geographic and Network Topology
Identify in a map the primary locations to which software will be distributed. Using a map will give a visual sense of the logistical problems associated with the software distribution process. A separate diagram is produced to show the style of distribution to each location and node.

 
For each location:


Location Name


# of Users

Total number of users at the site (user type can be broken down in the user table).


Network Type

Record if the network type is Token Ring, Ethernet, FDDI, etc. Refer to a network diagram number or name that can give details about that location. The networking group is a good source. If this does not exist, it needs to be created. It can also come from the Operational Model work product description or one of the Operational Model elaboration points.


Connection Type

Is it routed or bridged? Many software distribution mechanisms only operate on routed OR bridge. Also, noting if the connection is wireless is important.


Total Bandwidth Capacity

Record the free capacity during which software distribution may need to run.


Technical Support Availability

Record the name and number of technical personnel who may be able to assist during software reinstallation. Very few software distribution packages are fully automatic.


Software Packages and Components

Record from the deployment units the installation aspect of the components and prepackaged applications (e-Mail, Word processing, etc.) that must run at this site.


Number of Nodes

Record how many simultaneous installs can be made from this server node to target nodes.


Servers Required/Available

Determine if a local server will be used as a distribution target from which individual workstations will be installed. Record how many servers are needed.

For each user:

This can be built in a database for sorting and reporting. Information from the User Profile work product description can be very useful in this section.


User Name

Station ID

Assign or record a naming convention for each user workstation. This should not be the user name, since workers can move, retire, etc.

Connection Availability

Does the user have a connection which to connect the workstation? And what type is it (TR, Ethernet 10BT, etc.). Again, information from a Deployment Unit description can be used here.

Telephone Number

Will help Help-Desk do problem management.

TCP/IP or Other Network Addressing Used or Planned

TCP/IP or other network (SNA etc.) address, hub and wall plate identifier.

Job Function

Will be used to group users in the distribution server.

Special Needs

Use information from the User Profile work product description to determine medical impairment, etc.

Hardware Configuration

Record detailed information for each user of machine configuration. This will be used in the systems management configuration management databases. This information will be used for distribution packaging, problem and network management, as well as security hardening requirements.

Software Required

Create a detailed list of the installation aspects of components and pre-packaged software that each user will require.

For each Component (Package or current build)


Component Name

Size

The size of the installable image in megabytes.

Configuration

Record if there are any configuration requirements (including security requirements). Determine if there are configuration files to be customized.

Frequency of Changes

Determine how many times/day or week changes need to be made; Help files, procedures, scripts, etc.

Software Dependencies

Record the dependency on other components. In a client server and distributed environment this is very important, as it feeds into change management procedures. Include system software like printer drivers, display drivers, database access drivers.

Hardware Dependencies

Record the hardware prerequisites memory, disk space, display type, printers.

Version

Identify the version of each component to be installed.

Source Location

Identify the location (server, directory, software version control) from which the component will be selected for installation.


Tailoring
Impact of not having

Not having a Software Distribution Plan can:

  • Increase the cost of piloting the software due to rework of faulty installations
  • Increase the number of installation problem reports the team will have to deal with, thus increasing the perception of bad software quality
  • Prevent accurate procurement of software licenses
  • Increase the Help Center workload due to errors in installations
  • Lead to underestimates of the network bandwidth needed in production
Reasons for not needing

You do not need to create a Software Distribution Plan when:

  • The number of users and applications is small enough that the distribution plan can be integrated into other systems management plans.
  • A plan already exists for other solutions, and the IT system being built can easily integrate into it.
Representation OptionsThe most frequently used notation is a set of matrices that the project sponsor can read to decide whether to automate the CID process and that the operations staff can use to plan for software configuration, installation, distribution, and support. In practice spreadsheets, a configuration database should be used. The database is populated progressively during the engagement. It starts from the user profile, operational model physical diagram, and deployment units work product descriptions.