What is Agile?
Agile methodology is a mindset where the self organizing team frequently collaborates with the stakeholders to understand what to build, release what has been built, gather feedback and convert feedback into learning and make adjustments accordingly.
The Agile Manifesto is a brief document built on 4 values and 12 principles for Agile software development. Agile uncovers better ways of developing software by following
1. Individuals and interactions over Processes and tools
2. Working software over Comprehensive documentation
3. Customer collaboration over Contract negotiation
4. Responding to change over Following a plan
There are main 12 agile principles of agile software development which are listed below:
Agile is an umbrella term for several iterative and incremental software development approaches, with each of those variations. The most popular Agile frameworks include
· Extreme Programming
· Dynamic Systems Development Method,
· Feature-Driven Development.
While each Agile methodology type has its own unique qualities, they all involve continuous planning, continuous testing, continuous integration, and other forms of continuous development of both the project and the application resulting from the Agile framework.
In this blog, let’s discuss in detail about Scrum framework
Scrum Framework – “Get Test before you build”
Scrum is an iterative, incremental framework for projects or product development. It mainly focuses on Transparency, Inspection and Adaption in the Analysis, Design, Test and Build phase of the project.
Scrum structures in cycles of work called Sprint. Sprint is a time box where all the scrum ceremonies happen which is usually less than one month in length. The Sprints end on a specific date whether the work completed or not and never extended. Hence it is called Time boxed.
At the beginning of Sprint, the development team selects user stories from a prioritized list and commits to complete the same by the end of the Sprint. The team daily meets to discuss the progress. At the end of the Sprint, the team reviews the work and demonstrates what they have built.
Scrum At a Glance
Let us go through Scrum artifacts before diving in detail about Scrum framework:
Role of Scrum Team
The three main roles in the Scrum Team includes
1. Product Owner
2. Development team
3. Scrum Master
Scrum ceremonies are the process which happens in each sprint. The major five scrum Ceremonies are
1. Backlog refinement
During backlog refinement, the PO ensures
· the product backlog is clean, neat, prioritized and estimated
· the dev team has sufficient information to estimate new work and develop it
2. Sprint Planning
In Scrum, Sprint planning meeting generally have two steps:
a. Determine what work will be done – The Product owner gives an insight to the team about the sprint goal and presents the prioritized product backlog to the team. The Dev team chooses the stories to be performed in the particular sprint based on the past performance of the team.
b. Determine how it will be accomplished – In the second step, the dev team collaborates to decide how to produce the next Product Increment. They will do sufficient design and planning to complete the stories within the time frame.
At the end of Sprint planning, the team has decided the stories which they will work on during the particular sprint, which is called as Sprint Backlog.
3. Daily Scrum
Once the Sprint has started, the Team engages in another key Scrum process – Daily Scrum meeting or Daily Stand up. This is a short meeting (15 minutes) that happens every day at an appointed time. During this meeting all team members will discuss the following
· What did I do yesterday?
· What I will do today?
· Discuss about any impediments, if the person has any
This information may result in re-planning and further discussions immediately after stand up. It really helps the team members to understand what others are doing and gives transparency.
4. Sprint Review
Sprint review happens at the end of each Sprint and the team discusses the following points:
· PO describes the progress of the sprint,
· Dev team discusses the challenges and approaches and demonstrates what has been completed during the particular sprint,
· Demonstrates the increment built during the sprint and
· Review release burn down to gain feedback to steer product
5. Sprint Retrospective
Following the Sprint Review, the team gets together for the Sprint Retrospective to discuss about what went well, what’s not working and what improvements can be taken to improve the product increment.
In summary, Scrum is an important agile framework which follows an iterative and time boxed approach for continuous delivery and development.