Agile Software Methodology
Agile Software Methodology
trajectory
customer involvement
• Our company aims to enhance its online presence and improve customer engagement by developing a
shopping website. Currently, our customers lack a convenient platform to browse and purchase our products
online, leading to a decrease in sales and customer satisfaction. To address this issue, we seek to build a user-
friendly shopping website that offers a seamless browsing and purchasing experience for our customers.
Agile Software Development is a project management technique that allows developers to create a working
software model in just a few weeks.
Over the years, it has split into different frameworks and methodologies like Scrum, Kanban, Lean,
and XP.
Synonyms
Agile Software Management, Agile project management, Agile methodology, Agile method, Agile approach, Agile
way
AGILE SOFTWARE DEVELOPMENT
"Agile development is a fundamentally new way of managing IT projects, born out of the desire
to tackle risk and change head-on.“
"The Agile movement is not about the process, but about the people“
"Agile is not a set of rules, it's a mindset that prizes adaptability, flexibility,
and collaboration." ~ Martin Fowler
"Agile is a set of values and principles that foster the development of software in short iterations,
allowing for rapid adaptation to changing requirements."
~ Kent Beck
AGILE TIMELINE
• A step-by-step approach to management methodology that mimics a waterfall in its trajectory
AGILE SOFTWARE DEVELOPMENT
Agile Manifesto
1. Foundational document
2. Values and Principles of Agile software development
3. It was created by a group of software developers in 2001
4. Better ways of developing software and to document their shared principles
Agile elements that help to ensure the success of any Agile project
• RUP is iterative
• Construction
• Transition.
AGILE SOFTWARE DEVELOPMENT
EXERCISE - RUP
Imagine a team tasked with building a new website for an e-commerce company. The website
needs to have features for browsing products, adding them to a shopping cart, and checking out
securely.
Scrum team members should be standing up for the entire duration of this Scrum meeting
AGILE SOFTWARE DEVELOPMENT
EXERCISE - SCRUM
A small team of developers is tasked with building a new mobile app for a local coffee shop chain.
The coffee shop wants an app that allows customers to browse their menu, place orders for
XP (Extreme programming)
high-quality code. It is one of the Agile methodologies, which means it focuses on iterative
• Focus on engineering practices that enhance software quality and responsiveness to customer needs.
XP (Extreme programming)
Simplicity
Communication
Face-to-face interaction is preferred whenever
possible
Feedback
XP (Extreme programming)
Respect
Courage
estimates.
We will adapt to changes whenever they happen.
AGILE SOFTWARE DEVELOPMENT
XP (Extreme programming)
• Rapid feedback
• Incremental change
• Embracing change
• FDD’s main purpose is to deliver tangible, working software repeatedly in a timely manner.
• “just enough design initially” -> avoid spending excessive time and resources on detailed plans
• In FDD, the end-user is more directly involved in the process while in Scrum the Product Owner acts as the
• Feature-Driven Development (FDD) is customer-centric, iterative, and incremental, with the goal of delivering
• DSDM was created in 1994, after project managers using RAD (Rapid Application Development)
sought more governance and discipline to this new iterative way of working.
DSDM’s philosophy “that any project must be aligned to clearly defined strategic goals and focus
upon early delivery of real benefits to the business.”
DSDM (DYNAMIC SYSTEMS DEVELOPMENT METHOD)
AGILE SOFTWARE DEVELOPMENT
MoSCoW Prioritisation
1. Let’s use an example. Your customer wants a new e-commerce website for their small clothing business. Their
2. It needs a homepage
Must
Homepage, product listings, product photos and descriptions, shopping cart, about us page, returns page, terms
& conditions page.
Should
Banner and live chat
Could
Social media
Won’t
Blog
AGILE SOFTWARE DEVELOPMENT
AGILE SOFTWARE DEVELOPMENT
“The Crystal agile framework is for software development. It places focus on people over processes, to
empower teams to find their own solutions for each project rather than being constricted with rigid
methodologies.”
• Team size
• Criticality
• Priority
AGILE SOFTWARE DEVELOPMENT
Crystal Methodology in Agile
4. C r y s t a l r e d - T e a m s w i t h
responsiveness to change.”
https://airfocus.com/glossary/what-is-adaptive-software-development/
AGILE SOFTWARE DEVELOPMENT
Adaptive Software Development (ASD)
Description:
“Imagine you are part of a development team responsible for enhancing an online learning
platform used by students worldwide. The platform currently allows students to access course
materials, submit assignments, and communicate with instructors. However, due to increased
demand and user feedback, there is a need to introduce new features and improve existing
Key Requirements
functionalities”
1. Implement a real-time chat feature to facilitate communication between students and
instructors.
2. Enhance the search functionality to allow students to easily find relevant course
materials.
https://airfocus.com/glossary/what-is-adaptive-software-development/
AGILE SOFTWARE DEVELOPMENT
AGILE BENEFITS
1. Change is embraced
6. Continuous improvement
7. Adaptability to Change
AGILE SOFTWARE DEVELOPMENT
1. User-Centric/User Stories
4. Prioritized
5. Minimalistic
Success Factors
Quality of Agile Requirements
• Unambiguous Language
• Specificity
Prioritized
• Prioritization
• Minimalism
Quality of Agile Requirements
Testable
• Measurable Criteria
• Acceptance Criteria
Collaborative
• Stakeholder Involvement
• Feedback-driven
Quality of Agile Requirements
Evolving
• Adaptability
• Iterative Refinement
Documented
• Documentation
• Traceability
Poorly Defined Requirements
Lack of Experience
Dependency Management
AGILE TERMINOLOGIES
IMPEDIMENT
Define in terms
of Agile
productivity
AGILE SOFTWARE DEVELOPMENT
• With 94% of the organizations practicing agile in 2015, it has become a standard of project
management.
• Agile as a mindset opens up the door for so much more than just SW Development.
AGILE SOFTWARE DEVELOPMENT
AGILE SOFTWARE DEVELOPMENT
COMMUNICATION
COMMUNICATION
1
Help a software team in monitoring how productive a
Metrics are nothing but standards of measurement.
team is across the different phases of the SDLC
2
Agile metrics measure different aspects of project
development
3
AGILE PROJECT: TIME MEASUREMENTS
01 02 03 04 05
SPRINT BURNDOWN VELOCITY EPIC AND RELEASE WORK ITEM AGE VALUE DELIVERED
REPORT BURNDOWN
The average work a Track progress over a Indicates the time that Implementing features
Tracking the completion team does during a large work body passes between the with high value should
of different tasks during sprint start and completion of be the top priority.
the current task
a sprint
Development of a Multi-Platform E-commerce Application
Project Overview
A large retail company is developing a multi-platform e-commerce application to enhance its online
presence. The project involves multiple teams working on different aspects such as mobile apps, web
apps, backend services, and integration with third-party services. The project is estimated to take 12
Sprint Metrics:
• Velocity: Measure the amount of work completed in each sprint (story points).
• Sprint Burndown Chart: Track the progress of work during a sprint to ensure teams are on track to meet
sprint goals.
• Sprint Goal Completion Rate: The percentage of sprint goals achieved by the end of the sprint.
Development of a Multi-Platform E-commerce Application
Quality Metrics
• Defect Density
• Defect Resolution Time
• Automated Test Coverage
Development of a Multi-Platform E-commerce Application
Productivity Metrics:
• Cycle Time: The time taken to complete a user story from start to finish.
• Lead Time: The time taken from when a task is created to when it is completed.
• Throughput: The number of tasks completed in a specific period.
Development of a Multi-Platform E-commerce Application
Release Metrics:
1. Release Burndown Chart
2. Deployment Frequency
3. Release Stability: Number of successful releases vs. rollbacks.
Development of a Multi-Platform E-commerce Application
Sprint Metrics:
The team’s velocity has been stable, averaging 50 story points per sprint.
The sprint burndown chart shows a consistent reduction in the backlog, with minor mid-sprint adjustments.
Quality Metrics:
Defect density has decreased from 10 defects per 1000 lines of code to 5, thanks to increased test coverage
(now at 80%).
Productivity Metrics:
Cycle time has been reduced from 8 days to 6 days due to better process automation.
Lead time remains consistent at 10 days.
Team Health Metrics:
Team happiness surveys show an increase in satisfaction from 7/10 to 8/10.
Workload balance is well-distributed, with no team member handling more than 20% of the sprint workload.
Customer Satisfaction Metrics:
The NPS has improved from 60 to 70 following the latest release.
Customer feedback indicates satisfaction with the new features, but highlights the need for better
performance optimization.
Development of a Multi-Platform E-commerce Application
Release Metrics:
Release burndown chart indicates the project is on track for the next major release.
Deployment frequency is once per week, with a 95% success rate (1 rollback in the last 20 releases).
Adjust Sprint Planning: Based on the stable velocity, plan slightly more ambitious sprint goals to maintain a
Focus on Quality: Continue to improve test coverage and focus on reducing defect density further.
Maintain Team Health: Ensure regular team-building activities and monitor workload to prevent burnout.
Testing in Agile Software Development
1. Continuous Testing
5. Test Automation
6. Customer Involvement
7. Embrace Change
8. Build Quality
9. Context-Driven Testing
Practices of Agile Testing
4. Exploratory Testing
5. Pair Programming
6. Continuous Integration
Agile Alliance was established in 2001
• Educational Initiatives