Many organizations all over the world are finding it hard to keep up
with the fast-changing business scenarios, using the traditional project
management methods. These scenarios may include periodic customer
demands, fast-changing project requirements, and issues relating to
support activities and so on. Increasingly, project managers and
software developers have started to prefer Agile software development
methods. Even the US Department of Defense, in a recent update to its
procurement rules has made known its non-preference for ‘Waterfall
model’-based project management solutions. Some of the most popular
methods include Rational Unified Process, Scrum, Extreme Programming and
Dynamic Systems Development Method.
An overview of the Agile methodology
The year 2001 saw the ‘Agile Manifesto’ being formulated by seventeen
software programmers at Snowbird Resort in Utah, USA. The Agile
Manifesto gives us twelve important principles, which include customer
satisfaction, communication, co-operation, the importance of working
software, and welcoming change.
Agile methods break-up complex tasks into small increments with
nominal planning. Iterations are short time frames that may last between
one to four weeks. The iteration involves a team with cross-functional
skills. Planning, requirements analysis, designing, coding, unit
testing, and acceptance testing are all taken care of by the same team.
At the end of the iteration, a working product is presented to
stakeholders. This reduces overall risk and allows the project to adapt
to changes swiftly.
An overview of the Scrum Methodology
Scrum is one of the most popular Agile methodologies. As per the
Scrum Book of Knowledge, Scrum is an adaptive, iterative, fast and
flexible methodology designed to quickly deliver significant value
during a project. It ensures transparency in communication and creates
an environment of collective accountability and continuous progress.
The typical Scrum project will include the below-mentioned steps:
- The Project Vision is created during Stakeholder Meeting, following
which the Product Owner develops a Prioritized Product Backlog. This
includes a ranked list of business requirements written in the form of
User Stories).
- The Product Owner consents about the Deliverables only if they meet
the previously agreed Acceptance Criteria.The Sprint comes to an end
with a Retrospect Sprint Meeting where the Scrum team deliberates ways
to develop processes as they move ahead into succeeding Sprints.
- A Sprint Planning Meeting is the first activity within a Sprint,
during which high priority User Stories in the Prioritized Product
Backlog are considered to be included within the Sprint.
- A Sprint usually lasts between one and six weeks, where the Scrum
Team works to create theoretically shippable Deliverables or product
increments.
- During the Sprint, short yet extremely focused Daily Standup
Meetings are coordinated by the Scrum Master where the Scrum Team
discusses progress.
- Toward the end of the Sprint, a Sprint Review Meeting is held during
which the Product Owner and relevant stakeholder(s) are provided a
demonstration of the Deliverables.