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.