Agile, Scrum, Waterfall and Kanban: Project Management Methodology

0

There are a number of project management methodology that you can use over the course of a project. Amongst those are Agile, Scrum, Waterfall and Kanban.

Some like agile methodology as  it follows an incremental approach. It’s open to changing requirements over time and allows constant feedback from the end users. Others, like Kanban, as its advocates for continuous flow. Each method has a pros and cons, and we will determine which one to use that meets your requirements.

Agile
Agile methodology is a flexible way to produce deliverables without the need for substantial changes and reworking. Projects can be broken down into smaller tasks and this allows for substantial risk reduction through earlier assessment, testing and analysis. The main drawback of Agile is that if it is not fully grasped, the methodology could lead to unattainable expectations. It follows an incremental approach (a little more is added each time until the product is finished).
Because changes are allowed after the initial planning, add on features that’s in pace with the existing industry can be added easily. The Project is evaluated at the end of each sprint to allow the clients and end users to get the final product on time. It’s also tested thoroughly, as a result,  the product could be launched at the end of any cycle.

Waterfall
Like the construction workflow process, the waterfall model is the one in which you see the each phase cycle of the product in sequence.

The following phases are followed in order according to Winston W. Royce’s original waterfall mode:

  • System and software requirements: captured in a product requirements document
  • Analysis: resulting in models, schema, and business rules
  • Design: resulting in the software architecture
  • Coding: the development, proving, and integration of software
  • Testing: the systematic discovery and debugging of defects
  • Operations: the installation, migration, support, and maintenance of complete systems

As you see in this non-iterative process, it’s quite hard to make any changes during late stage of the cycle (e.g. testing and operations). This is the reason why traditional waterfall methods for software development is declining in popularity, and being replaced by more recently developed Agile methodologies.

There are several well known waterfall methodologies that are still being implemented on IT projects such as PRINCE2 and PMI PMP.

waterfall_model-svg
Scrum
Scrum is an iterative software development framework for managing product development using one or more cross-functional, self-organizing team. It has three core roles which are the Product Owner, Development Team and Scrum Master.

It’s also a subset of Agile and one of important frameworks for implementing Agile.

Scrum has Fixed-length iterations called sprints that can last one to two weeks long (never more than 30 days), which allows the developers to ship their product on a regular basis.
It’s usually associated with object-oriented software development and has a great potential benefit involving knowledge creation and collaboration.

scrum

Kanban
Kanban (means signboard or billboard in Japanese) is another popular framework used by software developers practicing agile software development. It uses “just in time” (or JIT) manufacturing process focused primarily on minimizing flow times within the production system. This gives developers more faster output, flexible planning options, and a clearer focus throughout the development cycle.

The Kanban methodology revolves around a Kanban board that gives full transparency of the work and real-time communication of capacity. It can be seen as the only source of truth in the developer’s work. It also offers advantages to task planning and throughput for teams.

agile_kanban_board