Agile at Atlassian – Web
N I R A J B H AW N A N I | S E N I O R D E V T E A M L E A D, C O N F L U E N C E S E RV E R | C S M
Agile at Atlassian
Agile software delivery at scale
Agenda
Team structure
Agile rituals
Agile tools
Scaling agile
Estimation & delivery
Agile tips & anti patterns
Team structure
Roles and responsibilities
Product Manager (PM)
TEAM STRUCTURE – ROLES
• More traditionally known as the Product
Owner (PO) in Scrum
• Often supported by Business Analysts
• Responsibilities:
• Product strategy
• Set priorities
• Clearly expressing backlog items
• Ensuring team is set up to deliver value
Designer (UX)
TEAM STRUCTURE – ROLES
• Works closely with the TL and PM
• Responsibilities:
• End-user experience
• Work closely with the team on
envisioning upcoming work
• Provide UX support for current work
Team Lead (TL)
TEAM STRUCTURE – ROLES
• a.k.a. Scrum Master
• Responsibilities:
• People management
• Communicating goals and scope
• Facilitate agile rituals
• Coaching the team to do agile effectively
• Remove blockers
• Backlog management
Triad
TEAM STRUCTURE – ROLES
• TL + PM + UX
• Responsibilities:
• Decision makers for the team
• Roadmap planning
Development Team
TEAM STRUCTURE – ROLES
• Typically 5-10 developers
• People who actually work on the backlog
• Work autonomously but under guidance
• Mix of skills and levels
What’s missing?
TEAM STRUCTURE – ROLES
Agile rituals
Implementing agile
Sprints
AGILE RITUALS
• Time-boxed period of work
• Produces a product increment
• Some teams choose not to have sprints
Standup
AGILE RITUALS
• When: Daily (usually morning)
• Who: Dev team + TL + optional members
• Where: In-person or over video conferencing
• Length: Ideally 5 minutes
• Topic: Blockers & progress
Planning Meeting
AGILE RITUALS
• When: Weekly or fortnightly
• Who: Dev team + TL
• Where: In-person or over video conferencing
• Length: 20 minutes
• Topic: Kicking off the next batch of work
Retrospective
AGILE RITUALS
• When: Weekly or fortnightly
• Who: Dev team + TL + PM + UX + …
• Where: In-person or over video conferencing
• Length: 20 minutes
• Topic: Discussing problems and
improvements
Demos
AGILE RITUALS
• When: Weekly or fortnightly
• Who: Dev team + TL + PM + UX + QE
• Where: In-person or over video conferencing
• Length: 20 minutes
• Topic: Demonstrating completed/in-
progress work
Estimation Meeting
AGILE RITUALS
• Estimate the effort required to complete
tickets in the backlog
• When: Ad-hoc
• Who: Dev team + TL (optional)
• Where: In-person or over video conferencing
• Length: 5-30 minutes
♠
♣
♥
♦
Agile tools
Tools we use to implement agile practices
AGILE TOOLS
• Work backlog lives in Jira
• Provides tracking and visibility
• Projects > Epics > Issues > Sub-tasks
• Custom workflows
• Powerful querying
• Highly customisable
Fun fact: Jira is so
customisable, this
guy used it to
control a toaster.
AGILE TOOLS
• Lightweight alternative to Jira
• No reporting
• Not good at managing large backlogs
• Does not control toasters
AGILE TOOLS
• Knowledge base / wiki
• Project documentation
• Team practices
• Meeting notes
• …
• Collaboration
AGILE TOOLS
• Continuous integration
• Tests changes to the product
• Reports on the results
• Continuous delivery
• Deploys tested artifacts
• Bitbucket Pipelines
AGILE TOOLS
• Code hosting – Git service
• Competitor to GitHub
• Version control
• Code reviews via pull requests
AGILE TOOLS
• Feature flags for cloud services
• A/B testing for early feedback
Scaling agile
How agile works with large, distributed teams
How do multiple teams work
in sync?
SCALING AGILE
Scrum of Scrums
SCALING AGILE
• Representatives from teams attend a status
meeting
• Similar to standup, but more high level
• Less frequent – weekly
How does a team handle
multiple streams of work?
SCALING AGILE
Feature Lead (FL)
SCALING AGILE
• A team may have several FLs
• Each manages one stream of work
• Still expected to contribute to velocity (50%)
• Responsibilities overlap with TL
• TL is still accountable
• Escalates all people issues to TL
• Temporary role. Not an official title
How do teams monitor
dependencies and keep up to
date with other projects?
SCALING AGILE
Project Central (PC)
SCALING AGILE
• A repository of projects that are being
worked on
• FL posts high level update once a week
• Execs and external teams watch updates
• Projects > 2 developer weeks
How do you visualise
roadmaps and dependencies?
SCALING AGILE
SCALING AGILE
• High level tracking for projects
• Long term roadmap planning for teams
• Based on data in Jira
• Capacity planning
Jira Portfolio
Estimation & delivery
How do we deliver software on time and with confidence
Simple estimation
ESTIMATION & DELIVERY
• Simple calculations based on velocity
• Can also base it on number of tickets
Simple estimation – Example
ESTIMATION & DELIVERY
• A team has a velocity of 50 points per sprint.
• A project is estimated at 250 story points.
• The team’s sprints are 2 weeks long.
• 250 ÷ 50 = 5 sprints
• 5 × 2 = 10 weeks
• Can also swap story points for number of tickets.
Simple estimation – Problems
ESTIMATION & DELIVERY
• Assumes that the backlog is complete. It never really is.
• People go on leave, get sick, etc.
• Teams change over time
• Work tends to take longer in the start and end of the project
• Implies more people = more velocity
• Developers are bad at estimating
Project-level estimation
ESTIMATION & DELIVERY
• Compare with a completed project worked on by a similar team
• Maintain a repository of projects and their estimates
• e.g. upgrading the same library
• e.g. project B feels like it would be as big as project A, so we look at
how many story points project A was.
Project-level estimation – Problems
ESTIMATION & DELIVERY
• Hard to find similar projects and teams
• Relies heavily on gut feeling
Probabilistic estimation
ESTIMATION & DELIVERY
• Use historical “lead time” data to predict possible outcomes
• Generates a probability chart
• Use the probability you are comfortable with (e.g. 80%)
Probabilistic estimation – Example
ESTIMATION & DELIVERY
• Team consists of 3 developers
• Person A has completed 3 tickets: 1 day, 3 days, 5 days
• Person B has completed 3 tickets: 2 days, 3 days, 6 days
• Person C has completed 2 tickets: 2 days, 3 days
Probabilistic estimation – Example
ESTIMATION & DELIVERY
• Build a histogram
0
0.75
1.5
2.25
3
1 day 2 days 3 days 4 days 5 days 6 days
Probabilistic estimation – Example
ESTIMATION & DELIVERY
• Run simulation based on histogram data to get a chart
Probabilistic estimation – Problems
ESTIMATION & DELIVERY
• Can be hard to communicate in terms of probabilities
• Assumes backlog is complete
“Bubble chart”
ESTIMATION & DELIVERY
• Consumed buffer vs remaining scope
• Trend becomes visible
• Used to make scoping and resourcing
decisions as a project is progressing
• Can look at multiple projects at once
… makes a dev team very
responsive to change by
allowing them to better track
progress, anticipate risks and
course correct accordingly.
Maui Duclercq
Program Manager, Atlassian
Agile tips & anti-patterns
Things to do and not to do to get agile to work for you
Definition of done
is not clear. Tasks
are loosely
defined.
It is clear what
needs to be done
to mark each task
as done.
GOOD BAD
Poor testing loop
leading to many
regressions
during
development
Good automated
testing coverage
catches
regressions early.
GOOD BAD
Large, loosely
defined tasks.
Tasks are long
lived.
Tasks are broken
down properly.
Progress is
clearly visible.
GOOD BAD
Don’t measure.
Use gut feeling.
Miss deadlines.
Measure, review,
make decisions,
course correct.
GOOD BAD
Backlog is out of
date. Leading to
unreliable
numbers.
Continuously
groom the
backlog.
GOOD BAD
Urgency to the
point of burnout.
– or –
No urgency
leading to slow
velocity.
The team should
have just the
right amount of
urgency.
GOOD BAD
Thank you!