You are on page 1of 91

What is Agile

• Developed for Software Projects


• Over 12 agile methodologies
• An Umbrella Term
o Scrum
o XP
o Lean
o kanban
Agile vs Traditional PM

• Increment vs as a whole
• Planning throughout vs done all at once
• Delivery over time vs all at once
• Faster value vs at the end
• Encourages Change vs Discouraging Change
Why we need to know
Agile?
Agile Benefits

• Customer Involvement
• Stakeholder Interaction
• Frequent Feedback
• Value upfront
• Change is welcomed
• Incremental Funding
• Continuously adapt to risk and
change
Agile Mindset

• Welcoming change
• Working in small value increments
• Using build and feedback loops
• Learning through discovery
• Value -driven development
• Failing fast with learning
• Continuous delivery
• Continuous improvement
Inverting the Triangle
Agile Manifesto

• Contains
o 4 values
o 12 guiding principles
The Agile Manifesto
Values

Individuals & Interactions


Over Processes & Tools

Working Software
Over Comprehensive Document

Customer collaboration
Over Contract negotiation

Responding to change
Over Following a plan
Agile Guiding Principles
1-3

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 a preference to
the shorter timescale
Agile Guiding Principles
4-6

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
Agile Guiding Principles
7-9

Working software is the primary measure of progress

Agile processes promote sustainable development. The sponsors, developers)and users should be able
to maintain a constant pace indefinitely

Continuous attention to technical excellence and good design enhances agility


Agile Guiding Principles
10-12

Simplicity; the art of maximizing the amount of work not done is essential

The best architectures, requirements and designs emerge from self-organizing teams

At regular intervals, the team reflects on how to become more effective then tunes and adjusts its
behavior accordingly
Agile Terms
• Product owner (PO)
• Agile Project Manager/Scrum Master
• Product Backlog
• Sprint Planning Meeting
• Sprint Backlog
• Sprint
• Daily Stand Up Meeting
• Sprint Review
• Retrospective
• Release
Definition of Done (DoD)

• A shared understanding what it means when work


is considered done
• DoR?
Scrum SYSTEM THINKING
Problem solving approach, focuses on
relationship, dependencies & Interactions

LEAN
Scrum is a simple light weight framework that Continuous process improvement
technique
helps people, teams & organizations to
generate value through adaptive solutions for AGILE
complex problems Mindset that emphasizes flexibility,
collaboration & iterations to
promote value

KANBAN XP

SCRUM CRYSTAL
3 Pillars of scrum

Transparency Inspection Adaptation


Artifacts Events Accountabilities

3 5 3
Sprint

Product Backlog Sprint Planning Product Owner

Sprint Backlog Daily Scrum Scrum Master

Increment Sprint Review Developers

Sprint Retrospective
3 Pillars of scrum
Inputs from
Executives, Team,
Stakeholders,
Customer, Users

Product Owner The team

Task
Breakout

Product Backlog Sprint planning Sprint Backlog


Meeting
Notice the drummer?
• Sets the rhythm for the team
• Cross functional team
• Self organizing
• Mutually accountable
Self Organizing
Cross Functional Teams
Scrum Roles & Responsibilities

Product Owner
• Owns Product vision
• Define Features
• Decides on Release Date
• Responsible for market success
• Prioritization
• Can change & prioritize sprint
ScrumMaster
Facilitation

Clear impediments/blockers

Protector

Assists PO

Agile Coach/ Mentor

Scrum Processes
Development Team
Contains all necessary project skills

Focuses on steady delivery

Generates options for delivery

Manages own work within Sprints


Scrum Activities
• Sprint planning
• Sprints
• Daily stand-up
• Sprint review
• Sprint retrospectives.
Sprint Planning Sprint Planning Meeting

Sprint Prioritization
Team Capacity Sprint
• Select Sprint Goal Goal
• Analyse & evaluate market backlog
Marketing backlog

Sprint Planning
Business Priorities
• Decide how to achieve Sprint Goal Sprint
Product status • Create Sprint backlog backlog
• Estimate Sprint backlog

Competition
Sprint
Daily Scrum

03 Questions:

• What I did yesterday?


• What will I do today?
• What’s in my way?
Scrum Review
Scrum Retrospective
Scrum Artifacts
Product
Backlog &
Sprint
Backlog
Product Increment
Definition of Done
(DoD)

• A shared understanding of what it


means when work is considered done.
• Should be done for:
o User stories
o Releases
o Final project deliverables
Extreme Programming (XP)

Simplicity Courage
• Reduce complexity, extra features
and waste
1 4 • Allow our work to be visible to
others
• Find the simplest thing

Communication Respect
• Team members know what is
2 5
Core Values
5 • Everyone is accountable for the
expected of them and what others success or failure of the project
are working on • Recognize people work differently
• Daily stand-up meeting and respect the differences

Feedback
• Get review of correctness early
• Failing fast allows faster
3
improvement
XP vs ….
Roles & Responsibilities

Coach Customer Programmers Testers


XP

Acts as a mentor, guiding the Business representative who Developers who build the Help the customer define and
process and helping the provides the requirements, product. write the acceptance tests
team stay on track. priorities, and drives the for the user stories.
business direction Write the codes.
Is a facilitator helping the team
become effective.

Scrum Master Product Owner Developers QA


Scrum
XP Practices

Release Iteration
Small Releases
Planning Planning

• Short development cycles within a


• Push of new functionality all the release (Scrum ~ sprints) • Frequent, small releases to test
way to the production user • Conducted at start of every environments
• Customer outlines the functionality iteration, or every two weeks • Demonstrate progress and increase
required • Customer explains functionality visibility for the customer
• Developers estimate difficult build • Developers break functionality into • Quality is maintained: Rigorous
tasks and estimate work testing or Continuous integration
• Based on estimates and amount of
work accomplished in previous
iteration
XP Practices

Release Collective Code


Code Standards
Planning Ownership

• Customer describes one or more • Any pair of developers can improve or • Follow consistent coding standard
tests to show software is working amend any code • Code looks as if it has been written
• Team builds automated tests to • Multiple people work on all code, by a single programmer
prove software is working. Teams which results in increased visibility
use Devops, Jenkins these days • Leads to a higher level of quality; with
more eyes on the code, more defects
surface out
• Less hand switching cost
XP Practices

Sustainable Continuous
Metaphor
Pace Integration

• Periods of overtime are • XP uses metaphors and similes to • Involves bringing all quantum of
unsustainable and counterproductive explain designs and create a shared code together and making sure it
• The practice of maintaining a technical vision compiles and works together
sustainable pace of development • These descriptions establish • It brings problems to the surface
optimizes the delivery of long-term comparisons that all the stakeholders before more code is built on top of
value can understand to help explain how faulty or incompatible designs
the system should work
XP Practices

Test -Driven
Pair
Development Refactoring
Programming
(TDD)

• The team writes tests prior to • Production code is written by two • Remove redundancy, eliminate
developing the new code developers working as a pair to write unused functionality, and
• The initial code might fail the tests and provide real-time reviews of the rejuvenate obsolete designs
• The code will pass the test once it software as it emerges • Refactoring throughout the entire
is written correctly • Working in pairs also helps spread project life cycle saves time and
knowledge about the system through increases quality
the team • Code is kept clean and concise, so
it is easier to understand, modify,
and extend
Summing
Up
SYSTEM THINKING
Problem solving approach, focuses on
relationship, dependencies & Interactions

LEAN
Continuous process
improvement technique

AGILE
Mindset that emphasizes
flexibility, collaboration &
iterations to promote value

KANBAN XP

SCRUM CRYSTAL
Lean
Software
Development
Partially done work Extra Processes Extra features

The Seven Wastes

Task switching Waiting Motion Defects


SYSTEM THINKING
Problem solving approach, focuses on
relationship, dependencies & Interactions

LEAN
Continuous process
improvement technique

AGILE
Mindset that emphasizes
flexibility, collaboration &
iterations to promote value

KANBAN XP

SCRUM CRYSTAL
Kanban Board
Other Agile
Methods
Dynamic
System
Development
Methods
• Broader focus than most
other Agile approaches

• Deals with projects rather


than just the development
and delivery of a
product (typically software)
The Crystal
Agile
Methodology
Prioritization
Techniques

• Simple Scheme
• MoSCoW prioritization
• Dot Voting or Multi-voting
• Monopoly Money
• 100-point method
• Kano Analysis
Minimal Viable
Product (MVP)

• Refers to a set of functionality that is


complete to be useful, but small enough
not to be an entire project
• Usually a module in a software
Agile Modelling

• Different modeling techniques that are


used to help establish the shared vision
• Should be lightweight or “barely
sufficient”
o Use case diagrams
o Data models
o Screen designs
Wireframes

• Quick mock-up of product


• “low-fidelity prototyping”
• Clarify what “done” looks like
• Validate approach prior to execution
Personas

• Help team focus on valuable features to


users
o Provide description of users
o Be grounded in reality
o Be goal-oriented, specific, and
relevant
o Be tangible and actionable
o Generate focus
Communicating with
Stakeholders

Face to face communication


Two-way communication
Knowledge sharing
Information Radiators
Social Media
Team Spaces

• Co-located Teams
• Team Space
• Osmotic Communication
• Global and Cultural Diversity
• Distributed teams
Co-Located Teams

• All team member work together in the same


location
• Allows for face-to-face time and interaction
• Should be within 33 feet of each other
• No physical barriers
• Sometimes a virtual co-location
Team Space

• More low-tech, high touch


• Osmotic Communication
• Tacit Knowledge
Global and Cultural
Diversity

• Time Zones
• Cultures
• Native Languages
• Styles of communications
Distributed Teams

• At least one team member working


off-site
• Need to find ways to replicate co –
location team benefits
• Digital Tools for distribute teams
• Video conferencing
• Interactive whiteboards
• Virtual card walls
Tracking Team
Performance

• Burn Charts
o Burnup - Work that has been done
o Burndown - Work that remains to
be done
• Velocity Charts - Show how the team is
performing
Velocity Charts

If a team has completed 3 iterations


with the average velocity of 18 points
per iteration, how many iterations would
it take to complete 250 points of work?

Number of more iterations =250/18 = 14


Adaptive Planning

• Planning is ongoing process


• Proactively update plan
• Focus on value delivery
• Minimize non-value adding work
• Uncertainty drives need to replan
• Frequently discover issues
• Experience high rates of change
Levels of
Agile
Planning
Progressive
Elaboration

• Adding more detail as information emerges


• Rolling wave planning
Value-Base Analysis
and Decomposition

• Assessing and prioritizing the business


value
• Consider payback frequency and
Dependencies
• Value -Based Decomposition
• Breaks down the requirements
• Prioritize
Coarse-Grained”
Requirements
Timeboxing

• Short, fixed-duration periods of time in


which activities or work are
undertaken

• Daily Stand-up – 15 minutes


• Retrospectives – 2 hours
• Sprints – 1-4 weeks
Ideal Time v Real
Time
Decomposing
Requirements
User Story & Its 3C’s
3Cs
Card Conversation Confirmation
3Cs
Index Card

Gherkin Format for


Acceptance Criteria
User Story (Cont..)
User Story - INVEST
User Story Backlog
(Product Backlog)

Backlog Grooming -
Keeping the backlog
updated and
accurately prioritized
Sprint 1 Sprint 2 Sprint 3

Relative Sizing and


Story 1
Story Points Story 2
Story 4
Story 5
Story 6
Story 7
Story 3 Story 8

Sprint Bucketing

T Shirt Sizing
Fibonacci Series Story Points
Story Point Estimation
Team should own Story point
the definition of estimates should be
their story all-inclusive
points

Complexity, work
Point sizes should be effort, and risk should
relative all be
included in the
estimate
Estimation Technique
- Planning Poker
High-level planning
Product Roadmap tool

Stakeholders map out what are


the project priorities early in the
planning

Serves as the
“product roadmap”

Shows when features will be


delivered and what is included
in each release
Types Of Iterations

Iteration Dev Dev Dev Dev Iteration


0 Iteration Iteration Iteration Iteration H
Spikes

ARCHITECTURAL SPIKE: PERIOD OF RISK BASED SPIKE: TEAM WORKS


TIME BEFORE ITERATION 0 UPON ELIMINATING RISKS
DEDICATED TO PROOF OF CONCEPT
Technical Debt

Backlog of work caused by not performing regular cleanup

Changes are hard to make if Technical debt is not cleaned

Refactoring is the solution


Release Planning
Meeting run by the delivery team
Iteration Planning
Discuss the user stories in the backlog

Select the user stories for the iteration

Define the acceptance criteria

Break down the user stories into task

Estimate the tasks

Start Sprint 0
Cost of Change

Cost
Cost
Of
Change

Requirement Analysis & Coding Testing in the Production


Design large
Time
Length of Feedback cycle
Backlog of work
Technical Debt caused by not doing
regular cleanup

If not done will lead the increase


cost of development and make it
harder to implement changes

Refactoring is the solution


Graduated fixed price contract

Buyer & Different hourly rates


seller based on :
share the “finish early, finish on
Agile risk and
rewards
time, finish late”

Contracting
Fixed price work package
It mitigates the risk of under and
over estimation
Gulf of Evaluation
What one These are solved by :
person
describes is Frequent validation
often Sprint review
different
from Pair programming
Agile Helps another
person Negotiation
interprets Stand ups

Gulf of Execution
It is the gap between what a user
wants to do and how they do it

You might also like