Often we attend a training class (e.g. an agile bootcamp) and we are told to "go forth and be awesome." Well, if you are trying to form high-performing product delivery teams, there's a ton to learn and a ton of things to #suckless at, so it takes practice. This session is all about using Deliberate Practice to improve our skills.
2. @agilebaconbeer @teamsinprogress
I’m a person that really enjoys helping
others make great software, have fun,
and discover new ways to innovate. By
the way, I like to also hang with my BFFW,
fish, anything with my dogs, enjoy beer,
and smoke meat.
I work as a Services Director, Agile Coach,
Product Consultant, and constant learner
and frequent screw-up.
matt.badgley@versionone.com
@teamsinprogress @agilebaconbeer
www.agilebacon.com
www.linkedin.com/in/mattbadgley
Matt Badgley
4. @agilebaconbeer @teamsinprogress
Areas we (or I) need to #suckless
are ____________
• What are you or your team(s) currently struggling with?
• e.g. Our sprint planning is so painful, Conversations are forced
between the team and business, Team members don’t escalate
early, Estimates rule our lives
• On the back of the hand-out, write two-three “struggles”
or things to #suckless at, be sure to give enough details so
that others can understand
3minutes
5. @agilebaconbeer @teamsinprogress
Product Backlog
Sprint Backlog
Burndown Chart
Story Writing
Release Planning
Estimation
Impediments Management
Scrum-of-Scrums
Sprint Planning
Daily Standup
Sprint Review
Sprint Retrospective
Sprint Demo
Sit Together
Whole Team
Informative Workspace
Sustainable Pace
Energized Work
40-hour Work Week
Pair Programming
Weekly Cycle
Quarterly Cycle
Slack
10 minute build
Continuous Integration
Test First Programming
Incremental Design
Planning Game
System Metaphor
Simple Design
Coding Standards
Refactoring
Limit Work-in-Progress
Manage Flow
Visualize
Make Policies Explicit
Implement Feedback
Improve Collaboratively
Automate Testing using APIs
Loosely Coupled Architecture
Deliver in Small Batches
Transparency
Eliminate Overhead
Dedicated Teams
Minimal Viable Product
Minimize Hand-offs, Maximize Flow
Economic Framework
Solution Intent
Lean Portfolio Management
Program Increment Planning
Cadence & Synchronization
Objective Based Milestones
System Demo
Inspect & Adapt
Lean Budgets
Hypothesis Driven
Story Mapping
BDD/ATDD
Lean UX
CI/CD
6. @agilebaconbeer @teamsinprogress
Product Backlog
Sprint Backlog
Burndown Chart
Story Writing
Release Planning
Estimation
Impediments Management
Scrum-of-Scrums
Sprint Planning
Daily Standup
Sprint Review
Sprint Retrospective
Sprint Demo
Sit Together
Whole Team
Informative Workspace
Sustainable Pace
Energized Work
40-hour Work Week
Pair Programming
Weekly Cycle Quarterly Cycle
Slack
10 minute build
Continuous Integration
Test First Programming
Incremental Design
Planning Game
System Metaphor
Simple Design
Coding Standards
Refactoring
Limit Work-in-Progress
Manage Flow
Visualize
Make Policies Explicit Implement Feedback
Improve Collaboratively
Automate Testing using APIs
Loosely Coupled Architecture
Deliver in Small Batches
Transparency
Eliminate Overhead
Dedicated Teams
Minimal Viable Product
Minimize Hand-offs, Maximize Flow
Economic Framework
Solution Intent
Lean Portfolio Management
Program Increment Planning
Cadence & Synchronization
Objective Based Milestones
System Demo
Inspect & Adapt
Lean Budgets
Hypothesis Driven
Story Mapping
BDD/ATDD
Lean UX
CI/CD
Simplicity--the art of maximizing the
amount of work not done--is essential.
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.
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.
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.
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.
Eliminate Waste
Build Quality In
Create Knowledge
Defer Commitment
Deliver Fast
Respect
People
Optimize the Whole
Application and End-User
Focus
Collaboration
Performance Orientation
Development Speed
Service Orientation
Automation
Monitor Everything
Take an Economic View
Apply Systems Thinking
Assume variability; preserve
options
Build incrementally with fast, integrated
learning cycles
Base milestones on
objective evaluation of
working systems
Visualize and limit WIP, reduce
batch sizes, and manage queue
lengths
Apply cadence, synchronize
with cross-domain planning
Unlock the intrinsic motivation of knowledge workers
Decentralize decision-making
7. @agilebaconbeer @teamsinprogress
Product Backlog
Sprint Backlog
Burndown Chart
Story Writing
Release Planning
Estimation
Impediments Management
Scrum-of-Scrums
Sprint Planning
Daily Standup
Sprint Review
Sprint Retrospective
Sprint Demo
Sit Together
Whole Team
Informative Workspace
Sustainable Pace
Energized Work
40-hour Work Week
Pair Programming
Weekly Cycle Quarterly Cycle
Slack
10 minute build
Continuous Integration
Test First Programming
Incremental Design
Planning Game
System Metaphor
Simple Design
Coding Standards
Refactoring
Limit Work-in-Progress
Manage Flow
Visualize
Make Policies Explicit Implement Feedback
Improve Collaboratively
Automate Testing using APIs
Loosely Coupled Architecture
Deliver in Small Batches
Transparency
Eliminate Overhead
Dedicated Teams
Minimal Viable ProductMinimize Hand-offs, Maximize Flow
Economic Framework
Solution Intent
Lean Portfolio Management
Program Increment Planning
Cadence & Synchronization
Objective Based Milestones
System Demo
Inspect & Adapt
Lean Budgets
Hypothesis Driven
Story Mapping
BDD/ATDD
Lean UX
CI/CD
Simplicity--the art of maximizing
the amount of work not done--is
essential.
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.
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.
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.
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.
Eliminate Waste
Build Quality In Create Knowledge Defer Commitment
Deliver Fast
Respect People Optimize the Whole
Application and End-User Focus
Collaboration
Performance Orientation
Development Speed
Service Orientation
Automation
Monitor Everything
Take an Economic View
Apply Systems Thinking
Assume variability; preserve
options
Build incrementally with fast,
integrated learning cycles
Base milestones on
objective evaluation of
working systems
Visualize and limit WIP,
reduce batch sizes, and
manage queue lengths
Apply cadence, synchronize with
cross-domain planning
Unlock the intrinsic motivation of knowledge workers
Decentralize decision-making
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
Openness
Courage
Respect
Focus
Commitment
Culture
Collaboration
Automation
System-
thinking
Decreasing-silos
Measurement
Trust
Feedback
Communication
Built-in Quality
Alignment
Transparency
Program Execution
9. @agilebaconbeer @teamsinprogress
In my experience, a
high-performing team
is one that
___________________
@agilebaconbeer @teamsinprogress
Source: http://blog.dilbert.com
11. A good team … is customer focused and makes users great.
@agilebaconbeer @teamsinprogress
12. @agilebaconbeer @teamsinprogress
A good team … has shared core values,
a noble cause, and
common
virtues.
Recommended reading:
@agilebaconbeer @teamsinprogress
16. @agilebaconbeer @teamsinprogress
To get better through practice …
1. You must have tenacity to get better … you have to
possess grit.
2. You must have the right environment to practice.
3. You have to practice deliberately
(a.k.a. leverage deliberate practice).
20. @agilebaconbeer @teamsinprogress
Deliberate Practice
Recommended reading:
“…deliberate practice sounds like a very
organized, canonized, or codified, way of
working really, really hard.”
- Stephen Dubner, host of Freakonomics Radio
@agilebaconbeer @teamsinprogress
22. @agilebaconbeer @teamsinprogress
Six Steps to Deliberate Practice
1. Get Motivated
2. Set specific, realistic goals
3. Break out of your comfort
zone
4. Be consistent and persistent
5. Seek feedback
6. Take time to
recover
Source: https://medium.com/the-crossover-cast/get-better-at-anything-6-steps-of-deliberate-practice-19830bfc9460
23. @agilebaconbeer @teamsinprogress
Product Backlog
Sprint Backlog
Burndown Chart
Story Writing
Release Planning
Estimation
Impediments Management
Scrum-of-Scrums
Sprint Planning
Daily Standup
Sprint Review
Sprint Retrospective
Sprint Demo
Sit Together
Whole Team
Informative Workspace
Sustainable Pace
Energized Work
40-hour Work Week
Pair Programming
Weekly Cycle Quarterly Cycle
Slack
10 minute build
Continuous Integration
Test First Programming
Incremental Design
Planning Game
System Metaphor
Simple Design
Coding Standards
Refactoring
Limit Work-in-Progress
Manage Flow
Visualize
Make Policies Explicit Implement Feedback
Improve Collaboratively
Automate Testing using APIs
Loosely Coupled Architecture
Deliver in Small Batches
Transparency
Eliminate Overhead
Dedicated Teams
Minimal Viable ProductMinimize Hand-offs, Maximize Flow
Economic Framework
Solution Intent
Lean Portfolio Management
Program Increment Planning
Cadence & Synchronization
Objective Based Milestones
System Demo
Inspect & Adapt
Lean Budgets
Hypothesis Driven
Story Mapping
BDD/ATDD
Lean UX
CI/CD
Simplicity--the art of maximizing
the amount of work not done--is
essential.
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.
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.
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.
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.
Eliminate Waste
Build Quality In Create Knowledge Defer Commitment
Deliver Fast
Respect People Optimize the Whole
Application and End-User Focus
Collaboration
Performance Orientation
Development Speed
Service Orientation
Automation
Monitor Everything
Take an Economic View
Apply Systems Thinking
Assume variability; preserve
options
Build incrementally with fast,
integrated learning cycles
Base milestones on
objective evaluation of
working systems
Visualize and limit WIP,
reduce batch sizes, and
manage queue lengths
Apply cadence, synchronize with
cross-domain planning
Unlock the intrinsic motivation of knowledge workers
Decentralize decision-making
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
Openness
Courage
Respect
Focus
Commitment
Culture
Collaboration
Automation
System-
thinking
Decreasing-silos
Measurement
Trust
Feedback
Communication
Built-in Quality
Alignment
Transparency
Program Execution
How does Deliberate Practice help
us #suckless at all this stuff?
25. @agilebaconbeer @teamsinprogress
Deliberate Practice to #suckless
• Working in small groups (1..4), pick one person’s ”struggle”
that everyone can relate to and is closer to root cause.
• Using that “struggle” as an Area to Improve, complete as
much of the Practice Canvas as possible.
• Start with brainstorming Skills and Practice/Games/Activities
• Time permitting, start another …
7minutes
27. @agilebaconbeer @teamsinprogress
When I was young and free and my imagination had no limits, I
dreamed of changing the world. As I grew older, and wiser, I discovered
the world would not change, so I shortened my sights somewhat and
decided to change only my country.
But it, too, seemed immovable.
As I grew into my twilight years, in one last desperate attempt, I settled
for changing only my family, those closest to me, but alas, they would
have none of it.
And now, as I lie on my deathbed, I suddenly realize: If I had only
changed myself first, then by example I would have changed my family.
From their inspiration and encouragement, I would then have been able
to better my country, and who knows, I may have even changed the
world.
Inscribed on the tomb of an Anglican Bishop in Westminster Abbey (1100 A.D.)
28. Thank You
I believe in working with teams to help them get better, learn, and be
successful in building stuff while having fun.
My Purpose …
@agilebaconbeer