Agile Software development
SCRUM Framework
* *Scrum** is a popular framework used in Agile project management, especially in software
development. It helps teams work together in a flexible and organized way to deliver
products step by step, focusing on continuous improvement.
Here’s a simple introduction:
### Key Features of Scrum:
1. **Sprints**:
- A sprint is a short, fixed period (usually 1-4 weeks) where the team works on a specific
set of tasks. At the end of each sprint, the team delivers a usable piece of the product.
2. **Roles in Scrum**:
- **Product Owner**: Represents the customer or user. They decide what features the
product needs and prioritize them in the *product backlog* (a list of all the work that needs to
be done).
- **Scrum Master**: Helps the team follow Scrum practices and ensures they are focused.
The Scrum Master removes obstacles that may slow down the team.
- **Development Team**: The people who actually work on creating the product, like
developers, designers, and testers. They decide how to complete the tasks in the sprint.
3. **Meetings in Scrum**:
- **Sprint Planning**: Before a sprint starts, the team decides what work will be done in
that sprint.
- **Daily Scrum**: A short daily meeting (usually 15 minutes) where the team talks about
what they did yesterday, what they plan to do today, and any challenges they’re facing.
- **Sprint Review**: At the end of the sprint, the team shows what they have completed to
the stakeholders for feedback.
- **Sprint Retrospective**: After the sprint, the team reflects on what went well and what
could be improved in the next sprint.
4. **Backlog**:
- The **Product Backlog** is a list of all the features and tasks that need to be done for the
project, prioritized by the Product Owner.
- The **Sprint Backlog** contains only the tasks that the team will focus on during the
current sprint.
## Benefits of Scrum:
#
- **Flexible and adaptive**: Scrum allows teams to adapt to changes and feedback quickly.
- **Customer-focused**: By involving the Product Owner and getting regular feedback,
Scrum ensures the product meets customer needs.
- **Continuous improvement**: Through retrospectives, teams constantly find ways to
improve their work process.
crum helps teams stay organized, deliver results in smaller steps, and respond to changes
S
quickly.
Case Study of SCRUM Framework
### Case Study: Developing a Mobile Banking App Using Scrum
### Situation:
#
A software company is developing a mobile banking app for a client. The app needs features
like checking account balance, transferring money, and paying bills. The client wants the app
delivered quickly, but they also expect changes as new banking trends emerge.
The team decides to use the **Scrum framework** to manage the project.
### Step 1: **Product Backlog Creation**
- The **Product Owner** (a representative from the bank) creates a list of features that the
app should have, like user login, account balance display, and bill payments. This list of
features is the **Product Backlog**.
- The Product Owner prioritizes the most important features (e.g., user login and account
balance) to be worked on first.
### Step 2: **Sprint Planning**
- The team holds a **Sprint Planning** meeting. They decide on a two-week sprint.
- The team selects the top features from the product backlog (e.g., user login and account
balance display) and moves them into the **Sprint Backlog**. They commit to completing
these tasks within the two-week sprint.
### Step 3: **Development During Sprint**
- During the sprint, the **Development Team** works on building the user login system and
account balance feature.
- Each day, the team has a **Daily Scrum** meeting, where they briefly discuss what was
done the day before, what they will do today, and any blockers (challenges).
- For example, if a developer has an issue with the login system, the **Scrum Master**
steps in to help solve the problem and keep the team on track.
### Step 4: **Sprint Review**
- At the end of the two-week sprint, the team holds a **Sprint Review** meeting. They
present the working features (user login and account balance) to the Product Owner and
stakeholders.
- The Product Owner tests the app, gives feedback, and asks for minor changes (e.g.,
adjusting the font size on the account balance page).
### Step 5: **Sprint Retrospective**
- After the Sprint Review, the team holds a **Sprint Retrospective** to reflect on how the
sprint went.
- The team identifies what went well (e.g., good collaboration) and what could be improved
(e.g., better communication on design changes). This helps them improve in the next sprint.
### Step 6: **Next Sprint**
- The team then moves on to the next sprint, selecting the next set of features from the
Product Backlog, like the money transfer feature.
- They continue this cycle—plan, build, review, and improve—until the full mobile banking
app is complete.
## Key Takeaways:
#
1. **Small Deliveries**: By delivering usable features (user login, account balance) every two
weeks, the team ensures the client always sees progress.
2. **Customer Feedback**: Regular feedback from the Product Owner allows the team to
make necessary adjustments and ensure the app meets the client’s needs.
3. **Continuous Improvement**: Through the Sprint Retrospective, the team keeps
improving their processes.
his case study shows how Scrum helps a team deliver a product step by step, adapt to
T
changes, and continuously improve their workflow.
Roles in SCRUM Framework
he **Scrum Framework** defines three specific roles that are essential for managing Agile
T
projects effectively. These roles ensure the team stays focused, organized, and continuously
delivers value. The three key roles are:
### 1. **Product Owner**
- **Role**: The Product Owner represents the customer or stakeholders and is responsible
for defining and prioritizing the work that needs to be done.
- **Responsibilities**:
- **Manage the Product Backlog**: The Product Owner creates and manages the
**Product Backlog**, which is a list of features, improvements, and bug fixes needed for the
product.
- **Prioritize Backlog Items**: They ensure the most important features or tasks are
completed first by prioritizing backlog items based on customer needs, business goals, and
market changes.
- **Clarify Requirements**: They work closely with the Development Team to explain the
requirements of each backlog item and clarify any uncertainties.
- **Stakeholder Liaison**: The Product Owner communicates with stakeholders (clients,
management, users) to gather feedback and ensure the product aligns with their
expectations.
- **Maximize Value**: Their main goal is to maximize the value of the product being
developed, ensuring the right features are built at the right time.
- **Key Focus**: Delivering the right product features to meet customer and business
needs.
### 2. **Scrum Master**
- **Role**: The Scrum Master helps the team understand and implement Scrum practices.
They are a coach, facilitator, and guide to ensure the team stays focused on Scrum values
and principles.
- **Responsibilities**:
- **Facilitate Scrum Events**: The Scrum Master organizes and leads key Scrum
ceremonies, such as the **Daily Scrum**, **Sprint Planning**, **Sprint Review**, and
**Sprint Retrospective**.
- **Remove Obstacles**: They help the team by removing any roadblocks or challenges
that might slow down their work.
- **Protect the Team**: They shield the team from distractions or external pressures,
allowing them to focus on delivering the sprint goals.
- **Coach the Team**: The Scrum Master coaches the Development Team on Agile
practices, helping them become self-organizing and efficient.
- **Support Continuous Improvement**: Through retrospectives and ongoing feedback,
the Scrum Master helps the team identify areas for improvement and adopt better practices.
- **Key Focus**: Ensuring the Scrum process is followed and helping the team work
effectively.
### 3. **Development Team**
- **Role**: The Development Team consists of professionals who do the actual work of
building the product. They are self-organizing, meaning they manage their work and decide
how to complete the tasks within each sprint.
- **Responsibilities**:
- **Deliver a Product Increment**: The Development Team is responsible for delivering a
usable, potentially shippable product increment by the end of each sprint.
- **Self-organize Work**: The team decides how to break down tasks, allocate work, and
collaborate to meet the sprint goal. There is no specific leader within the team, and everyone
works together.
- **Collaborate with the Product Owner**: The team works closely with the Product Owner
to understand the requirements and expectations of each backlog item.
- **Ensure Quality**: The team is responsible for writing, testing, and maintaining the
quality of the product.
- **Participate in Scrum Events**: They actively participate in all Scrum events (Daily
Scrum, Sprint Planning, Sprint Review, and Sprint Retrospective) to align their work with the
sprint goals.
- **Key Focus**: Building and delivering the product increment to meet the sprint goal.
## Summary of Roles:
#
1. **Product Owner**: Focuses on prioritizing work and ensuring the team is building the
right product based on customer needs.
2. **Scrum Master**: Facilitates the Scrum process, removes obstacles, and helps the team
work effectively.
3. **Development Team**: Builds the product increment and manages their own work within
the sprint.
ach role has a distinct responsibility, but together they ensure the team delivers high-quality
E
products in an efficient and Agile way.
Events of SCRUM Framework
crum has five key events (also called ceremonies) that structure the workflow in a sprint.
S
Each event is designed to promote communication, transparency, and continuous
improvement. Let’s go through each event and its purpose.
### 1. **Sprint**
- **Definition**: A **sprint** is the heart of Scrum. It’s a fixed time period (usually 1-4
weeks) during which the Scrum team works to complete a specific set of tasks and deliver a
usable product increment.
- **Purpose**: The sprint allows the team to focus on a clear goal and deliver a working
piece of the product in a short, manageable time frame.
- **Key Features**:
- The sprint starts with **Sprint Planning** and ends with a **Sprint Review** and **Sprint
Retrospective**.
- The scope of work for the sprint should not change once the sprint starts, ensuring the
team can focus on their goals.
- Every sprint aims to deliver a **shippable product increment**.
### 2. **Sprint Planning**
- **Definition**: Sprint Planning is the event where the team decides what work will be
done during the upcoming sprint.
- **Purpose**: To create a clear plan for the sprint, including which tasks the team will
complete and how they will achieve the sprint goal.
- **Participants**: The whole Scrum team (Product Owner, Scrum Master, and
Development Team).
- **Process**:
- **What can be done?**: The Product Owner presents the highest-priority items from the
**Product Backlog**, and the team discusses what can be achieved during the sprint.
- **How will the work be done?**: The Development Team decides how they will complete
the selected backlog items and break them into smaller tasks.
- **Outcome**: A **Sprint Backlog** (a list of tasks to be completed during the sprint) and a
**Sprint Goal** (a clear objective for the sprint).
### 3. **Daily Scrum (Daily Stand-up)**
- **Definition**: A **Daily Scrum** is a short meeting (15 minutes) held every day of the
sprint, where the team discusses progress.
- **Purpose**: To ensure the team stays aligned and focused on the sprint goal, and to
identify and address any blockers.
- **Participants**: The Development Team (Scrum Master and Product Owner can attend
but don’t need to speak).
- **Format**: Each team member answers three key questions:
1. What did I do yesterday?
2. What will I do today?
3. Are there any impediments/blockers in my way?
- **Outcome**: Team members stay updated on each other’s work, adjust plans as
needed, and address any issues or challenges early.
### 4. **Sprint Review**
- **Definition**: A **Sprint Review** is held at the end of the sprint to inspect the completed
work and get feedback from stakeholders.
- **Purpose**: To show the progress made during the sprint, gather feedback, and adjust
the product backlog based on new insights.
- **Participants**: The Scrum Team and key stakeholders (clients, management, etc.).
- **Process**:
- The Development Team demonstrates the product increment (the work they completed
during the sprint).
- Stakeholders give feedback, and the Product Owner updates the product backlog based
on this feedback.
- **Outcome**: A refined product backlog and feedback to improve the product going
forward.
### 5. **Sprint Retrospective**
- **Definition**: A **Sprint Retrospective** is a meeting held after the Sprint Review, where
the team reflects on the sprint and discusses what went well and what can be improved.
- **Purpose**: To continuously improve the team’s processes, identify areas for growth,
and make the next sprint better.
- **Participants**: The Scrum Team (Product Owner, Scrum Master, and Development
Team).
- **Process**:
- The team discusses what went well during the sprint and what didn’t.
- They identify actions for improvement in the next sprint.
- **Outcome**: Concrete ideas or steps to improve teamwork, processes, or tools in the
next sprint.
---
### Summary of Scrum Events:
. **Sprint**: The main cycle of work (1-4 weeks) where a product increment is built.
1
2. **Sprint Planning**: The team decides what will be done in the sprint and how to do it.
3. **Daily Scrum**: A quick daily meeting to check progress and address issues.
4. **Sprint Review**: The team demonstrates the completed work and gets feedback from
stakeholders.
5. **Sprint Retrospective**: The team reflects on their performance and looks for ways to
improve in the next sprint.
hese events ensure that the Scrum team stays on track, adapts to changes, and
T
continuously improves their work process.
Artifacts of SCRUM Framework
crum uses three key **artifacts** to provide transparency and improve communication
S
within the team. These artifacts help the team organize their work, track progress, and
deliver value effectively. The three main Scrum artifacts are:
### 1. **Product Backlog**
- **Definition**: The Product Backlog is a prioritized list of all the features, enhancements,
bug fixes, and other tasks that need to be completed to create the product.
- **Purpose**: It serves as a **to-do list** for the entire product development process and
is continuously updated as new ideas or requirements emerge.
- **Who Manages It?**: The **Product Owner** is responsible for creating and managing
the Product Backlog. They prioritize the items based on customer needs, market changes,
and business goals.
- **Characteristics**:
- **Dynamic**: The backlog is not a fixed list; it evolves as the project progresses, with
items being added, removed, or re-prioritized based on feedback and changing
requirements.
- **Prioritized**: Items in the backlog are ordered by importance, with higher-priority items
being worked on first.
- **Example**: If you're building an e-commerce website, the product backlog might
include features like "add to cart," "checkout process," and "user login system."
### 2. **Sprint Backlog**
- **Definition**: The Sprint Backlog is a list of tasks selected from the Product Backlog that
the Development Team commits to completing during the current sprint.
- **Purpose**: It outlines the work the team will do in a sprint to achieve the **Sprint Goal**
(a specific objective for that sprint).
- **Who Manages It?**: The **Development Team** manages the Sprint Backlog. They
break down each item into smaller, actionable tasks and decide how to complete them
during the sprint.
- **Characteristics**:
- **Commitment**: The team commits to completing these tasks by the end of the sprint.
- **Flexible**: While the sprint backlog is based on the initial sprint planning, it can be
adjusted if necessary during the sprint (e.g., if new information or obstacles arise).
- **Example**: If the current sprint is focused on implementing the "checkout process," the
sprint backlog might include tasks like "build payment gateway integration" and "design
checkout page UI."
### 3. **Increment**
- **Definition**: The Increment is the sum of all the completed Product Backlog items
during a sprint, plus the value from all previous sprints. It must be in a **usable** state and
meet the **Definition of Done** (the team's criteria for when an item is considered complete).
- **Purpose**: The Increment is a **working, shippable piece of the product** that adds
value to the overall project. It’s something that could potentially be delivered to users, even if
the full product isn’t complete yet.
- **Who Manages It?**: The Development Team is responsible for delivering the Increment
at the end of each sprint.
- **Characteristics**:
- **Usable and Tested**: The Increment should be fully functional, tested, and meet the
agreed-upon quality standards.
- **Cumulative**: Each increment builds on the previous one, adding new functionality
while maintaining the integrity of the product.
- **Example**: After a sprint focused on the "checkout process," the Increment might be a
fully functioning checkout system that allows users to pay for items, though other parts of the
website might still be in progress.
---
### Additional Scrum Artifacts (Extensions):
- **Definition of Done**: This is not a physical artifact but an important agreement within the
team. It defines the criteria that must be met for a Product Backlog item to be considered
complete. It ensures that all team members have the same understanding of what "done"
means.
### Summary of Scrum Artifacts:
. **Product Backlog**: A prioritized list of all work needed for the product, managed by the
1
Product Owner.
2. **Sprint Backlog**: A subset of the Product Backlog, representing the work to be
completed in the current sprint, managed by the Development Team.
3. **Increment**: The working product that the team delivers at the end of each sprint, which
is potentially shippable.
hese artifacts help ensure the team stays organized, focused on priorities, and transparent
T
in their progress.