Often a smoothly run project gets a black eye because of problems during implementation. Those problems often crop up because we don’t anticipate and plan for the complexity of deploying the solution. For example, you might communicate and plan well for the deployment of a client-server solution, only to discover during implementation that many of your workstations aren't powerful enough to handle the load. This is the type of minor detail that can cause major headaches.
Start at the beginning
Part I of this series on project implementation focused on methodology. Here's how to plan ahead to avoid surprises.
Let’s look at the major steps associated with implementation. Note that many of these activities need to be completed ahead of time. You cannot start planning for implementation while you are actually implementing.
- Prepare the infrastructure. Many solutions are implemented into a production environment that is separate and distinct from where the solution was developed and tested. It is important that the characteristics of the production environment be accounted for. This strategy includes a review of hardware, software, communications, etc. In our example above, the potential desktop capacity problem would have been revealed if we had done an evaluation of the production (or real-world) environment. When you are ready for implementation, the production infrastructure needs to be in place.
- Coordinate with the organizations involved in implementation. This may be as simple as communicating to your client community. However, few solutions today can be implemented without involving a number of organizations. For IT solutions, there are usually one or more operations and infrastructure groups that need to be communicated to ahead of time. Many of these groups might actually have a role in getting the solution successfully deployed. Part of the implementation work is to coordinate the work of any other groups that have a role to play. In some cases, developers simply failed to plan ahead and make sure the infrastructure groups were prepared to support the implementation. As a result, the infrastructure groups were forced to drop everything to make the implementation a success.
- Implement training. Many solutions require users to attend training or more informal coaching sessions. This type of training could be completed in advance, but the further out the training is held, the less information will be retained when implementation rolls around. Training that takes place close to the time of implementation should be made part of the actual implementation plan.
- Install the production solution. This is the piece everyone remembers. Your solution needs to be moved from development to test. If the solution is brand new, this might be finished in a leisurely and thoughtful manner over a period of time. If this project involves a major change to a current solution, you may have a lot less flexibility in terms of when the new solution moves to production, since the solution might need to be brought down for a period of time. You have to make sure all of your production components are implemented successfully, including new hardware, databases, and program code.
- Convert the data. Data conversion, changing data from one format to another, needs to take place once the infrastructure and the solution are implemented.
- Perform final verification in production. You should have prepared to test the production solution to ensure everything is working as you expect. This may involve a combination of development and client personnel. The first check is just to make sure everything is up and appears okay. The second check is to actually push data around in the solution, to make sure that the solution is operating as it should. Depending on the type of solution being implemented, this verification step could be extensive.
- Implement new processes and procedures. Many IT solutions require changes to be made to business processes as well. These changes should be implemented at the same time that the actual solution is deployed.
- Monitor the solution. Usually the project team will spend some period of time monitoring the implemented solution. If there are problems that come up immediately after implementation, the project team should address and fix them.
Part I of this series pointed out the need for planning and communication to help ensure a successful implementation. In this column, we looked at the actual work typically performed in a complex implementation. However, your implementation may not be as complex, and you may not need to look at all of these areas. Nevertheless, there is usually a lot more involved than just throwing the final solution into the production environment. You need to account for the environment the solution will run in, as well as processes and training needs of the client community. If you think through implementation from a holistic approach and communicate well, there is a much greater likelihood that your project will end as a win.