No matter what methodology you use to manage your project, you will need an understanding of the project lifecycle. As with the methodologies, you will see variations in the phases, and the names of the phases, in the project lifecycle, but they are all fundamentally similar.
Editor's Note: This article is excerpted from chapter 2 of Fundamentals of Technology Project Management, by Colleen Garton and Erika McCulloch.
Throughout each of the project lifecycle phases, the project manager performs Project Direction activities. These activities include management of the standard, methodology, project, people, and communication.
The project lifecycle describes the phases or steps you will complete throughout the project from the initial concept through to project closure. The lifecycle divides a project into six very distinct phases (Figure 2.1):
- Planning
- Design
- Development
- Integration (including testing)
- Deployment
- Post-Deployment
Figure 2.1: The Project Lifecycle
All six stages are critical to the success of a project. Trying to save time by skipping a phase or reducing the time needed to complete it successfully will result in either a substandard product or a completely failed project.
Some of the tasks included in the planning phase are not included in project lifecycles found in other methodologies or standards. This is because they are considered to be “pre-project” work—work carried out prior to final project approval. In this book, I consider everything to be part of the project lifecycle from the moment an idea or concept is presented for consideration right through to the tasks that occur after the project has been completed and handed off. Pre-project, this includes the business documentation created prior to a project manager being assigned to the project. Post-project, it includes such things as operational support documentation and the process for disbanding the project team. Incorporating all project work in the lifecycle facilitates the use of consistent processes throughout the project and ensures smooth handoffs between business management, project management, and operations management. It also ensures that if processes are changed on the front end of the project, those changes must flow through to the rest of the project lifecycle without causing inconsistencies or conflicts.
There are quite a few tasks that occur after the project has been completed, and these tasks are as important to the lifecycle as the pre-project tasks. In addition to establishing standard practices for closing the project, it is important to ensure that there is some period of support available after deployment. It is not often that a project is delivered to the client free of any defects and without the need for any operations support, technical support, engineering involvement, or communication after the project handoff. To guarantee client satisfaction, there must be a plan in place for managing any post-deployment issues.
It is good practice to document your project lifecycle or methodology before you start your project. In most companies, this lifecycle is the same for every project, so it may well be documented as part of the company’s processes and procedures. If it is an undocumented process or if there is no standard process in place, then this is the time for you to document the process you will use for your project. Everyone on the project team should understand the process and be aware of what phase you are in as you progress through the lifecycle.
The Project Lifecycle Phases
The project lifecycle phases in this book comprise the following high-level tasks:
Planning Phase
- Create and Present Project Concept
- Obtain Concept Approval
- Create Project Proposal
- Obtain Proposal Approval
- Create Project Charter
- Obtain Project Approval
- Create the Project Plan
- Create the Project Approach
- Finalize the Budget
Design Phase
- Design the Architecture
- Design the Product and the Features
- Create Specifications and Task Lists
- Finalize the Project Schedule
Development Phase
- Build the Product
- Analyze and Document Project Statistics
- Conduct Status and Project Review Meetings
- Verify and Document Feature Complete
Integration Phase
- Integrate Features into the Final “Product”
- Perform Integration and End-to-End Testing
- Perform Stabilization and Optimization Tasks
- Verify and Document Code Complete
Deployment Phase
- Finalize Operations Documents
- Conduct Training
- Finalize Deployment and Project Acceptance
- Verify and Document Project Handoff
Post-Deployment Phase
- Transfer Control of the “Product” to the Operations Team
- Conduct Lessons Learned Meeting
- Perform Project Closure Tasks
- Disband the Project Team
- Celebrate Success!
Planning
The planning phase starts with the project concept and incorporates all the meetings, research, and reporting that is necessary to get the project approved. As a project manager, you may not be involved in all the pre-project planning, but you will be involved in a substantial amount of planning before your team starts developing/ building any products. High-level estimates, selecting your team members, project definition, and kickoff meetings, for instance, are all part of the planning phase. The planning phase is complete after you have the Project Charter, Project Plan, and Project Approach completed, reviewed, and approved. The Project Charter describes what the project is, the Project Plan describes how it will be implemented, and the Project Approach describes the processes that will be used during the project lifecycle.
During the planning phase, it is extremely important to get client sign-off on all deliverables. Any changes must go through a pre-defined change control process. This ensures that both the project team and the client are on the same page and that there will be no misunderstandings about deliverables later on down the road. Verbal agreements are not worth anything. Make sure everything is in writing.
So, how do you get the planning phase completed? This is one of the most difficult phases of the project. You need to get it right the first time, as your whole project will be scheduled and built in accordance with what you define and document in this phase. This is where your team builds the road map that will get the project from here to closure.
It is critical that the functional and technical requirements are documented fully and completely. The Functional and Technical Requirements Documents will serve as the template for the design specifications. If the project is complex and comprises multiple features/components, there should be Functional and Technical Requirements Documents for each feature. If the project is small, one Technical Requirements Document will be sufficient.
The size, complexity, and scope of the project will determine how much detail is needed for the Project Plan and the supporting documentation. The time spent on putting the plan together should be proportional to the size and complexity of the project. The Project Charter, Project Plan, and Project Approach will be the road map used by the project team to guide them to project completion. The project manager will create a high-level schedule for the team.
Design
The design phase of the project is an area that is often neglected, at least to some extent. I have seen teams who implement their code and then write the design specification after the fact. This is not going to result in consistently high-quality, re-usable, and extensible code and systems. The starting point for writing a Technical Design & Specification Document is to review the Functional and Technical Requirements Documents. If the project is complex and comprises multiple features/components, there will be Functional and Technical Requirements Documents for each feature. There should be both a Network and System Architecture & Design Document and a Software System Architecture & Design Document, which are usually documented by the lead engineer or architect. The Architecture documents will show all the features and components of the product or system and how they integrate with each other to constitute the final product. If you have multiple features in your product, you will need multiple design specifications. Either the lead/architect will write the designs, or each feature will be assigned to an engineer who will use the Architecture documents as a guide when creating the design specification. The design specifications often require that the engineer write test code or build a mini-prototype to verify that the design will work. The design must include details on how the feature or component will be tested both by the developer (unit testing) and by the Quality Assurance (QA) group (integration testing).
The feature designer, technical lead, and project manager use the Technical and Functional Design Specification Documents to break down each feature into tasks and subtasks. Any task that takes more than a week or two should be broken down into subtasks. These lists of tasks are called the Detailed Task Lists. The Detailed Task Lists identify dependencies between tasks that enable the project manager to schedule them appropriately. The Detailed Task Lists also include Final Estimates. The project manager needs to review the Final Estimates to ensure that the overall project can be completed within the proposed timeline and budget. Generally, you will find that some tasks come in under estimate and some over estimate, but as long as you have left some buffer time to allow for this, you should be pretty close to the estimates created during the planning phase. If not, then this is the time to review the Detailed Task Lists with your team, and possibly your client, to make decisions about how to proceed.
The design phase of a feature usually takes about 20 percent of the total implementation time for that feature. For example, if you have eight weeks assigned in total to implement one feature, approximately two weeks will be for design (including design meetings, necessary prototyping, design reviews, and all reviewing and updating of documentation). If prototype or test code is written, it is usual for this code to be used as a starting point for the feature implementation.
Development
During the development phase, the project manager will create the detailed Project Schedule. The development phase is where the product is built. The code is written and/or the system is developed. This phase includes unit testing of the features and components. It includes writing any test code or building any test systems needed for the QA group to be able to adequately test the product. The project will have been broken down into releases or milestones during the planning phase.
Once the detailed Project Schedule is complete and the milestones and deliverable dates are finalized, the actual development of your product begins. The project manager’s job is primarily to track and manage the Project Schedule and the project team. This includes managing the scope, resources, budget, change control, status reporting, and quality of the product. This phase may contain many internal releases and test cycles that continue until all of the features and components are completed. The developers will be unit-testing their code before checking it in for a build; they will be tracking down and resolving bugs in their code. All of the code should be implemented, and all unit-testing and bug-fixing on individual features and components should be completed at the end of the development phase.
Integration
The integration phase is where you integrate the code or the system components into what will be the final product. For complex systems, whether hardware or software, the chances are that there will be some integration issues. Integration bugs will likely be found and will need to be resolved before the product is ready for release. Applicable performance and stability testing of the product will be performed and changes made to ensure that the product or service meets the specified performance specification. This is not as simple as it sounds. This can be the most stressful phase of the lifecycle. If you are running out of time and cannot track down that one critical, elusive bug that is a showstopper, you and your team could find yourselves working long hours and long weekends for some time until the issues are resolved. If the product is being deployed at the client’s site, there could be some integration with the client’s existing systems. Usability testing or beta-testing programs will also take place during this phase of the project. The project manager will be working on the plans for deployment and post-deployment during the integration phase. The Operations Plan will need to be completed so that the Training Plan can be completed and the Training Manuals and course descriptions created.
Deployment (Launch)
There are a few things that need to be accomplished during the deployment phase before you will be ready to hand off to your client. The client training will take place during this phase. Any critical bugs found since integration will be fixed and verified. The final product will be delivered, whether that is physical hardware, a CD, or a product installed on Internet servers. The client will approve the deliverable prior to deployment. The client will perform client acceptance testing after deployment, followed by a formal client acceptance meeting where final agreements are signed. The final product handoff occurs when both parties have fulfilled all contractual obligations.
Post-Deployment
In most respects, your project is completed. Depending on the nature of the project, you will have somewhere between zero and many final tasks to complete before project closure.
During the post-deployment phase, you and/or your team may continue to be responsible for some ongoing support to the technical support, customer service, operations team, and so on. This could include weekly meetings with technical support and customer service representatives to analyze data relating to how many phone calls/emails they are receiving on different issues and areas of the product. You may have regular meetings with the client to troubleshoot issues and to discuss bugs and schedule maintenance releases of the product. You may need to work with the technical writing team to update help screens, user guides, and installation and setup guides to either correct errors or incorporate changes due to maintenance releases. For Internet products, you may be responsible for some operations support for the system. You may need to analyze performance statistics to ensure that your product’s performance in a production environment is in line with the results that your team achieved in the test environment. Will the system support the peak loads that were agreed to and confirmed in the contractual agreements? Time for these tasks has to be included in your scheduling, and for many, or all, of the project team, this may overlap with new assignments and new projects. Just because your project has been handed off does not necessarily mean that you can wipe your hands of it and move on without looking back!
Lessons learned, which are sometimes rather morbidly referred to as “postmortems,” are an essential final step in any project. Do not be tempted to skip the lessons learned process. It is valuable and a great way for a project manager to get feedback on how the project went, any issues encountered, what things went well, and what things could be improved.
Project Direction
Project Direction is not a lifecycle phase. It is, however, the most important part of the project manager’s job. It encompasses all the management and coordination tasks required to manage the project, overcome obstacles, and obtain the necessary approvals through each phase of the lifecycle. In addition to managing the coordination of project tasks and ensuring that all applicable standards, processes, and methodologies are followed, the project manager must effectively manage the people involved in the project. Project Direction tasks include the following:
- Managing communication
- Managing obstacles, risks, and issues
- Managing conflict
- Managing the client and client expectations
- Managing team members and team member expectations
- Managing organizational and project change
- Managing growth and development for team members
- Performance management and evaluation
- Developing leadership abilities
- Focusing on personal growth, development, and career planning
Next time: Managing Each Step of the Project Lifecycle. Can't wait? Pick up your own copy of Fundamentals of Technology Project Management, by Colleen Garton and Erika McCulloch - available and on sale at the MC Press Bookstore today!
LATEST COMMENTS
MC Press Online