Below we have highlighted some popular methodologies, including their strengths and weaknesses.

Agile

Agile project management involves breaking a project into smaller pieces that can be finished, tested, polished and delivered separately from each other. Continuous collaboration between project team members and project stakeholders is critical. Agile is typically used in software development, and is a foundation for other methodologies such as Scrum, Lean, Kanban and Six Sigma. The methodology was developed by a group of people who felt traditional, linear methods like Waterfall, were too rigid for software development. Its values and principles have been put forth in the Agile Manifesto.

Pros:

Flexible, highly adaptive to changes in the product

Because you can make changes, it is easier to add up-to-date features

Less defects in the final product

Cons:

Team members must be up-skilled on chosen Agile framework

Risk of scope creep – the flexibility of Agile and lack of a definitive plan for the project can take your project too far from the orginal idea

An Agile derivative, Scrum combines aspects from traditional (Waterfall) and Agile methods. It was originally formalised for software development projects, but can also work for any complex, innovative or new product. Like Agile, it breaks the project down into short, independent cycles, called sprints. The team members, led by a scrum master, meet daily (daily scrum) to discuss progress. Each sprint consists of about two to four weeks to deliver that cycle of the project. Scrum consists of three roles: the product owner (representative of the company), the scrum master (project manager) and the team (project executors). The scrum methodology works best for small teams.

Pros:

Process and management overhead cost is minimal, leading to a quicker and cheaper result

New developments can be tested quickly and mistakes are fixed immediately

Can result in higher revenues – the incremental delivery method shortens the time to market

Daily meetings provide clear visibility of the project development, as well as enabling measurement of individual productivity

Cons:

Prone to scope creep – requirements can change frequently

Daily scrum meetings and frequent reviews take up substantial resources

Needs committed and experienced team members to deliver a project in time

Lean

Agile methodology (which suggests you break the project into smaller parts) and Scrum (which improves on this idea with regular meetings to help manage the process better) both don’t guarantee standardised, high-quality delivery. Enter the Lean method, which is a set of principles for achieving quality, speed and customer alignment. Lean offers workflows that ensure all the separate delivered parts are the same high quality through eliminating delays and waste that might deflect the team’s focus. Each small and autonomous part that is broken off from your project is assigned a workflow with clear instructions on how things should be done.

Pros:

Elimination of waste leads to overall efficiency, which speeds up the development process and reduces project time and cost

Higher quality product, hence elevated customer satisfaction

Creates motivated teams – team members are encouraged to make decisions, rather than having decisions imposed on them

Cons:

Requires discipline from team members

Relies on quick and decisive decision-making, given that the ultimate goal is to get work done faster and cheaper

With too much flexibility, team members can lose sight of original goals

Extreme Programming (XP)

Developed by American software engineer, Kent Beck, Extreme Programming (XP) is best-suited to teams handling fast-changing requirements. In XP, each project is broken into mini projects and also follows similar practices used in other Agile methodologies, albeit to an extreme level. Other elements of XP include: writing simple code; programmers working in pairs; not developing features until they are actually required; and regular interaction with the client.

Pros:

XP focuses on simplicity, and is therefore efficient and ensures quality output

Requires high level of collaboration between client and project team members, which reduces instances of errors

Pair programming reduces dependence on individuals

Cons:

There is a risk of scope creep if the project isn’t managed properly

Pair programming can lead to duplication of data and code

Best suited to small teams

Waterfall

Waterfall is a sequential design process in which progress is seen as flowing steadily downwards (like a waterfall) through phases. With clearly defined goals and a set timeline, teams work through each phase, completing one task before moving to the next in line. You can’t go back once a phase has been completed and there is no room for change or error.

Pros:

Emphasises meticulous record keeping, which enables learning for future projects

You know what to expect, and therefore have an idea of cost and timeline for the project as well as a definite idea of what the end product will be

Largely unaffected by changes in team members, given the method’s strong documentation

Cons:

Little flexibility – you can’t go back to make changes once a stage is done

Relies heavily on initial requirements, which if faulty can doom the project

A project management methodology is essentially a framework for the steps to follow in order to successfully deliver your project. The right methodology depends on the scope of your product, the timeline and available resources.