software deployment life cycle after discussing the first of the phases of this important life cycle. Phase IV is seen as a crucial phase wherein is dealt with the actual performance of the newly installed software. Phase V concludes the life cycle and provides impetus for any new deployment plan in future.
The Last Two Phases of the Software Deployment Life Cycle
Software deployment is a complex endeavor, most fittingly used as early as possible in the organizational cycle. All software deployment life cycles must consider three basic tasks: preparing for release of the software, releasing the software application to operations and support, and releasing the software application to the organization's user community. These are the end goals of this endeavor. On a phase-by-phase basis as well, the software deployment life cycle is multifaceted, taking into account many details without which the work of software deployment is incomplete.
The first part of the software deployment life cycle deals with the tackling of key management documents. Again, there is a focus on the release of the software in this first phase of the life cycle. There is an initial release plan and a general deployment strategy. The deployment audience is identified at this stage. There are three distinct groups considered in this phase: the users, the operations staff, and the support staff. Furthermore, if an approval of certain organization's representatives is required before the deployment of new software, this should be obtained.
In the second phase of software deployment, an architectural foundation of the project is laid. The deployment configurations for the system are defined. This part of the life cycle could be named Analysis and Design also. In this, data conversion is known to be the key to deployment of a new software system. The new system thus installed must be compatible with the new software deployed. This process has the deployment plan evolve significantly as this is where the installation strategies are created and the plan is ready to take many leaps forward.
In the third phase that we may name the Construction Phase, a detailed design and source code are developed for the software application. Legacy data conversion modeling and planning may have to be performed, or the desktops and internal application servers may have to be upgraded to run the new system. The earlier is equipment conversion performed, the smoother is the eventual deployment.
It is important at this stage to develop operations, support and user documentation, the possible artifacts of which are summarized below.
Table 1. Documentation Needs for Each Customer Group
Batch job and printing requirements
Data extractions/sharing requirements
Contact points within development and operations
Support call recording process
User documentation (all versions)
List of new features
Support user's guide
List of new features
In this phase, the organization may have to negotiate its deployment plan with the operations and support departments, as well as other projects that are planning to deploy the system, in order to see that the plan overall meets the requirements of the corporate deployment system. Since the new software brings change into the organization, tools of change management could be discussed and implemented in order to make the whole process relatively easy for the entire community involved in this change. (For instance, once in production, the new software system must have its installation and deinstallation procedures since there could be many changes also in the structure of the organization with people transferring, being hired, fired, etc.) At the end of this phase is the deployment plan considered fully accepted and to be launched to its completion at the date decided upon.
We now turn our attention to the last two phases of the software deployment life cycle and describe these in depth:
Phase IV - Perform/Deploy
1. Performance/Plan a. Track progress against the plan
2. Information Distribution a. How people will be kept informed about the project
3. Environmental factors a. Other factors to consider
Phase V - Closure
1. System/Application testing results approval
2. Account closure a. Close all project related accounts including expenditures
3. Post Project Evaluation a. Achievements and lessons learned
Phase IV - Perform/Deploy
This is the Transition Phase of the software deployment plan to begin with. Here, the system is delivered to its user community after its pilot release had been sent already, and the progress of the plan is charted during this crucial onward journey of the new software introduced. A configuration management activity must ensue to finalize the software packaging, the deployment baseline is also defined, and a final build for the software would have to be performed. Once the software has been deployed, its implementation can begin. This is when we can track the progress of our plan. For example, is the new software working effectively? This is part 1 of Phase IV.
In part 2 of this consequential phase, the information needs of the organization are met as regards the new software's deployment. Without users and staff knowing the new software adequately to be able to reap its rewards, the software is of now use. We want our benefits to be maximized; thus, training and education can be seen as two vital sources to the software deployment success. It has been understood that if the learning curve is too steep, the users of the new software would quickly abandon it. Moreover, the operations staff needs to appreciate how to keep the new technology functioning properly. Training must be provided to the operations, support, and user communities -- before the deployment of the software, and after. This is even more important when new additions to the software are made at a later time. Ongoing training is a must whereby flaws in the system may be discovered, new features developed, and there may be none left behind in the organization that would need to comprehend the software better but be unable to.
The key players involved in the actual deployment must hold regular release meetings during the life cycle of software deployment. Testing of the software would have to be done by this time, and discussed with quality assurance staff. Implementation must be discussed with developers. And current production would have to be talked about with the staff. Support and user representatives should be met with, so that the software deployment staff can be informed of their issues. All in all, the software deployment program team must work closely with the operations and support staff, and the user community, in this phase and most others.
In the third part of Phase IV, environmental factors are questioned. These could be about anything related to the software deployment being dealt with. Let us consider an example: what happens if the software newly installed is required by the government to be paid a heavier license fee for? What if only particular users are given this warning on their terminals whereas others are uninformed? In this case, the organization would have to not only obtain the required license for the software installed, but also inform the rest of the user community and the operations and support staff about the license in order for them to be able to use the software in an undisrupted fashion.
Or what if new users are introduced into the user community, or people from outside the organization ask that they share the software on the basis of some payment? The organization would have to manage such issues, keep the users and the operations and support staff informed of new developments in the project, and attempt to continue running the software to maximize its utility. This phase of the life cycle is all about running the software at its best. Once this is done, the project can be terminated successfully, step-by-step.
Phase V - Closure
Regardless of the software deployment life cycle model used for deployment, software has to be tested. Efficiency and quality are best served by testing software as early in the life cycle as possible. Whenever changes are made, full regression testing must be performed. Through the life cycle, the software might be tested and retested when problems occur, there are modifications, and new ideas emerge to be incorporated into the deployment of the software. Once all the testing is complete and the new software is efficiently put to use, the testing phase is concluded, and the testing results must be met with approval, or software deployment would be incomplete. It must be established that the software deployed and tested is what the organization needs. This is part 1 of this phase.
Phase V of the software deployment life cycle is about formalizing the acceptance of the project and bringing the project to an orderly end. In the second essential part of this phase, all project related accounts, including expenditures, are closed. If for instance, in future, the organization may require the services of outside contractors that…