We can have administrator staff covering the responsibility of deploying software, especially in
large organizations. In this case, Distributors and End-Users belong to the same client organi-
zation. Deployment administrators tend to be experienced working with Windows Registry or
system files, paternalistically rebuking users when traces of old MP3 exchange programs are
found on client computers and the like. They are responsible for the correct deployment and
customization of the needed software. The problem with this approach is that it is quite expen-
sive if it is to be performed without automatic tools, such as application managers (for cus-
tomizing remotely many clients, for example) and utility installers.
Another form of Distributor is the class of organizations that distribute shareware and other
similar software products. Despite the fact that they often avoid the responsibility of the full
Distributor role, they do take care of making software installers available to users for download
and cover a first-help service in case of problems during installation. Depending on the case,
the Distributor role could be quite complex. For world-wide delivery, the Distributor organiza-
tion can employ massive server replication to handle the deployment on a very large scale, effi-
ciently and reliably. Often, we refer to the Deployment Server as the main instrument in the
Distributor's hands. This is just an abstraction for coping with these general issues more easily.
The Distributor's task is to correctly enforce the deployment policies on the given annotated
resources for the given end-users population. Achieving this usually requires sophisticated dis-
tribution technology, together with elaborated auxiliary services such as security, user authenti-
cation, and different levels of reliability.
It is the intrinsic complexity of this job that makes economic sense to outsource it from core
The End-User Role
The End-User is the happiest of the three roles because all the efforts involved in assuring a
better deployment service are ultimately aimed at increasing the user's fruition of the business
service offered by the software itself.
After having produced such a huge technology effort through the construction of a powerful
and reliable deployment circuit spanning several continents, we risk the destruction of all our
efforts without a careful design in the End-User experience portion of the deployment process.
Here, we will mention just a few aspects while leaving more design-driven topics for the sec-
ond part of the topic.