Before discussing project management methodology, let's first establish what a project is. A project is a collection of temporary activities—commonly known as tasks in the software industry—that should be completed within a specific timeframe and budget to achieve a specific goal. Tasks must be initiated and completed in a specific time slot. Your project duration and the budget of the project is dependent on many factors, including how many activities we are going to include in our project and how many resources are required to complete that set of activities. For example, a maintenance project of any software will have a smaller duration and budget compared to developing a new software product.
Defining project activities are also referred to as project scoping. Project scoping is responsible for defining what is required and how we can achieve our requirements. The best practice is to define a project scope properly before starting to work on any of the project's activities. Adding activities after a project has started can impact a project's timeline and budget. You can see, in the following diagram, that the project is divided into three high-level steps where we start by defining our project activities, then we start working on these activities, and finally complete all of the activities to finish our project:
Project activities are performed in different stages for better management and to give more control over the quality of output. These stages are also known as project phases. A project phase is normally dependent on the output of the previous phase, so the next phase can take the output of the previous phase as input.
Let's take a simple example of assembling a bike, where one phase is to get all bike parts and the next phase is to assemble them together to form a complete bike. Project phases are progressive in nature, which means that every phase of the project needs to add some improvements to achieve the overall project target. Now that we have a good understanding of the project, let's discuss project management.
Project management is a process and it is very important for any project to successfully achieve its goal. The project management process controls all of the phases of a project and connects them together toward achieving a project goal. A project management process can be primarily divided into five phases, as shown in the following diagram:
Let's take a closer look at each of these phases:
- Initiating: This phase is responsible for identifying all of the requirements of a project and it is also considered the start of the project activities. In this phase, all of the project requirements are documented so that the documentation can build the foundation of the project. We can also say that this phase is responsible for scoping the project and setting its target output. Before going to the next phase, every project activity should be defined clearly. Documents generated in this phase are commonly known as requirement documents.
- Planning: This phase is responsible for planning the strategy to work on all of the project requirements listed in the previous phase. This phase is very critical in any project because poor project planning can cause project failure, so we should always put a good amount of effort into project planning. This phase is also responsible for defining a project's timeline and resource allocation. Resources are selected for respective tasks based on their skillset.
- Executing: In this phase, all project activities are carried out by the respective project team members based on the documentation generated in earlier phases. While working on the activities, every team member is responsible for completing their assigned activities within the timeframe of the activity itself.
- Testing: Once all of the project activities are completed, they are tested against the project requirement to ensure that they are fulfilling customer expectations. Requirements documented in the first phase are used as a base for testing activities. If activities do not fulfill requirements, they are sent back to the respective team for reworking.
- Finishing: This is the final phase of any project. Here, all project activities are complete and the project is ready for closure. Before releasing the output of the project, a final review is done against the project requirement to see whether the project's final output meets all of the requirements. This final review also helps the team to make a note of the challenges that they faced during this project so that the same challenges can be managed properly in all future projects.
Project management is responsible for carrying out all of the preceding phases to ensure that the project target is achieved based on the client project expectation. To implement project management effectively, different project management methodologies are available, which we will be discussing in the next topic.