Choosing the right project management philosophies can help your MSP projects go smoothly. Here are some things to consider when you decide.
If your MSP is taking on complex projects, you are likely facing a decision about how to manage them. You don’t want to make it up as you go along. Chaos is expensive. Nor do you want to get knee deep into a project and discover you chose the wrong methodology. With their high popularity, there is a good chance Agile and Waterfall are probably the two theories of project management you are considering. These philosophies were designed to help project managers lead a team of people through a complex project. But each approaches the problem from different angles.
How do you know which of these guiding principles you prefer? Each method has true believers. But your decision should be based on what you are trying to manage – and your work style – rather than an allegiance to an idea.
Here is a breakdown of the pros and cons of these two popular approaches to managing projects and how they apply to MSPs.
The pros and cons of Agile for MSPs
Agile was designed to help teams deliver quality software within a turbulent, complex environment. It is meant to help you keep moving the project forward while adapting to change. It favors rigor and tailoring principles to your organization – though there are some external organizations that can provide guidance (such as this example from the Agile Alliance). This philosophy comes with practices, too: Pair programming, test-driven development, stand-ups, sprint planning, and sprints.
Agile was created to guide a complex project – with lots of contributors – and many moving pieces moving toward the goal. The original goal, though, was to build software that meets the needs of the client. The process is set up to avoid getting to the end of the project before discovering that the software either doesn’t work or isn’t what the client had in mind.
Agile does this through the idea of iterative and incremental development. The project is divided into small, frequent releases (sprints). Each of these sprints has a fixed duration and delivers – at the end – a working product or feature that can be examined, tested, debugged, or reviewed by the team and the customer. The end of each sprint invites feedback and communication from the customer and the team.
Agile – like most project management methodologies – is managed with a framework. One popular Agile framework is Scrum, which is a simple set of rules to help teams plan, control, improve, and manage the work – and the sprints – that lead to the end product.
Kanban – a board tasks get moved around on – is a way of visualizing work that can be used within a Scrum framework that’s following an Agile methodology.
It is very common for a team that is using Agile to hold frequent standup meetings that examine the progress and move tasks along the Kanban board.
Some of the advantages of Agile are:
Makes it possible to quickly deliver a product that will make customers happy.
Prevents a team from getting to the end of the project only to discover the customer wanted something else.
Encourages experimentation and learning, which people working on the project usually enjoy.
Builds testing and feedback into the development process.
Enhances team morale and motivation by giving team members autonomy and ownership.
Iterative approach reduces risk for projects with a lot of “unknowns”
Some of the disadvantages of Agile are:
It requires a high level of customer involvement and collaboration, which may not be feasible for MSPs working with non-technical clients.
The requests for feedback and mid-project critiques can cause scope creep. The second principle of Agile is, after all, “welcome changing requirements.”
Inviting constant change makes it difficult to estimate the cost, time, and resources needed for the project, since the project isn’t fully defined or planned upfront.
It may not be the best choice if your project has independent – or fixed – requirements. If, for example, you can’t upgrade a network until the hardware is delivered, this is probably not the best methodology.
Your clients might resist the constant attention and frequent deadlines this system requires.
It does not play well with teams that float between projects and tickets.
Requires discipline and customers may be confused by methodology and process.
The pros and cons of Waterfall for MSPs
Waterfall takes a linear approach to project management. It relies on step-by-step planning. You map out the project in the beginning and flow – like a waterfall – through the stages – or phases – of the project. You complete each stage before you start the next. Many engineers tend love this sequential process because it is akin to the idea of “measure twice, cut once.” Plan carefully before you execute, and you will make fewer mistakes and arrive where you meant to go when you intended to get there.
It is well suited to projects that have a clear, defined goal such as a software upgrade or a network installation.
In Waterfall, most projects are divided into five phases: planning, design, implementation, verification, and maintenance. But this framework can be altered based on the project you are doing. This method leans heavily on software planning tools because you have to record all those plans on a map before you execute them with a team.
The visualization tools often used for Waterfall are Gantt and Pert charts, which display the project’s critical path. These allow teams to visualize the progress of the tasks and phases and to keep track of the many deadlines, subtasks, and milestones that go into a complex project.
Some of the advantages of Waterfall are:
This methodology works well for projects that are well defined and have a clear outcome – such as a Firewall installation or network upgrade.
With a clear and detailed plan for the project, it is easier to scope – and accurately price – a project and, therefore, to manage the expectations and requirements of the customer when things start to creep outside that scope.
The planning stage allows you to give resources an accurate estimate of how much – and when – their time will be required.
This plan will show you when roadblocks and setbacks are affecting the timeline, allowing you to mitigate the plan or schedule work concurrently to meet the deadline.
Planning carefully at the beginning ensures that your services are always of a high quality and consistency and allows you to use your documentation to iterate toward improvement every time you perform the same service.
Waterfall is a good choice for projects that have stable, well-defined, and predictable requirements, or that require a high level of reliability or compliance.
Customers often like the traditional and hierarchical organizational culture, which is familiar.
Communication of deliverables and timeline is easy for customers to understand
Allows for the development of repeatable templates and process to improve delivery efficiencies and margin
Agreed upon scope, timeline, and budget, helps to prevent scope creep and margin degradation.
Some of the disadvantages of Waterfall are:
Customers don’t get as involved in the process, which can mean providing them with constant updates. (This can be a pro in some scenarios.)
If you are building a tool or creating software where there are a lot of “unknowns”, Waterfall increases the risk of delivering an end result that is not what the customer imagined since they don’t see it until it is done.
It doesn’t encourage innovation and creativity. The project is constrained by the plan and scope. There is less opportunity for experimentation.
For creative projects, it can deliver a result that hasn’t been tested until delivery day, which can lead to completed projects that are costly to fix or redo.
The team might miss the ownership and creative process of the sprint process, which allows for high levels of autonomy. This method is fairly inflexible.
Often requires trained project manager to ensure that project is delivered on time and within budget.
Choosing between Agile and Waterfall requires that you take a big picture look at the work you are doing and the team you have before you choose the one that matches your goals and strengths and minimizes your weaknesses.
If you are installing hardware, with little opportunity for creativity or thinking out of the box, Waterfall will help you plan, scope, price, and deliver that project on time. The same is true for upgrades, software installations, and hardware installations. If you are building software, creating something unique, or going off the map for some reason, Agile might be a better choice.
There is no definitive answer to which one is better, as it depends on the nature, scope, and complexity of the project, as well as the preferences and expectations of the customer and the team.
Stay ahead of industry trends, gain actionable insights, and elevate your project management skills with Moovila. Discover more resources and project management best practices by signing up for our monthly webinar series or exploring our other blogs on project management for MSPs.