Waterfall vs. Kanban
There are a lot of popular methodologies in modern software development industry. Waterfall is the most commonly used among them. However, new methodologies originate year after year. Today lots of software development teams and companies all over the world prefer to use Agile methods. In this article we will tell you about the difference between Waterfall and Kanban. Let’s begin our talk with the definitions of these two software development methodologies and descriptions of their main principles.
Waterfall is considered the traditional model of software development. That is because of the fact that it originated in 1950s with the software development industry itself. Waterfall is based on three main principles: low customer involvement, strong project documentation, and sequential structure of projects.
Waterfall teams do not involve their clients into the process of project realization. Usually they conduct only two meetings with their customers during each project. The first meeting is required to set the goals of the project, and the second – to deliver the final product. Low customer involvement often leads to problems with acceptance of software products created by Waterfall teams.
All activities of Waterfall developers are based on project documentation. Its formulation begins at the first meeting with the customer and continues at the stage of design. Strong documentation helps Waterfall teams perform the initial tasks of their projects strictly.
Every Waterfall project has 5 or 7 sequential stages. The product should pass all of them one after another before it is ready. Sometimes sequential structure of Waterfall projects leads to problems and Waterfall teams have to run them from the very beginning.
Kanban is a popular Agile software development methodology. Initially it was a method of manufacturing aimed at delivering the largest amounts of production within the shortest amounts of time. Kanban originated in 1940s in Japan. Later the methodology was applied to software development. Consideration of the customer’s demands, visualization of workflow, and limitation of work in progress are the main principles of Kanban.
Kanban teams involve the customer into the process of project realization to make it more effective. Usually they have a representative of the client in each team. Such representatives are called Product Owners.
Kanban teams visualize their workflow by using Kanban boards. These physical or digital devices are actually tables. Their columns depict stages of work. The tasks are placed on Kanban boards in accordance with the stage of their performance.
In Kanban WIP is usually limited by limiting the amount of tasks performed at the same time.
Kanban vs Waterfall
As you can see, there are lots of differences between Kanban and Waterfall. Both methodologies are aimed at creating high quality software; however, their principles are totally different. It is hard to say which methodology is better. Most developers agree that you should choose the one that fully meets the requirements of your projects.