There are so many project management methodologies that it can be difficult to choose the right one.
But here's the secret: you don't really need a project management methodology.
Project management methodology is nothing but a definition of the way you work. If you already have some workflow in place (even if it's not optimal), you don't need to burden yourself with complicated methodologies.
The truth is, 90% of all project management methodologies out there are used for managing enormous projects, justifying consulting fees, or both. The chance is, if you're running a small business or an agency, you'll only waste time and energy by learning what is PRINCE2 or how to create a PERT chart.
Although you don't need a methodology, you could still use learning some project management concepts. Learning what is buffer time or why yoou should limit work-in-progress can greatly boost your productivity.
- Read about Theory of Constrains, Critical Chain, and a few other books
- Learn how to use a Gantt chart
- Adopt a light-weight project management process (like Kanban or Scrum)
- Invest in a good project management tool
Everything else is unnecessary.
A Brief Overview of the Most Common Methodologies
General project management methodologies
Traditional Project Management
Traditional project management is the most common way people manage projects. It's not a methodology but a collection of techniques, like WBS (work breakdown structure), dividing a project into phases, Gantt-charts, etc.
PERT Network Chart
PERT network chart is an advanced tool used for calculating how much time each activity can take so you can see what tasks are allowed to be late. It's a useful tool, but in practice it takes too much time, plus someone on the team needs to update it constantly for it to be useful. PERT is mostly used on huge, complex projects with activities where time is unpredictable.
Critical Path Method (CPM)
Critical Path Method is very similar to PERT, only CPM doesn't take into account multiple times (optimistic, pessimistic, optimal). As such, CPM is used on predictable projects, primarily to control cost (and not time, as in PERT).
Critical Chain Project Management (CCPM)
In Critical Chain Project Management, you calculate which tasks are critical for project completion (like in CPM and PERT), while taking into the account existing resources. This is a useful methodology to know as it can help you better plan and estimate projects, but it's not very practical as there are easier methods that are more convenient (and easier to learn) in everyday work.
Adaptive Project Management
Adaptive Project Management lets you change project plan as you go along and get feedback. It's used on huge projects where requirements are uncertain. It's similar to Agile (which is used on software development projects).
Extreme Project Management (XPM)
Extreme Project Management (XPM) is almost exactly like Adaptive Project Management, only created by a different team of consultants.
Six Sigma Methodology
Six Sigma Methodology is used in manufacturing to keep number of defects low. As such, it's not really useful in project management (the only reason we include it here is because you can often hear about Six Sigma in context of project management, and that is because in manufacturing a project means something else).
Theory of Constraints
Theory of Constraints is a methodology which helps you identify bottlenecks and solve them. The whole idea is that bottlenecks limit how much you can accomplish and you should focus all your energy on fixing them. Like CCPM, it's a useful concept to know about, but it won't help you manage projects (the workflow is more suited to manufacturing).
PRINCE2 Project Management
PRINCE2 is the only full-fledged project management methodology so far. It describes how all your processes should look like, in great detail. It clarifies deliveries, ensures processes are repeatable, defines roles and responsibilities, etc. As such, it’s great if you run large, predictable, enterprise projects. On the other hand, for everyone else (including agencies), PRINCE2 is too complicated to be useful.
Project management methodologies used in software development
Waterfall vs Agile
There are two basic ways to manage software development projects: waterfall and agile. Waterfall methodology works the same as traditional project management (plan everything upfront using Gantt charts). In Agile, on the other hand, you don't make big plans - instead, you iterate until you get it right.
There's nothing special about waterfall. It's the same as traditional project management, only used in context of software development, and to serve as contrast to Agile.
Agile is best suited for small-to-medium size organizations because the less people there are, the easier it is to make a decision and respond to change. Also, agile is more suited for product companies than agencies.
Agile isn’t the right approach for every software project. If you don’t have access to customers, can’t iterate, or if you have complex organizational structure, it’s difficult to adhere to agile principles. You can read more on agile advantages and disadvantages here.
Note that Agile is only a set of principles and there are no processes you can follow to manage projects. Instead, you'll have to use one of the agile methodologies or come up with your own workflow.
Also, although in agile and waterfall differ in theory, in practice there's not that much difference.
Scrum Project Management
When people say they use agile to manage projects, they usually mean they use Scrum. Although Scrum project management is mostly used on software development projects, it can also be used in education, government, and other industries. Scrum is a framework, which means you can adopt it to suit to your workflow. If you run complex or semi-complex projects, Scrum is a good choice.
Kanban Project Management
Kanban is the simplest and most flexible methodology. It works for everyone, from teams in enterprises to small agencies (it even works as a personal productivity tool). All you need to get started is a Kanban board so you can see at what stage each task is, and that's it. If you need more, Kanban also has advanced concepts such as controlling bottlenecks and more. Kanban is the most versatile methodology, so if you're new to project management, start with Kanban.
Rational Unified Process (RUP)
Rational Unified Process is a complicated agile methodology. It's a cross between Scrum and waterfall (as you divide a project into phases and plan for iterations). But because it's formalistic, heavy-weight, and highly-ceremonious, it's mostly used for large, complex, and long-term projects - ie. projects in enterprises.
Crystal Methods is not a single one-size-fits-all methodology but a family of several methodologies where you use one of the methods depending on the size of your team. The downside to Crystal Methods is that learning it is not easy: there is no quick and easy guide, the community is very small (compared to Scrum), and it's difficult to find an expert.
Feature Driven Development
Feature Driven Development is similar to Scrum, and serves as a great stepping stone for companies who want to transition to Agile. FDD invests more time in upfront requirements and has well defined steps (like in Waterfall), while still following core agile principles.
Joint Application Development
Joint Application Development is not a full methodology but more a technique. It's used for defining software requirements through a series of workshops that last for a few days, called JAD sessions. It's used in big IT companies who use more traditional methodologies (the whole point of a JAD session is one big specification).
Extreme Programming (XP)
Extreme Programming (XP) is very similar to Scrum, only it's designed specifically for pure software development. Unlike Scrum, XP prescribes development processes like test-driven development, refactoring, pair programming, continuous integration, coding standards, etc. If you run purely software development projects, XP is a good alternative to Scrum. It works similar to Scrum (so your team won't have trouble adjusting), contains a lot of best development practices, the community is big, and there are a lot of good resources to get started.
Why agile doesn't work for digital agencies
Although agile is a huge buzzword, the truth is, agile doesn't really work in an agency setting. Agencies regularly deal with new technologies and vague requirements, and struggle with accurate estimates so you'd think agile would be perfect. But it isn't because clients prefer the predictability of the deliverables, budgets, and timeline that only waterfall can give.
The client wants to know how much it's going to cost and when it will be finished. All agile can say is "we'll see", which is not something a client wants to hear.
The flexibility agile gives is very expensive. If you pivot and change plan, as agile encourages you to, you still need to bill your client for spent time while giving them little in return.
Another problem with agile in an agency setting is that to be truly agile, you need constant access to the client and they need to provide feedback on the fly to keep the project moving. This is not possible. The most common reason why projects are late is because agency has to wait for client feedback. Agile would only make deadlines worse, while the upside - what the client really needs - is not that important.
In the end, whether agile can work for you depends on your clients and the trust between: do clients trust you to deliver and are they willing to pay for failures on the path to success? The most common answer is no.
Agencies want to get paid for their time, and clients want agencies to deliver best work right at the start. And that is the main reason why agile doesn't work for agencies.
What’s the best methodology for digital agencies?
Out of all the project management methodologies, only a handful of them are applicable for digital agencies.
If you run a marketing/design agency
If you run a marketing/design agency, all you need is Kanban and a few techniques from traditional project management. Scrum can also work (like when you're working on a long-term project) but that's very rare because most agency contracts are finished after 3 iterations, and the client won't like the idea of getting half-finished work and wait while you iterate.
If you run a development agency or a consultancy
If you run a development agency or a consultancy, you can use Kanban, Scrum, or XP, with this caveat: if you work on short-term, on-and-off projects, Scrum and XP will be a tough sell for the client (although you can still use some best practices from each methodology).
In a nutshell you won't go wrong with Kanban + a few traditional project management techniques, no matter what types of projects you have. Further, if you work on big, complex, and long-term software projects, you can adopt to Scrum or XP to boost productivity even more.
Does that mean there's nothing useful to learn that can help you better manage projects?
Not true. Although you shouldn't waste time with project management methodologies, there is still a lot you can learn about project management that will help you increase productivity (like planning poker, buffer time, critical chain, limiting bottlenecks, RACI matrix, etc.).
The point is, don't overburden yourself with methodologies but instead learn general techniques and tools that can be used regardless of the methodology, and see if they are applicable to your work.