If you work in software development, you’ve definitely heard this question before: “Which project management methodology should we use?”
There are two basic methodologies that most people have heard of: Waterfall and Agile. A lot of companies offer Agile and Waterfall consulting, and will be more than happy to guide you towards the right one for you.
For now, let’s break them down and address the strengths and weaknesses of each.
Waterfall: A Connected Sequence of Orderly Items
Known as the most “traditional” form out of the two, it’s a linear, predictive plan-driven approach that works better in a stable environment, when working with a physical object, such as a household product, or when working towards a project that has been executed many times before. Backed with tools such as Microsoft Project and Oracle Primavera P6, Waterfall flows downwards in one direction, following a straightforward structure that usually goes as follows: System and software requirements, analysis, design, coding, testing and operations.
These stages do not happen simultaneously, nor do they overlap: Each one finishes before the other begins, which makes it very easy to track progress. However, the success of this methodology depends on your team’s understanding of the full scope of the work in advance. That means that you must gather your client’s requirements ahead and in detail, something that may be difficult when their project is still in its infancy.
With a low degree of customer engagement, there’s also a greater chance that the final product will not resemble exactly what they envisioned. Unfortunately, by the time you hear about their dissatisfaction, it might be difficult to implement changes.
Agile: Individuals Over Tools
Agile is more receptive to change. Indeed, this adaptive, value-driven approach demands that the team works extensively with the customer, giving him plenty of input and access
to the project while it’s underway. Collaboration is also key to self-organizing, cross-functioning teams that often share the same space.
Time is divided into phases called “sprints”, each leading to functional elements of the final product, and tracked with six main deliverables (product vision statement, product roadmap, product backlog, release plan, sprint backlog, and increment). Involving plenty of back-and-forth with the client throughout the entire project, it is obviously more difficult to stay in schedule when implementing an Agile methodology. This interactive approach can also be tedious or too time-consuming to workers and customers with limited time or patience.
Agile is a methodology with methodologies within itself, such as Scrum and Kanban. Scrum applies five fundamental values (commitment, courage, focus, openness, respect) to roles, events, and artifacts, while Kanban is a highly visual method developed in Japanese Toyota factories in the 1940s. The latter is well-known for its application of a self-explanatory, basic three-column structure: To-Do, Doing and Done! It can’t get more simple than that.
Whatever you choose, Agile and Waterfall consulting is your best friend. Never hesitate to ask help from professionals to prevent and face any issues that can come your way!