mastering agile practices to build high performing teams
DESCRIPTION
These slides are from a talk that I gave to the Tampa Bay Agile Meetup on August 19, 2014. The talk was titled "Mastering Agile Practices to Build High Performing Teams". http://www.meetup.com/tampa-bay-agile/events/193898502/ Description: You've read the books. You already know what your Agile team SHOULD be doing. Your Daily Standup meeting should be short and sweet. Your deployments should be automated. Your Sprint Retrospectives should inspire improvement. So if you know what to do, why aren't you doing it? The short answer is because Agile is hard. It takes real discipline and leadership to master even the most basic practices. Many teams have committed to adopting Agile, but they just don’t know how to get to the next level. In this talk, I will share my real world experiences from years of coaching high performing Agile teams. I will discuss the key practices that must be mastered for a team to become great. Additionally, I will identify useful measurement techniques so that teams know if they are improving.TRANSCRIPT
Steven GraneseAgile Coach & ConsultantCustom Software Development @sgranese
Mastering Agile Practices to Build High Performing Teams
Tampa Bay Agile Meetup
8/19/2014
Mastering Agile Practices
Building High-Performing Teams
TRUST
HABITS
COMMITMENT
DISCIPLINE
How Does Mr. Miyagi Establish Trust?
“First, make sacred pact. I promise - teach karate. That my part. You promise - learn. I say, you do. No questions. That you’re part.”
“Wax On. Wax Off. Breathe.”
Repeat habits while keeping commitment
•Psychology•Organizational Change for Tech•Business / Computer Science
Education
•Developer (CF, PHP, .Net)•Director of Technology•Manager of Development•Software Consultant
Experience
A little about me….
Agile since 2009!
Tribridge at a Glance
Nearly 600 team members averaging 20 years of experience in consulting and industry15 years of profitabilityOne of Microsoft’s top partners – Microsoft Dynamics Worldwide Partner of the Year 4 times in 6 years (2008, 2010, 2012 and 2013) Largest Microsoft Dynamics customer base in North AmericaBig Five quality delivered through practical methodologies and intimate customer relationshipsReceived Ernst &Young Entrepreneur of the Year award
•Team Formation Model•Trust and Commitment
THEORY
•10 Agile Practices•Identify Top Habits and Measureable Results
PRACTICAL
TODAY’S AGENDA
Forming
Storming
Norming
Performing
- Fear and excitement- Play it safe
- Power struggles- “Me”
- Engagement- “You and Me”
- Shared goals- “We”
COMMITMENT, DISCIPLINE AND
TRUST
FORMING STORMING NORMING PERFORMING
Erick Fleming
Your boss may not TRUST you.
CODER
DEVELOPER
CRAFTSMAN
• Can read and write code• Cannot build sustainable
applications by himself
• Can design/build solutions• Often delivers bugs• Focuses on technical
limitations
• Takes pride and ownership• Rarely delivers bugs• Focuses on users / business• Trusted
Mike
Aaron
Linda (Craftswoman)
Pyramid of Agile
Practices
FORMING
STORMING
NORMING
PERFORMING
Communication & Transparency
Disciplined Iterations
Automation
Continuous Delivery
Retro-spectives
Daily Standups
Design & Analysis
Planning ReviewsTesting
DeploysTests
Lean & Kanban
User Stories
User Stories The Language of
an Agile Organization
Communication & Transparency
Disciplined Iterations
Automation
Continuous Delivery
Retro-spectives
Daily Standups
Design & Analysis
Planning ReviewsTesting
DeploysTests
Lean & Kanban
User Stories
As a <user/role>, I want to <goal/desire>
so that <reason | benefit>.
WHO WHAT
WHY
I-N-V-E-S-T
The Art of Writing Good User Stories
HOW
As a student, I want my grades to appear on the left side of the screen with Helvetica font.
As an undergraduate student, I want electronic notification of my grades so that I don’t have wait until I return to campus to know if I passed last semester’s courses.
User Stories – Examples
Unclear Value
Can’t Negotiate
As a user, I want to my view grades online so that I can view them.
Valuable
User Stories Habits
1. Story format also used by non-development teams
2. Start high level with valuable why’s
3. Improve story title and add details over time
Design AnalysisDesign vs.
Documentation
Communication & Transparency
Disciplined Iterations
Automation
Continuous Delivery
Retro-spectives
Daily Standups
Design & Analysis
Planning ReviewsTesting
DeploysTests
Lean & Kanban
User Stories
Design = Thinking
Documentation = Recording Thoughts
Before Sprint
During Sprint
End of Sprint
Think & Make “How” Decisions
DESIGN
DOCUMENTATION
Test and Adjust Decisions
Document Final Decisions
• Acceptance Criteria
• Prototypes• Process Flows• Graphics
& UI Layout
• Test Cases • Code• Rough
Documentation• Valuable
Documentation
Design & Analysis Habits
1. Collaborative Design 2. Prototyping• Feature-level: Demonstrate value to
business• Story-level: Communicate
requirements to team3. Documentation delivered with code to
avoid documentation debt
Daily Standup Keystone Habit
Communication & Transparency
Disciplined Iterations
Automation
Continuous Delivery
Retro-spectives
Daily Standups
Design & Analysis
Planning ReviewsTesting
DeploysTests
Lean & Kanban
User Stories
All tasks visible
Each person movesown cards
Time limit
Daily Standup Habits
1. Meeting occurs everyday, on-time, no matter who shows up.
2. Everyone is prepared. Everyone talks.3. No discussion of “how”.4. Issues are assigned and resolved quickly.
RetrospectivesAiring of
Grievances
Communication & Transparency
Disciplined Iterations
Automation
Continuous Delivery
Retro-spectives
Daily Standups
Design & Analysis
Planning ReviewsTesting
DeploysTests
Lean & Kanban
User Stories
START STOP CONTINUE
Facili-tator
Embrace Conflict
2-3 Goals
GOOD
BETTER“Builds trust within team”
Retrospectives Habits
1. Not allowed -> management, customers, product owners
2. Safe environment where everyone can speak their mind
3. Identify and track actionable improvements
Sprint Planning Making a
Commitment
Communication & Transparency
Disciplined Iterations
Automation
Continuous Delivery
Retro-spectives
Daily Standups
Design & Analysis
Planning ReviewsTesting
DeploysTests
Lean & Kanban
User Stories
Sprint PlanningStory: Electronic Notification of GradesTask Name Assigned
ToEstimate
(hrs)Design Mary 4
Test Cases Jason 2User Interface Mary 8Backend Logic Samantha 16SQL Jason 8Unit Tests Samantha 4Testing & Bugs 12Documentation 4
Capacity3 Team Members6 Hours / day10 days
180 hours (total)
Total Task Estimate: 58
Sprint Capacity >=
Total Task Estimate
Sprint Planning Habits
1. Estimate ALL known tasks in hours.2. Estimate known-unknowns
(i.e. bug fixing)3. Leave buffer for unknown-unknowns
(i.e. production issues, external meetings)
Sprint TestingQA vs Testing
Communication & Transparency
Disciplined Iterations
Automation
Continuous Delivery
Retro-spectives
Daily Standups
Design & Analysis
Planning ReviewsTesting
DeploysTests
Lean & Kanban
User Stories
Testing is a mentality. It is the RESPONSIBILITY
of the entire team.
QA Professionals improve the quality of a team’s
ability to test.
Sprint Testing Habits
1. Test and fix bugs in the sprint
2. Define test cases before writing code
3. The entire team tests
Sprint ReviewsTeam’s Chance
to Shine
Communication & Transparency
Disciplined Iterations
Automation
Continuous Delivery
Retro-spectives
Daily Standups
Design & Analysis
Planning ReviewsTesting
DeploysTests
Lean & Kanban
User Stories
A FLAWLESS Sprint Review is the best way to establish TRUST between a team and its business.Polished, prepared demo for each committed story.
All Acceptance Criteria are demoed.
Top 10 Ways to Destroy Trust at a Sprint Review
10) Demo starts late9) Team not prepared8) Code samples7) Pace is too fast6) Spelling Errors5) Poorly Worded Dialogs Messages
4) Technical jargon3) Resistance to new ideas2) Missed Acceptance Criteria
1) Bugs
Sprint Reviews Habits
1. Occur at the same time, on the same day.2. Visibly record feedback and new ideas.3. Entire team is present and given the
chance to present.4. Measure percentage of stories accepted.
Automated Tests and
DeploymentsFast Feedback
Communication & Transparency
Disciplined Iterations
Automation
Continuous Delivery
Retro-spectives
Daily Standups
Design & Analysis
Planning ReviewsTesting
DeploysTests
Lean & Kanban
User Stories
Automated Unit Tests
DEV PC 1
Automated Builds and Deploys
Benefits1) Repeatable & Fast2) Reduces Risk3) Reduces team
friction
DEPLOY SERVER
SOURCE-CODE SERVER
BUILD SERVER
1) Check -ins
DEV PC 2 DEV PC 3
3) Run Auto-Tests
4) Build App
5) Deploy App TARGET
SERVER
2) Get Fresh Code
Automated Tests and Deploys Habits
1. Disciplined writing of unit tests for each story.
2. Fast feedback from Automated Unit Tests upon code check-in.
3. Automated Deployments occur at least daily so that testing occurs daily.
Lean & KanbanContinuous Delivery of
Value
Communication & Transparency
Disciplined Iterations
Automation
Continuous Delivery
Retro-spectives
Daily Standups
Design & Analysis
Planning ReviewsTesting
DeploysTests
Lean & Kanban
User Stories
Lean Principle:Code that is not in
production is waste!Deploy code to production regularly.
Not all production code must be executed by all users.
Continuous Delivery of Value
Kanban & Lean Habits
1. Drop the Iterations.2. Limit work-in-progress.3. Build software that is
always valuable and deployable.
FORMING
STORMING
NORMING
PERFORMING
Communication & Transparency
Disciplined Iterations
Automation
Continuous Delivery
Retro-spectives
Daily Standups
Design & Analysis
Planning ReviewsTesting
DeploysTests
Lean & Kanban
User Stories
HABITS
COMMITMENT
DISCIPLINE
TRUST
Steven GraneseAgile Coach & ConsultantCustom Software Development
Q&AMastering Agile Practices
to Build High Performing Teams
@sgranese