Exp 2
Exp 2
Exp 2
The process repeats with new sprints, continuously refining and expanding the
product based on feedback and changing requirements.
Principles of the Agile Model:
To establish close contact with the customer during development and to gain a clear
understanding of various requirements, each Agile project usually includes a
customer representative on the team. At the end of each iteration stakeholders and
the customer representative review, the progress made and re-evaluate the
requirements.
The agile model relies on working software deployment rather than comprehensive
documentation.
Frequent delivery of incremental versions of the software to the customer
representative in intervals of a few weeks.
Requirement change requests from the customer are encouraged and efficiently
incorporated.
It emphasizes having efficient team members and enhancing communications
among them is given more importance. It is realized that improved communication
among the development team members can be achieved through face-to-face
communication rather than through the exchange of formal documents.
It is recommended that the development team size should be kept small (5 to 9
people) to help the team members meaningfully engage in face-to-face
communication and have a collaborative work environment.
The agile development process usually deploys Pair Programming. In Pair
programming, two programmers work together at one workstation. One doe’s code
while the other reviews the code as it is typed in. The two programmers switch their
roles every hour or so.
Due to the absence of proper documentation, when the project completes and the
developers are assigned to another project, maintenance of the developed project
can become a problem.
1) Scrum:
Overview: Scrum is one of the most widely used Agile frameworks, organized around fixed-
length iterations called "sprints," typically lasting 2-4 weeks. Each sprint aims to deliver a
potentially shippable product increment.
Roles:
Product Owner: Manages the product backlog and ensures that the team is working
on the most valuable features.
Scrum Master: Facilitates the Scrum process, ensuring the team adheres to Scrum
practices and removing any obstacles.
Development Team: A cross-functional team responsible for delivering the product
increment by the end of the sprint.
Key Artifacts:
Product Backlog: A prioritized list of features, enhancements, and bug fixes that
need to be developed.
Sprint Backlog: A selection of items from the Product Backlog that the team
commits to completing during the sprint.
Increment: The sum of all Product Backlog items completed during a sprint,
representing a potentially shippable product.
Ceremonies:
Sprint Planning: The team plans what work will be done in the upcoming sprint.
Daily Scrum: A short daily meeting where the team discusses progress and any
impediments.
Sprint Review: At the end of the sprint, the team demonstrates the completed work to
stakeholders.
Sprint Retrospective: The team reflects on the sprint and discusses what went well
and what could be improved in the next sprint.
Advantages:
Predictable Delivery: The fixed-length sprints make it easier to predict when
features will be delivered.
Focused Teamwork: Scrum promotes focused teamwork, with the entire team
working together to achieve the sprint goal.
Continuous Improvement: The Sprint Retrospective provides a regular opportunity
for the team to reflect and improve.
Customer Collaboration: Regular sprint reviews involve stakeholders and ensure
that the product is aligned with customer needs.
Disadvantages:
Strict Structure: The rigid structure of Scrum can be challenging for teams that
require more flexibility.
Scope Creep: Without proper backlog management, scope creep can occur, leading
to incomplete or rushed work within a sprint.
Overhead: The various ceremonies and roles in Scrum (e.g., Sprint Planning, Daily
Scrum, etc.) can add overhead, especially for smaller teams.
When to Use:
Product Development: Scrum is ideal for product development projects where there
is a clear vision, but the details may evolve over time.
Cross-Functional Teams: Scrum works best with cross-functional teams that can
handle all aspects of development within the team.
Projects with Well-Defined Goals: Scrum is suited for projects where the goals are
clear, but the path to achieving them is iterative.
Improved Communication: Close collaboration among team members and with the
customer leads to better understanding and alignment on goals.
Disadvantages:
Intensive Collaboration: Requires a high level of collaboration and communication,
which can be challenging for distributed teams.
High Discipline Needed: Practices like TDD and Pair Programming require discipline
and can be challenging to maintain over time.
Overhead in Pair Programming: Some teams may find Pair Programming to be
resource-intensive, as it requires two developers to work on the same task.
When to Use:
Projects with Rapidly Changing Requirements: XP is ideal for projects where
requirements are expected to change frequently.
Small to Medium-Sized Teams: XP works best with small to medium-sized teams
where close collaboration is possible.
High-Risk Projects: XP is suitable for projects where the cost of defects is high, and
quality is paramount.
3) Kanban board:
Overview: Kanban is an Agile framework that focuses on visualizing work, limiting work
in progress (WIP), and improving the flow of tasks through various stages. It is often
used to enhance existing processes and is highly flexible.
Key Elements:
Kanban Board: A visual tool used to track the progress of tasks through various
stages such as "To Do," "In Progress," and "Done."
Work in Progress (WIP) Limits: Specific limits are set on the number of tasks that can
be in progress at any given time to prevent bottlenecks and ensure steady workflow.
Continuous Delivery: Kanban encourages continuous delivery of work items
whenever they are completed, rather than waiting for a specific release cycle.
Focus on Flow: The goal is to maintain a smooth and efficient flow of work, making it
easier to identify and resolve issues quickly.
Advantages:
Flexibility: Kanban is highly adaptable and can be implemented on top of existing
processes without significant changes.
Continuous Delivery: Work items are continuously delivered as soon as they are
completed, allowing for faster time-to-market.
Visual Workflow: The Kanban board provides a clear visual representation of the
workflow, making it easy to identify bottlenecks and inefficiencies.
Focus on Flow: WIP limits help prevent overloading the team, ensuring a smooth and
steady flow of work.
Disadvantages:
Background:
A retail company, RetailHub, decides to develop a new e-commerce system to enhance its online
shopping experience and compete in the growing digital market. The project aims to include features
such as product listings, shopping cart functionality, payment gateways, order tracking, and customer
support integration.
Objectives:
2. Ensure a user-friendly interface that encourages customer engagement and boosts sales.
3. Maintain flexibility to adapt to market trends and user feedback for continuous
improvement.
Scrum Implementation:
• Product Owner: A senior member from the business team who understands the retail
market and the company’s strategic goals.
• Scrum Master: An experienced Scrum practitioner responsible for ensuring the Scrum
process runs smoothly and resolving any roadblocks.
• The Product Owner collaborates with stakeholders to create an initial product backlog,
which includes features such as product catalog, user registration, shopping cart, payment
gateway, order tracking, and reviews.
• User stories are developed for each feature to capture its requirements, including
acceptance criteria.
3. Sprint Planning:
• During sprint planning, the team defines the scope of work for the first sprint, which might
involve setting up the product catalog and basic user registration.
• Tasks are broken down into manageable pieces and estimated using story points. The team
commits to delivering these features by the end of the sprint.
4. Sprint Execution:
• Daily Standups: The team holds daily standup meetings to track progress, address
challenges, and coordinate daily tasks.
• Development and Testing: The team focuses on coding and testing features like the product
catalog and user registration. Continuous integration ensures frequent testing and
integration of code changes.
5. Sprint Review:
• At the end of the sprint, the completed product catalog and user registration features are
demonstrated to stakeholders for feedback.
6. Sprint Retrospective:
• The team discusses what went well, areas for improvement, and key action items for the
next sprint.
• An improvement area identified could be the need to streamline the checkout process,
leading to better coordination between the development and payment integration teams.
• The following sprints focus on building the shopping cart, payment gateway, and order
tracking features. Each sprint incorporates feedback from previous reviews, ensuring
continuous refinement of the product.
• The backlog is regularly reprioritized based on user feedback, changing business needs, and
market trends.
8. Release Planning:
• As the project approaches the 8-month deadline, the team prepares for release by
conducting thorough testing, addressing bugs, and ensuring that all features meet the
definition of done.
• A marketing campaign and user training are prepared to promote the system and ensure a
smooth launch.
Outcome:
• The e-commerce system is launched within the 8-month timeframe. RetailHub can now
provide its customers with an improved online shopping experience that encourages
engagement and boosts sales.
• The iterative approach allowed for flexibility in responding to user feedback and market
changes, resulting in a product better suited to customer needs.
• Post-launch, updates and new features continue to be managed using Scrum, allowing for
the ongoing optimization of the system.
Lessons Learned:
• Frequent feedback loops with stakeholders ensured the system stayed aligned with
customer expectations.
• Clear communication and collaboration within the team were crucial in overcoming
obstacles and maintaining agility.
• The iterative and flexible nature of the Scrum framework allowed RetailHub to adapt quickly
to market dynamics, delivering a robust and feature-rich e-commerce system.
This case study shows how Scrum can be successfully applied to the development of an e-commerce
system, promoting agility, continuous improvement, and a strong alignment with business and
customer needs.