Agile vs Scrum
Agile
Agile management represents various software-development
methodologies that have been influenced by iterative and incremental
development, which includes Extreme Programming (XP), Rational Unified Process
(RUP), Scrum, and others.
Agile process or methods provide an environment where there is
constant evolution in requirements and evolution as a result of collaboration
between self-organising cross-functional teams.
Agile methodologies foster a disciplined project-management
approach that encourages a set of best practices, allowing a rapid delivery of
high-quality software and enhancing a business approach, which aligns
development with the customer needs.
The Agile methodologies
stand in contrast to the traditional waterfall methodology, where all the requirements
are initially analysed and documented before the development begins. While in
Agile approach, requirements are like the actual software-development advances
within each iteration. This approach provides flexibility in accommodating
changes in the requirements and priorities of the business.
Scrum
Scrum, on the other hand, is a subset of Agile. A Scrum is a
simple and flexible Agile methodology for software development.
The Scrum is not a technique or a process but a lightweight and
simple framework to address complex problems of a project and deliver a
high-value product creatively. The major distinguishing attributes of Scrum are
as follows:
1)
Simplicity
The development in Scrum is done in sprints, which are 1, 2, and 3
weeks in length. The Scrum team consists of:
1.1)
Product Owner: The major responsibility of the product owner
is to maximize the value of the product and work of the development team.
Additional duties include managing the product catalogue.
1.2)
Scrum Master: The development team consists of self-organising
professionals who turn the product catalogue into product increment at the end
of each sprint.
1.3)
Development Team: The Scrum Masters make sure that the
Scrum team is abiding by the Scrum theory and its rules.
2)
Flexibility
In the traditional waterfall model, when the business and
technical requirements are documented and detailed, it results in endless
documentation. The Scrum makes use of user stories to describe the functions
needed to be developed. A tool called Pivotal Tracker is used to store these
user stories in a backlog. If a change needs to be made or a need arises to add
to the user stories, in that case the team can adjust as early as the next
sprint. This allows the business to change their minds and the development team
to be flexible enough to adjust to those changes. The ability to accommodate
change is a powerful attribute of the Scrum methodology.
3)
Communication and Collaboration
In Scrum methodology, the communication between business users
takes place on a daily/weekly basis according to the sprint schedule. This
close communication and collaboration is a crucial factor, promoting the
success of the Scrum methodology. The Scrum team achieves collaboration in
following ways:
·
The Product Owner, the Scrum Master, and the
development team work closely on a daily basis.
·
Sprint-planning meetings are conducted, which
allows the development team to organise its work based on the knowledge
gathered from the business priorities.
·
Conducting daily scrum meetings where the
development team can account for the work completed, its future prospects, and
deal with issues if any.
·
Conducting sprint reviews allows the team
members to evaluate their former work by recommending better practices with
every sprint.