450.0 IMPLEMENT PHASE
Projects, especially software development projects, can be a challenge from start to finish. You know the scenario. At the beginning, you don’t like to take the time to plan well, and you rush through the business requirements since you already know what the client wants. You have fun initially with the design work, but then you discover the technical environment is more complex than you thought and you start to get a headache. Coding is a blast, but then you have to do the testing as well, which starts off okay but then gets tiresome. At the end, you are just looking to get the darned project done. However, there is one more challenge ahead – implementation.
Implementation refers to the final process of moving the solution from development status to production status. Depending on your project, this process is often called deployment, go-live, rollout or installation. For the purposes of LifecycleStep, all of these terms are synonymous with "implementation."
There is no single way to implement an application. It depends on the characteristics of your project and the solution. Some implementations are as easy as saying “we are now live.” This type of implementation can work when the solution is brand new and you are developing and testing in what will become the production environment. In these cases, implementation is just a state of mind. One day the solution is in development, and the next day it is in production. What could be easier?
At the other extreme are implementations that might be projects within themselves. For instance, you may have a software application that needs to be deployed to your division offices all around the world. This could take months to accomplish and require a full lifecycle of planning, analysis, design, etc. In this case, you might structure the implementation as a separate project.
When we think about implementation, we should always start by understanding the level of complexity involved. If the implementation is relatively straightforward, then there is no reason for elaborate implementation processes. However, most projects have a number of implementation events to plan for and execute successfully.
One of the key best practices for the project lifecycle is to plan early. In fact, if your implementation were large enough, you would actually start by creating an Implementation Strategy in the Analysis Phase. This document should describe the overall approach to implementation, the scope, assumptions, risks, etc. You can make some fundamental decisions here in terms of how the implementation will take place - for instance, whether you will be running tests in parallel during implementation, whether the system will be down during implementation, etc.
The next time you should think about implementation is in the Design Phase. Here, you will create a lower-level Implementation Plan. If you created an initial strategy document, the Implementation Plan will simply fill in many of the details. If you did not create the strategy document, you will need to mentally start at the higher level to understand what you wanted to accomplish, but then you would quickly jump into the planning details. The Implementation Plan is used to lay out the overall timeframe for implementation, who will be doing the work, what organizations are involved, the estimated effort and duration, etc. If the implementation involves new processes, you will need to account for how you will train the users, who will do it, etc. If the implementation needs to occur in multiple locations, you should describe the overall sequence. It is important to note that the Implementation Plan provides detailed information that can be shared with your stakeholders and project team. However, it is not to the level of the actual schedule.
Build the Implementation Schedule
So far, you have completed an Implementation Strategy (during Analysis) and an Implementation Plan (during Design). However, you still have to plan the schedule activities for implementation. This should be done during the Construct or Test Phases. At this point, you have already worked your way from high-level to low-level, so your remaining work is to actually define the activities, dependencies, timing, responsible person, etc.
When you actually hit the Implementation Phase, you will have a schedule ready, and you can be reasonably sure that it will accomplish what you need since you have validated a high-level and low-level plan already.
Communication is Key
In addition to planning,
the other critical element of implementation is communication.
(Again, we are talking about a complex implementation. If your
implementation is small, you might just throw the solution into
production and explain what you did.) If you follow an approach
similar to what was previously described, you will have been
communicating all along. The Implementation Strategy is meant to
focus on the process from a client perspective and should have his
approval before proceeding. The Implementation Plan should be
circulated to everyone involved. You need to communicate continually
to reinforce the messages and make sure everyone is ready when
In addition to planning, the other critical element of implementation is communication. (Again, we are talking about a complex implementation. If your implementation is small, you might just throw the solution into production and explain what you did.) If you follow an approach similar to what was previously described, you will have been communicating all along. The Implementation Strategy is meant to focus on the process from a client perspective and should have his approval before proceeding. The Implementation Plan should be circulated to everyone involved. You need to communicate continually to reinforce the messages and make sure everyone is ready when implementation occurs.
If you do not prepare an Implementation Strategy and Plan, you still need to at least communicate with people as far in advance as possible. There is always a potential point of friction between the project team and the infrastructure staff when implementation details are not communicated to them or they are communicated too late. For instance, a project team may be ready to implement a client-server application, and then they realize they need the workstation support group to install the application on the desktop. Of course, if the workstation support group is not prepared and communicated with ahead of time, they will not be happy. Other potential friction points include giving advance warning to the Help Desk when applications are deployed or when major changes occur, since they take many support calls from users if things don’t go right.
Often, a smoothly run project gets a black eye because of problems in implementation. The major overall problem with implementation is that you don’t always realize the complexity associated with deploying the solution. Therefore, many of the implementation details need to be planned ahead of time. You cannot start planning for implementation at the same time that you are actually implementing. Depending on the size and nature of your project, the following areas should be considered.project management, project lifecycle, analysis phase, , design phase, lifecycle design, construct phase, test phase, implementation phase, project lifecycle consulting, project lifecycle methodology, Agile