Agile
Agile
Methodology
Table of content
Software development
Software development methodologies
Agile methodology
Overview
Principles
Development cycle
Pros & Cons
Cermonies
key roles
Software Development
Basic
The linear nature of the waterfall development method makes it easy to understand and manage.
Software Development Methodologies
Waterfall
Pros
The linear nature of the waterfall development method makes it easy to understand and manage.
Projects with clear objectives and stable requirements can best use the waterfall method.
Software Development Methodologies
Waterfall
Cons
The waterfall development method is often slow and costly due to its rigid structure and tight
controls.
Software Development Methodologies
Waterfall
Cons
The waterfall development method is often slow and costly due to its rigid structure and tight
controls.
These drawbacks can lead waterfall method users to explore other software development
methodologies.
Software Development Methodologies
Agile
Agile Overview
Agile evolved from different development approaches in the 1990s and is a response to some
project managers’ dislike of the rigid, linear Waterfall methodology. It focuses on flexibility,
continuous improvement, and speed.
Software Development Methodologies
Agile
Agile Overview
Our highest priority is to satisfy the customer through early and continuous delivery of valuable
software.
Software Development Methodologies
Agile
Agile Principles
Our highest priority is to satisfy the customer through early and continuous delivery of valuable
software.
Welcome changing requirements, even late in development. Agile processes harness change for
the customer’s competitive advantage.
Software Development Methodologies
Agile
Agile Principles
Our highest priority is to satisfy the customer through early and continuous delivery of valuable
software.
Welcome changing requirements, even late in development. Agile processes harness change for
the customer’s competitive advantage.
Deliver working software frequently, from a couple of weeks to a couple of months, with
preference to the shorter timescale.
Software Development Methodologies
Agile
Agile Principles
Business people and developers must work together daily throughout the project.
Software Development Methodologies
Agile
Agile Principles
Business people and developers must work together daily throughout the project.
Build projects around motivated individuals. Give them the environment and support they need
and trust them to get the job done.
Software Development Methodologies
Agile
Agile Principles
Business people and developers must work together daily throughout the project.
Build projects around motivated individuals. Give them the environment and support they need
and trust them to get the job done.
The most efficient and effective method of conveying information to and within a development
team is face-to-face conversation.
Software Development Methodologies
Agile
Agile Principles
At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its
behavior accordingly.
Software Development Methodologies
Agile
Agile Development Cycle
Planning: Once an idea is deemed viable, the project team comes together to identify features,
prioritize each feature, and assign them to an iteration.
Software Development Methodologies
Agile
Agile Development Cycle
Planning: Once an idea is deemed viable, the project team comes together to identify features,
prioritize each feature, and assign them to an iteration.
Requirements analysis: Key stakeholders and users meet to identify business requirements that
are quantifiable, relevant, and detailed.
Software Development Methodologies
Agile
Agile Development Cycle
Planning: Once an idea is deemed viable, the project team comes together to identify features,
prioritize each feature, and assign them to an iteration.
Requirements analysis: Key stakeholders and users meet to identify business requirements that
are quantifiable, relevant, and detailed.
Design: The design is prepared from the requirements identified and the team considers what the
product or solution will look like, deciding on a test strategy or plan to proceed.
Software Development Methodologies
Agile
Agile Development Cycle
Testing: Test the code against the requirements to make sure the product is actually solving
customer needs. This phase includes unit testing, integration testing, system testing, and
acceptance testing.
Software Development Methodologies
Agile
Agile Development Cycle
Testing: Test the code against the requirements to make sure the product is actually solving
customer needs. This phase includes unit testing, integration testing, system testing, and
acceptance testing.
Deployment: Deliver the product to customers. Once customers start using the product, they may
run into new problems that the project team will need to address in future iterations.
Software Development Methodologies
Agile
Agile Pros
Change is embraced: With shorter planning cycles, there’s always opportunity to refine and
reprioritize the backlog to accommodate changes throughout the project.
Software Development Methodologies
Agile
Agile Pros
Change is embraced: With shorter planning cycles, there’s always opportunity to refine and
reprioritize the backlog to accommodate changes throughout the project.
End-goal can be unknown: Agile is beneficial for projects where the end-goal is not clearly
defined. As the project progresses, the goals will become evident and the team can adapt.
Software Development Methodologies
Agile
Agile Pros
Faster, high-quality delivery: Breaking down the project into iterations allows the team to focus
on high-quality development, testing, and collaboration. Conducting testing during each iteration
means that bugs get identified and solved more quickly.
Software Development Methodologies
Agile
Agile Pros
Faster, high-quality delivery: Breaking down the project into iterations allows the team to focus
on high-quality development, testing, and collaboration. Conducting testing during each iteration
means that bugs get identified and solved more quickly.
Strong team interaction: Agile embraces frequent communication and face-to-face interactions.
Software Development Methodologies
Agile
Agile Pros
Customers are heard: Customers have many opportunities to see the work being delivered, share
their input, and have an impact on the end product.
Software Development Methodologies
Agile
Agile Pros
Customers are heard: Customers have many opportunities to see the work being delivered, share
their input, and have an impact on the end product.
Continuous improvement: Feedback is encouraged from users and team members throughout the
project, so lessons learned are used to improve future iterations.
Software Development Methodologies
Agile
Agile Cons
Planning can be less concrete: Because project managers are often reprioritizing tasks, it’s
possible some items scheduled for delivery may not be complete in time. And, additional sprints
may be added at any time in the project, adding to the overall timeline.
Software Development Methodologies
Agile
Agile Cons
Planning can be less concrete: Because project managers are often reprioritizing tasks, it’s
possible some items scheduled for delivery may not be complete in time. And, additional sprints
may be added at any time in the project, adding to the overall timeline.
Team must be knowledgeable: Agile teams are usually small, so team members must be highly
skilled in a variety of areas and understand Agile methodology.
Software Development Methodologies
Agile
Agile Cons
Time commitment from developers: Active involvement and collaboration is required throughout
the Agile process, which is more time consuming than a traditional approach.
Software Development Methodologies
Agile - Implementation
Methodologies Used to Implement Agile
Kanban
Scrum
Software Development Methodologies
Agile - Implementation
Methodologies Used to Implement Agile
Kanban
Scrum
Software Development Methodologies
Agile - Implementation
Agile scrum
Scrum is a subset of Agile and one of the most popular process frameworks for implementing
Agile.
Software Development Methodologies
Agile - Implementation
Agile scrum
Scrum is a subset of Agile and one of the most popular process frameworks for implementing
Agile.
It is an iterative development model often used to manage complex software and product
development.
Software Development Methodologies
Agile - Implementation
Agile scrum
Fixed-length iterations, called sprints lasting one to two weeks long, allow the team to ship
software on a regular cadence.
Software Development Methodologies
Agile - Implementation
Agile scrum
Fixed-length iterations, called sprints lasting one to two weeks long, allow the team to ship
software on a regular cadence.
At the end of each sprint, stakeholders and team members meet to plan next steps.
Software Development Methodologies
Agile - Implementation
Sprint
A sprint is a fixed period of time wherein team members work on a specific goal.
Each sprint is normally between one week and one month, with two weeks being the most
common.
Usually, daily meetings are held to discuss the progress of the project undertaken as well as
difficulties faced by team members.
A sprint is a fixed period of time wherein team members work on a specific goal.
Software Development Methodologies
Agile - Implementation
Sprint
A sprint is a fixed period of time wherein team members work on a specific goal.
Each sprint is normally between one week and one month, with two weeks being the most
common.
Software Development Methodologies
Agile - Implementation
Sprint
A sprint is a fixed period of time wherein team members work on a specific goal.
Each sprint is normally between one week and one month, with two weeks being the most
common.
Usually, daily meetings are held to discuss the progress of the project undertaken as well as
difficulties faced by team members.
Software Development Methodologies
Agile - Implementation
Sprint
A sprint is a fixed period of time wherein team members work on a specific goal.
Each sprint is normally between one week and one month, with two weeks being the most
common.
Usually, daily meetings are held to discuss the progress of the project undertaken as well as
difficulties faced by team members.
Sprint planning
Software Development Methodologies
Agile - Implementation
Agile scrum ceremonies
Sprint planning
Daily scrum
Software Development Methodologies
Agile - Implementation
Agile scrum ceremonies
Sprint planning
Daily scrum
Sprint review
Software Development Methodologies
Agile - Implementation
Agile scrum ceremonies
Sprint planning
Daily scrum
Sprint review
Sprint retrospective
Software Development Methodologies
Agile - Implementation
Agile scrum ceremonies
Sprint planning
Daily scrum
Sprint review
Sprint retrospective
Software Development Methodologies
Agile - Implementation
Sprint planning
At the beginning of a sprint, the scrum team holds a sprint planning event to:
Software Development Methodologies
Agile - Implementation
Sprint planning
At the beginning of a sprint, the scrum team holds a sprint planning event to:
Agree on the sprint goal, that is, what they intend to deliver by sprint end
Software Development Methodologies
Agile - Implementation
Sprint planning
At the beginning of a sprint, the scrum team holds a sprint planning event to:
Agree on the sprint goal, that is, what they intend to deliver by sprint end
At the beginning of a sprint, the scrum team holds a sprint planning event to:
Agree on the sprint goal, that is, what they intend to deliver by sprint end
Form a sprint backlog by selecting which identified items should be completed in the spring
Software Development Methodologies
Agile - Implementation
Sprint planning
The suggested maximum duration of sprint planning is eight hours for a four-week sprint.
Software Development Methodologies
Agile - Implementation
Agile scrum ceremonies
Sprint planning
Daily scrum
Sprint review
Sprint retrospective
Software Development Methodologies
Agile - Implementation
Agile scrum ceremonies
Sprint planning
Daily scrum
Sprint review
Sprint retrospective
Software Development Methodologies
Agile - Implementation
Daily scrum
Each day during a sprint, the developers hold a daily stand-up scrum which may be facilitated by
a scrum master.
Software Development Methodologies
Agile - Implementation
Daily scrum
Each day during a sprint, the developers hold a daily stand-up scrum which may be facilitated by
a scrum master.
Daily scrum meetings are intended to be less than 15 minutes in length, taking place at the same
time and location daily.
Software Development Methodologies
Agile - Implementation
Daily scrum
The purpose of the meeting is to announce progress made towards the sprint goal and issues that
may be hindering the goal, without going into any detailed discussion.
Software Development Methodologies
Agile - Implementation
Daily scrum
The purpose of the meeting is to announce progress made towards the sprint goal and issues that
may be hindering the goal, without going into any detailed discussion.
Once over, individual members can go into a 'breakout session' or an 'after party' for extended
discussion and collaboration.
Software Development Methodologies
Agile - Implementation
Agile scrum ceremonies
Sprint planning
Daily scrum
Sprint review
Sprint retrospective
Software Development Methodologies
Agile - Implementation
Agile scrum ceremonies
Sprint planning
Daily scrum
Sprint review
Sprint retrospective
Software Development Methodologies
Agile - Implementation
Sprint review
At the end of each sprint, the team presents the work they have completed as a live demo rather
than a presentation.
Software Development Methodologies
Agile - Implementation
Sprint review
At the end of each sprint, the team presents the work they have completed as a live demo rather
than a presentation.
Sprint planning
Daily scrum
Sprint review
Sprint retrospective
Software Development Methodologies
Agile - Implementation
Agile scrum ceremonies
Sprint planning
Daily scrum
Sprint review
Sprint retrospective
Software Development Methodologies
Agile - Implementation
Sprint retrospective
Also at the end of each sprint, the team reflects on how well Scrum is working for them and talks
about any changes that need to be made in the next sprint.
Software Development Methodologies
Agile - Implementation
Sprint retrospective
Also at the end of each sprint, the team reflects on how well Scrum is working for them and talks
about any changes that need to be made in the next sprint.
User stories
Software Development Methodologies
Agile - Implementation
Tools used in scrum
User stories
User stories
It includes the type of user, what they want, and why they want it.
Software Development Methodologies
Agile - Implementation
Tools used in scrum
Estimation
Software Development Methodologies
Agile - Implementation
Tools used in scrum
Estimation
Hours
Software Development Methodologies
Agile - Implementation
Tools used in scrum
Estimation
Hours
Story points
Software Development Methodologies
Agile - Implementation
Tools used in scrum
Estimation
Hours
Story points
Software Development Methodologies
Agile - Implementation
Tools used in scrum
Story points
Story points are a unit of measure for expressing an estimate of the overall effort that will be
required to fully implement a product backlog item or any other piece of work.
Software Development Methodologies
Agile - Implementation
Tools used in scrum
Story points
Story points are a unit of measure for expressing an estimate of the overall effort that will be
required to fully implement a product backlog item or any other piece of work.
When we estimate with story points, we assign a point value to each item.
Software Development Methodologies
Agile - Implementation
Tools used in scrum
Story points
Story points
Story points
A user story that is assigned two story points should be twice as much effort as a one-point
story. It should also be two-thirds the effort of a story that is estimated as three story points.
Software Development Methodologies
Agile - Implementation
Tools used in scrum
Instead of arguing about how long it might take each team member personally to do
something, teams instead can quickly say that this user story is about twice or three times as
much effort as that user story.
Software Development Methodologies
Agile - Implementation
Agile scrum key roles
Product manager
Product owner
Scrum Master
Dev. team
Software Development Methodologies
Agile - Implementation
Agile scrum key roles
Product manager
Software Development Methodologies
Agile - Implementation
Agile scrum key roles
Product manager
Product manager
Product manager
Product manager
Software Development Methodologies
Agile - Implementation
Agile scrum key roles
Product manager
Product manager
Product manager
Product owner
Software Development Methodologies
Agile - Implementation
Agile scrum key roles
Product owner
Product owner
Product owner
Prioritizing needs
Software Development Methodologies
Agile - Implementation
Agile scrum key roles
Product owner
Prioritizing needs
Product owner
Prioritizing needs
Scrum Master
Software Development Methodologies
Agile - Implementation
Agile scrum key roles
Scrum Master
They protect teams from inward and outside distractions and disruptions
Software Development Methodologies
Agile - Implementation
Agile scrum key roles
Scrum Master
They protect teams from inward and outside distractions and disruptions
Scrum Master
They protect teams from inward and outside distractions and disruptions
They tend smaller scrum teams and are in charge of small groups performances
Software Development Methodologies
Agile - Implementation
Agile scrum key roles
Scrum Master
Software Development Methodologies
Agile - Implementation
Agile scrum key roles
Scrum Master
Scrum Master
They contribute heavily towards quality management, resource management, and scope
management
Software Development Methodologies
Agile - Implementation
Agile scrum key roles
Dev. Team
Software Development Methodologies
Agile - Implementation
Agile scrum key roles
Dev. Team
Dev. Team
Dev. Team
Software Development Methodologies
Agile - Implementation
Agile scrum key roles
Dev. Team
This means development team members can be computer engineers, designers, writers, data
analysts, or any other role needed to reach sprint goals.
Software Development Methodologies
Agile - Implementation
Agile scrum key roles
Dev. Team
This means development team members can be computer engineers, designers, writers, data
analysts, or any other role needed to reach sprint goals.
The development team doesn’t just wait for orders; they usually collaborate to map out goals
and plans for achieving them.
Thank You