Agile Software Assignment 1
Agile Software Assignment 1
Main Campus
Department of Computer Science & Engineering
Assignment-1
Submitted By:
Manish Yadav
2124375
BTech CSE 7th Semester
Submitted To:
Ms. Jappreet Kaur
1
Introduction of Scrum :
Scrum is one of the most popular frameworks within the Agile software development
methodology. Agile is an approach that prioritizes flexibility, collaboration, and customer
satisfaction by delivering software incrementally, rather than through a single, large release.
Scrum provides a structured way to implement Agile principles, offering a framework that
helps teams work more efficiently and deliver continuous value.
Introduction to Scrum in Agile:
In Agile, the goal is to develop software in small, iterative cycles called sprints (typically 1 -4
weeks long). Scrum is designed to help teams organize and manage this process effectively.
Unlike traditional waterfall methods, where all planning happens at the start of a project,
Scrum promotes regular reassessment and adaptation.
The core values of Scrum reflect Agile's key principles:
• Individuals and interactions over processes and tools.
• Working software over comprehensive documentation.
• Customer collaboration over contract negotiation.
• Responding to change over following a plan.
In Agile software development, Scrum helps to:
1. Break down complex projects into smaller, manageable parts.
2. Deliver working software quickly and continuously.
3. Incorporate customer feedback more frequently.
4. Empower teams to self-organize and adapt to changes.
How Scrum Aligns with Agile Principles:
• Iterative and Incremental Development: Scrum delivers product increments in short
cycles (sprints), ensuring the product is constantly improving based on user feedback.
• Collaboration and Communication: Scrum encourages daily communication through
meetings like the Daily Scrum (stand-up), helping the team stay aligned.
• Adaptability and Flexibility: Scrum enables frequent reassessment of priorities,
allowing the team to pivot and adapt to changes in requirements or customer needs.
• Customer-Centric Approach: The Product Owner role ensures that development focuses
on the most valuable features for users and stakeholders.
In essence, Scrum provides the practical structure to implement Agile principles, focusing on
delivering high-quality software through continuous feedback, collaboration, and iteration.
2
Roles of Scrum:
In Agile software development, Scrum defines specific roles to ensure effective collaboration,
responsibility, and communication within the team. These roles form the foundation of the
Scrum framework and help deliver high-quality software through Agile principles.
Roles of Scrum in Agile:
1. Product Owner (PO):
o Primary Responsibility: Maximizing the value of the product by managing the Product
Backlog.
o Role in Agile:
• Acts as the bridge between the development team and stakeholders (users,
customers, management).
• Ensures that the team is always working on the highest-priority features.
• Defines and communicates the product vision and goals.
• Responsible for backlog refinement, prioritizing items based on business
value, customer needs, and market trends.
• Regularly reviews and updates the backlog based on feedback from
stakeholders and users.
2. Scrum Master:
o Primary Responsibility: Ensuring that Scrum is understood and followed by the team
and the organization.
o Role in Agile:
• Acts as a facilitator and coach for the team, helping them understand Agile
and Scrum principles.
• Removes impediments that might slow down or block the team’s progress.
• Fosters a collaborative environment, ensuring that the team can focus on
delivering value.
• Protects the team from external interruptions or scope creep during a sprint.
• Encourages continuous improvement through Sprint Retrospectives and
assists in solving issues that arise during sprints.
3. Development Team (Developers):
o Primary Responsibility: Building and delivering the product increment.
o Role in Agile:
• A cross-functional team that includes all necessary skills to complete the
work, such as developers, testers, and designers.
• Works together to achieve the sprint goal, collaborating closely with each
other.
• Self-organizing: The team decides how to accomplish tasks without external
micromanagement.
• Takes responsibility for estimating and committing to the amount of work
they can complete in a sprint.
• Delivers potentially shippable increments at the end of each sprint.
3
• Adapts to changing requirements and focuses on continuous improvement.
Role Dynamics in Scrum:
• Collaboration: All Scrum roles collaborate to ensure that the product meets the
customer’s needs. While the Product Owner sets the direction and prioritizes features,
the Development Team is responsible for delivering them, and the Scrum Master
ensures the process flows smoothly.
• Accountability: Each role has a distinct area of responsibility:
o The Product Owner is accountable for the business value.
o The Development Team is accountable for the quality and functionality of the
product.
The Scrum Master is accountable for the efficiency and success of the process.
In Agile software development, these roles ensure that the team remains aligned, productive,
and focused on delivering continuous value to the customer.
Events in Scrum:
In Agile software development, Scrum includes several key events (also known as ceremonies)
that structure the workflow and ensure that the team remains aligned, productive, and
adaptable. These events create regular opportunities for the team to plan, review, and improve
their processes and the product incrementally.
Events of Scrum in Agile Software Development:
1. Sprint:
o What it is: A time-boxed period, typically between 1 to 4 weeks, where the team
works to complete a set of product features or goals.
o Purpose: To deliver a potentially shippable product increment by the end of each
sprint.
o In Agile: The sprint provides a consistent cycle of work, ensuring the team
focuses on delivering value in manageable increments.
2. Sprint Planning:
o What it is: A meeting held at the beginning of each sprint where the team defines
the work they will complete during the sprint.
o Purpose:
▪ To select high-priority items from the Product Backlog and transfer them
to the Sprint Backlog.
▪ The team breaks down these items into tasks and estimates the effort
required to complete them.
4
o In Agile: Sprint Planning ensures that the team has a clear understanding of the
goals for the sprint and commits to delivering value within a fixed time frame.
3. Daily Scrum (Stand-up):
o What it is: A 15-minute time-boxed meeting held daily, where the team
discusses their progress toward the sprint goal.
o Purpose:
▪ To synchronize work, identify blockers, and plan the day’s activities.
▪ Each team member typically answers three questions:
1. What did I do yesterday?
2. What will I do today?
3. Are there any impediments?
o In Agile: The Daily Scrum keeps the team focused, aligned, and transparent,
ensuring continuous progress and problem-solving throughout the sprint.
4. Sprint Review:
o What it is: A meeting held at the end of the sprint where the team presents the
completed work to stakeholders.
o Purpose:
▪ To demonstrate the Increment (the finished product features) and gather
feedback.
▪ Discuss any potential changes to the Product Backlog based on the
review.
o In Agile: Sprint Reviews ensure that feedback is gathered regularly and that the
product evolves in response to changing requirements or user feedback.
5. Sprint Retrospective:
o What it is: A meeting held after the Sprint Review where the team reflects on
the sprint process and identifies areas for improvement.
o Purpose:
▪ To discuss what went well, what didn’t, and what can be improved for
future sprints.
▪ The team creates actionable plans to improve their process.
o In Agile: Continuous improvement is a key Agile principle, and the Sprint
Retrospective helps the team refine their approach and become more efficient
over time.
5
Summary of Scrum Events:
• Sprint: Defines the time-boxed work cycle.
• Sprint Planning: Sets the sprint goals and tasks.
• Daily Scrum: Provides daily updates and alignment.
• Sprint Review: Demonstrates progress and gathers feedback.
• Sprint Retrospective: Reflects on the process and focuses on improvements.
These events keep the team focused on delivering value, encourage continuous feedback, and
allow for constant adaptation based on insights and feedback. They embody the Agile
principles of collaboration, flexibility, and incremental delivery.