In this article, we will have a deep dive into agile software development approach. Before that, let us discuss the definition of framework.
What is a framework?
A framework gives a clear picture about the best practices, events, and accountabilities. But it does not instruct do a task. Scrum is an extremely popular agile software development framework. Scrum does not define agile methods. Hence, Scrum only describes the followings:
1. Artifacts
2. Events
3. Accountabilities a team should have to become agile
Why is Agile Software Development very efficient?
There are many software developments frameworks and models available. One extremely popular software development model is Waterfall Model. In Waterfall Model, the entire design and development of the product happens first. Next, the validation team validates the product. In this approach, there is a possibility that developers may ignore a minor issue in the product. This may happen during the development phase. Later verification engineers may detect it during verification or testing. Thus, Waterfall Model is a sequential model.

In contrast to this, agile approaches are iterative methods to develop products. Development, verification, and adaptation of the product happen almost at the same time. The backlogs of the products are adapted iteratively throughout the sprints. To implement the agile philosophy, we need a framework. Scrum is a lightweight agile framework. Scrum is called lightweight because it is designed for a small team. The team must contain less than eleven people. Scrum creates value of a product iteratively and adaptively. Scrum does it in small cycles called sprints. For a large team, a scaled version of Scrum called Nexus Scrum is available. Nexus Scrum has multiples Scrum teams in it. Scrum framework is widely used in agile software development. To implement the Scrum framework, many strategic tools are used. Kanban board is a very popular tool to visualize the flow of backlogs.
The main reasons of the efficiency of Scrum framework are explained here. Scrum breaks complex problems into small segments and solve each segment iteratively. This increases the probability of success of medium complex problems. The theory of Scrum is based on lean thinking and empiricism. Scrum controls the risk of a software development project by increasing the transparency. Scrum framework inspects the workflow through regular events. Thus, the risk of product development reduces further. With agile philosophy, the changes are adopted fast. It uses adaptive and incremental strategy.
What is Scrum?
SCRUM is a framework of product development. It defines adaptive and iterative approach to develop a product. Scrum framework is people centric. It expects Commitment, Focus, Openness, Respect and Courage in the developers. A Scrum Team consists of three accountabilities.
Product Owner: A product owner is accountable for maximizing the product’s value. A product owner prioritizes the product backlogs to maximize the product’s value. One product can have one product owner.
Scrum Master: A Scrum Master is accountable for implementing Scrum framework. Let us take an example. A developer of a Scrum Team is not sure about a product backlog. They can request the Scrum Master help them clear their doubt. The Scrum is not responsible to clear the doubt. A Scrum Master is accountable to increase the transparency. So, the Scrum Master requests Product Owner to explain the product backlog again. This Is how Scrum Master helps implement the Scrum framework.
Developers: Developers in Scrum Team are coders, testers. They are self-manageable. They have all competencies to develop a product.
To implement Scrum framework, the Scrum guide defines the following Scrum events.
Sprints: It is a time-boxed event. It has Sprint planning, Daily Scrum, Sprint Review and Sprint Retrospective.
Sprint planning: In this event, the Scrum Team sets the sprint goals.
Daily Scrum: In this daily event, the developers discuss among themselves. They adapt their work accordingly to reach the sprint goal. They make sure that the sprint goal is reached.
Sprint Review: The Scrum Team and the stakeholders join the meeting. The product increments are analyzed, and product backlogs are adjusted.
Sprint Retrospective: In this event, the Scrum Team discusses the best practices. Scrum team also discusses blockers, and definition of done.
Scrum framework has Scrum Artifacts. They are explained below.
Product Backlog: List of tasks to do to reach product goal.
Sprint Backlog: List of tasks to do to reach sprint goal. Sprint goals are subsets of product goals.
Increment: Useful update of a product.
Definition of Done: Definition of Done are checklists and KPIs. Developers can release a product increment only when Definition of Done is met. This ensures the quality of a product.
How to implement agile software development philosophy?
Scrum guide does not instruct the implementation of Scrum framework. The Scrum Team is a self-manageable team. So, the team decides on its own the implementation of Scrum framework. To visualize the flow of product backlogs, many developers prefer Kanban boards. Kanban boards are the visual boards. They can tell the continuous flow of the backlogs. The backlogs are defined as tickets or cards. There are tools like Jira, Kanbo. They have digital Kanban boards. Kanban strategy defines the following methods:
1. Visualize the Product Backlogs
2. Visualize the To-dos
3. Visualize the Work in Progress
4. Visualize the blockers
5. Visualize the tasks Done
It defines visual methods to track the flow of the tasks and highlight the age of the tickets.
What is the value of a product?
The aim of Scrum framework is to maximize the value of a product. The values of a product or a software developed are:
1. Economic benefit of its customer
2. Reduction of production cost
3. Useful features for its users.
The Product Owner is accountable for maximizing product’s value. Product Owner adjusts the product backlogs to maximize the value.
What are other agile software development frameworks?
Extreme Programming: The goal is to maximize the quality of the software. The framework defines the best practices to achieve this. This framework maximizes the chances of communication and feedback.
Pair Programming: Two developers work together.
Test Driven Development: In this framework, the test specifications are written first. Then code is written.
Behavior Driven Development: In this framework, desired outputs are written as specifications. Then code is written.
More About Scrum
Scrum framework can be applied anywhere! Several Scrum certifications are available at:
Professional Scrum™ Certifications | Scrum.org
The Scrum guide is available at:
The guide for Software Developers is available at:
Leave a comment