What is project management?
According to APM, "project management is the application of processes, methods, skills, knowledge and experience to achieve specific project objectives according to the project acceptance criteria within agreed parameters. Project management has final deliverables that are constrained to a finite timescale and budget.
A key factor that distinguishes project management from just 'management' is that it has this final deliverable and a finite timespan, unlike management which is an ongoing process. Because of this a project professional needs a wide range of skills; often technical skills, and certainly people management skills and good business awareness." (Source: https://www.apm.org.uk/resources/what-is-project-management/)
Project management evolution
Modern project management methodologies may be traced back to the 60s of the 20th century, when two major lines of innovations evoked a need for complex project management approach. The two major innovative streams were:
1. the first complex projects in information technology
2. the space conquest (reaching the orbit, sending a man to the space, moon landing) etc. in the midst of a cold-war between the two political bloks of that time period
These two types of projects were by far too complex to just rely on the major (and indisputadly up to today the crutial) tool of any project manager - common sense. More tools and methods were urgently need to achieve those challenging goals. Still today, we may see many of the approaches that were orginally developed by NASA, Department of Defence or pioneer IT companies to be frequently and commonly used by project managers across different industries and specialisations.
Project management approaches
There are two major distinct approaches to project management:
1. waterfall approach
2. agile approach
Waterfall project management approach
In waterfall approach, there is a pre-defined sequence of steps and stages followed in the process of project completion. With some small overlap, each stage starts after the prior one is completed.
The typical stages of waterfall project management are:
- Requirements: This is the stage in which the manager analyzes and gathers all the requirements and documentation for the project.
- System design: During this phase, the manager designs the workflow model for the project.
- Implementation: The system is put into practice in this phase; this is the stage where things get built.
- Testing: During this phase, each element is tested to ensure they work as expected and fulfill the necessary requirements.
- Deployment (in the case of a service) or delivery (in the case of a product): The service or product is officially launched in this phase.
- Maintenance: In this final, ongoing stage, the team performs upkeep and maintenance on the resulting product or service. (Source: https://www.wrike.com/project-management-guide/faq/what-is-waterfall-project-management/)
Agile approach to project management
APM defines agile approach as "Agile project management is an iterative approach to delivering a project throughout its life cycle.
Iterative or agile life cycles are composed of several iterations or incremental steps towards the completion of a project. Iterative approaches are frequently used in software development projects to promote velocity and adaptability since the benefit of iteration is that you can adjust as you go along rather than following a linear path. One of the aims of an agile or iterative approach is to release benefits throughout the process rather than only at the end. At the core, agile projects should exhibit central values and behaviours of trust, flexibility, empowerment and collaboration." (Source: https://www.apm.org.uk/resources/find-a-resource/agile-project-management/)
Whereas agile project management are gaining a lot of attention recently, the waterfall project management approach keeps being a valid and powerful tool to be used in certain types of projects, environments and circumstances. Certainly, a good knowledge of the classical waterfall approach is helpful to understand concept of project life-cycle and grasp the overall project complexity. In the following modules, we will concentrate primarily on the waterfall approach. However, one specific module will be devoted to SCRUM as a typical example of agile project management approach.