Agile - The base of Scrum
Agile,
and the path to Agility is now becoming a much sought after norm for
many businesses across the world. There is a huge demand for
understanding, and implementing, Agile based frameworks. Perhaps one of
the main reasons why Agile is becoming increasingly popular is because
consumer demands are changing radically and people now desire more. And,
people are not ready to wait. They want products which offer good value
for money, and that too with enhanced features. This has created a need
to develop products which are:
- Competitive
- Feature rich
- Quickly available
- Fulfil specific end user requirements
Agile proposes to satisfy these requirements without adding on to the product costs.
The
basic issue with all Agile frameworks is that they are – frameworks.
They offer guidelines how the Agile process can and should be implemented in a project. For that, it becomes imperative to understand
what a framework is, and how it differs from a methodology. Many
individuals still feel Agile is a methodology and they could not be more
wrong.
Agile methodology misconception
There
is still a misconception regarding Agile – some people still tend to
refer to Agile as a methodology. This is not true. A methodology offers a
set of rules, principles, tools, or practices that can be used to
conduct processes and achieve certain goals. A framework, on the other
hand, is a loose structure that leaves enough room for other tools and
practices to be included, and only provides the process required. In
simple terms, a methodology is like a doctor’s prescription – you have
to “take” it as per instructions provided, while a framework is like
trying out home remedies – you know what can be done to achieve a
particular objective, but it is up to you how to implement the remedy,
and when to implement it. An Agile framework has to be implemented in a
project to be successful, and there are no specific rules about how to
do it. You have to follow certain guidelines and configure your project
to function as per the rules specified in the framework. This is very
much the case with Agile. Agile is a framework.
Agile Scrum salient features
Of all Agile frameworks, Scrum and Extreme Programming “XP” are the most popular. Even though Scrum framework is more generally used for developing software projects,
it can also be used for developing non-IT projects. Scrum constitutes a
collection of ideas and rules pertaining to effective project
management. The framework supports collaboration and self-organisation.
The team members work jointly and develop the project. They collaborate
and share their ideas and findings. Scrum teams self-manage their
activities. The most important aspect of Scrum is that all activities
are time boxed. The client receives working versions of the product
features on a continued basis through product incremental cycles –
sprints – at regular intervals ranging from a week up to a maximum of
one month. Cycles keep on repeating until all product features are
developed and the product is ready.
A
unique aspect about Scrum is that the framework has a capability of adapting itself to changing market conditions, and incorporates those
changes in the product development cycle even late during the
development process. The Scrum process focuses upon responding quickly
and efficiently to changing environments and assimilating those changes
in the product design. The client benefits though the development of a
product that is in tune with the most recent market demands. Moreover,
participation from the end users and incorporating their suggestions
while developing the product features further ensures that the product
developed is most likely to assume a high business value or worth.
- Scrum - an agile process – focuses upon delivering high business values to the client in the shortest time possible.
- It supports rapid and repeated inspection of the actual working software.
- The product is developed in stages through the product incremental cycles known as sprints.
- The client benefits from shippable product releases at the end of incremental cycle.
- Frequent and consistent product increments should be delivered to the client.
- The client, and the business, sets the priority.
- The working process responds quickly and efficiently to the changes occurring in the market conditions, and in incorporating those changes into the product features in the least time possible.
- Scrum teams self-organise and self-manage to determine the most efficient and quick way of delivering high priority features.
Scrum principles
Scrum functions as per certain rules or principles which are very important for its efficient working:
Individuals and interactions | over | Process and tools |
Working software | over | Comprehensive documentation |
Customer collaboration | over | Contract negotiation |
Responding to change | over | Following a plan |