Scrum vs Traditional Method
The issue of difference between traditional and Agile software development methods is very topical today. Programmers all over the world discuss it to find the best methodology out there. In this article we will compare traditional software development method with the most popular Agile methodology to find the difference between these two approaches to software engineering.
Let’s begin out talk with the definition of the traditional software development model. Most programmers mean Waterfall methodology when they speak about traditional software development. The method originated in the 1950s and was the first hardware development methodology applied to the new software engineering industry. Waterfall has become the most popular software development model since those days. It is now widely used by teams and individual programmers all over the world. Actually, the methodology is based on three main principles: low customer involvement, strong project documentation, and sequential structure of project realization.
Waterfall teams do not involve their customers in the software development process. Usually they conduct only two meetings with their clients during each project.
The first of them takes place before the project starts.
The second meeting is conducted only after the final software product is ready to be delivered.
Strong documentation is another important feature of every Waterfall project. Waterfall teams begin to formulate it at their first meetings with their customers. Strong documentation is required because Waterfall developers do not contact their clients during the process of project realization, so they have to write down all their requirements to the final product. The formulation of project documentation is continued at the design stage, when the plan is created.
Waterfall projects are sequential. It means that each of them has 5 or 7 stages that should be performed one after another. The developers cannot return to the previous stage of project realization even if anything in it went wrong.
Now let’s define the main features of Scrum.
Scrum is currently the most popular Agile methodology. It originated at the beginning of 2000s. The methodology shares all Agile software development principles including: strong communication inside the teams, strong customer involvement, and iterative structure of project realization.
Strong communication is required because Scrum teams are small. They do not have all roles typical for the traditional methodology like analysts, testers, and project managers. A Scrum team has only three roles: the team itself, the Product Owner, and the ScrumMaster. It means that all team members have to communicate constantly to achieve good results.
The customer has his own representative in a Scrum team. This person is called the Product Owner. He is the one who is responsible for product backlog formulation.
Unlike Waterfall projects, Scrum projects have iterative cycles. It means that the customer can see the intermediate product after each sprint (Scrum iteration).