Essential Patterns of Mature Agile Teams

19
1 Essential Patterns of Mature Agile Teams Bob Galen President & Principal Consultant RGCG, LLC [email protected] Copyright © 2013 RGCG, LLC 2 Introduction Bob Galen Somewhere ‘north’ of 30 years experience Various lifecycles – Waterfall variants, RUP, Agile, Chaos Various domains – SaaS, Medical, Financial Services, Computer & Storage Systems, eCommerce, and Telecommunications Developer first, then Project Management / Leadership, then Testing Leveraged ‘pieces’ of Scrum in late 90’s; before ‘agile’ was ‘Agile’ Agility @ Lucent in 2000 – 2001 using Extreme Programming Formally using Scrum since 2000 Currently an independent Agile Coach (CSC – Certified Scrum Coach, one of 50 world-wide; 20+ in North America) at RGCG, LLC and Director of Agile Solutions at Zenergy Technologies From Cary, North Carolina Connect w/ me via LinkedIn and Twitter if you wishBias Disclaimer: Agile is THE BEST Methodology for Software DevelopmentHowever, NOT a Silver Bullet!

description

Many teams have a relatively easy time adopting the tactical aspects of agile methodologies. Usually a few classes, some tools introduction, and a bit of practice lead teams toward a fairly efficient and effective agile adoption. However, these teams often get “stuck” and begin to regress or simply start going through the motions—neither maximizing their agile performance nor delivering as much value as they could. Borrowing from his experience and lean software development methods, Bob Galen examines essential patterns—the thinking models of mature agile teams—so you can model them within your own teams. Along the way, you’ll examine patterns for large-scale emergent architecture—relentless refactoring, quality on all fronts, pervasive product owners, lean work queues, providing total transparency, saying no, and many more. Bob also explores why there is still the need for active and vocal leadership in defending, motivating, and holding agile teams accountable.

Transcript of Essential Patterns of Mature Agile Teams

Page 1: Essential Patterns of Mature Agile Teams

1

Essential Patterns of Mature Agile Teams

Bob Galen President & Principal Consultant

RGCG, LLC [email protected]

Copyright © 2013 RGCG, LLC 2

Introduction Bob Galen n  Somewhere ‘north’ of 30 years experience J n  Various lifecycles – Waterfall variants, RUP, Agile, Chaos… n  Various domains – SaaS, Medical, Financial Services, Computer

& Storage Systems, eCommerce, and Telecommunications n  Developer first, then Project Management / Leadership, then

Testing n  Leveraged ‘pieces’ of Scrum in late 90’s; before ‘agile’ was ‘Agile’ n  Agility @ Lucent in 2000 – 2001 using Extreme Programming n  Formally using Scrum since 2000 n  Currently an independent Agile Coach (CSC – Certified Scrum

Coach, one of 50 world-wide; 20+ in North America) q  at RGCG, LLC and Director of Agile Solutions at Zenergy Technologies

n  From Cary, North Carolina n  Connect w/ me via LinkedIn and Twitter if you wish…

Bias Disclaimer: Agile is THE BEST Methodology for Software Development…

However, NOT a Silver Bullet!

Page 2: Essential Patterns of Mature Agile Teams

2

Copyright © 2013 RGCG, LLC 3

First, let’s explore…

n  What are the basics of “Agility”

n  What would be indicators (patterns) of Agile maturity?

n  What about Agile immaturity?

n  Let’s rank order some of them; I.e. what do you think are the more impactful patterns in either direction?

The SCRUM Framework Do we need to review it?

4 Copyright © 2013 RGCG, LLC 4

Page 3: Essential Patterns of Mature Agile Teams

3

Copyright © 2013 RGCG, LLC 5

Three Common Meta-Patterns

n  Achieving Agile Maturity q  Many teams seem to have a false sense of over-maturity q  Teams become complacent or plateau; often regressing over time q  Can you have too much self-direction?

n  Simplicity of the ‘Methods’ q  “doing Agile” is easy; “being Agile” is much harder and continuous q  Organizations, teams, and individuals often wait till the last minute to ask

for help q  Internally - retrospectives are the key; Externally - get a ‘compatible’

coach n  Culture seems to be the largest “failure factor”

q  Scrum can be quite disruptive; Kanban can be less so… q  All-in vs. incremental? Salesforce.com as a commitment model? q  Generally, how do we handle the term… Commitment?

“Doing” Agile vs. “Being” Agile?

n  One debate in the agile community surrounds agile maturity. A way of characterizing it surrounds q  Doing Agile – focusing towards is tactics, ceremonies, and techniques

vs. q  Being Agile – focusing towards team mindset, leadership mindset,

behaviors, organizational adoption, etc.

n  As an entry exercise, can we brainstorm aspects of Doing vs. Being to capture how you view the differences?

n  The Mature Patterns workshops sort of crosses both, with an emphasis towards the Being-side of the equation.

Copyright © 2013 RGCG, LLC 6

Page 4: Essential Patterns of Mature Agile Teams

4

Copyright © 2013 RGCG, LLC 7

Outline Maturity Patterns

1.  Truly Emergent Architecture 2.  Aggressive Refactoring 3.  Pursue Ruthless KISS 4.  Behaving Like a Team 5.  Truly Collaborative Work 6.  Lean Work Queues 7.  Performing Extraordinary

Facilitation 8.  Quality on ALL Fronts 9.  Testing is Everyone’s Job 10.  Active Done-Ness 11. Stopping the Line 12. Investing in Serious CI

13. Product Ownership takes a Village 14. Pervasive Product Owners 15. The Nuance of a Healthy Backlog 16. Righteous Retrospectives 17.  The Power of Complete

Transparency 18. Doing More than Thought

Possible 19. Emphasize Strength-Based

Teams 20. Congruent Agile Measurement

Copyright © 2013 RGCG, LLC 8

For each pattern… workshop discussions

n  For sets or groups of patterns, we’ll pause and discuss the patterns in small groups

n  Looking for examples where you’ve seen the pattern in operation and have a story to tell

OR n  Examples where you’ve seen related anti-patterns in operation and

have a counter-story to tell

n  Either way, we’ll be looking for group-based discussion around the ways and means of achieving agile maturity

Page 5: Essential Patterns of Mature Agile Teams

5

Technical

Copyright © 2013 RGCG, LLC 9

Copyright © 2013 RGCG, LLC 10

#1) Truly Emergent Architecture

n  Comfortable with on-the-fly de-composition; q  no BDUF!

n  Sprint #0’s as appropriate

n  Backlogs contain learning activity – Research Spike stories

n  Should demonstrate architectural evolution in Sprint Reviews

n  Architects work in “slices” q  Perhaps ‘skewed’ a bit forward from

other teams q  Deliver architecture from within the

Scrum teams q  Publish system metaphors,

guidelines, big picture views – to keep everyone focused on goals

Page 6: Essential Patterns of Mature Agile Teams

6

Copyright © 2013 RGCG, LLC 11

#2) Aggressive Refactoring

n  It’s easy to refactor on new work or greenfield project…so clearly do that. q  But what about hairy, old, fragile

code?

n  Aggressive refactoring

n  Put it on your Backlogs q  Justify / explain it in business

terms

n  Remember the relationship to automation – making refactoring effective & Fear-Less

Copyright © 2013 RGCG, LLC 12

#3) Ruthless KISS

n  Getting LEAN deep into your cultural DNA q  Fight complexity q  People & Collaboration over

Process & Tools q  Fight Gold-plating developing

(Just Enough) of EVERYTHING!

n  Deliver small increments (Just in Time) and pay attention to feedback

n  Continuously engage your Product Owner

Page 7: Essential Patterns of Mature Agile Teams

7

Teaming

Copyright © 2013 RGCG, LLC 13

Copyright © 2013 RGCG, LLC 14

#4) Behaving Like a Team

n  Includes the Scrum Master and Product Owner

n  Developing trust q  Congruent feedback q  Getting the “Elephants” on the

table q  Asking for help; helping each

other

n  Spending personal time together

n  Passionate debate; Healthy conflict

n  Strengths & weaknesses; adjust to each; maximizing & minimizing

n  Succeeding or failing – as a team

Page 8: Essential Patterns of Mature Agile Teams

8

Copyright © 2013 RGCG, LLC 15

#5) Truly Collaborative Work

n  Co-located teams

n  Avoiding Scrummerfall-like dynamics q  Stages and gates within the

team q  Long queues with hand-offs

n  Comfortable pairings

(across the team); Triad

n  Listening to each other; mutual respect, honor experience

Copyright © 2013 RGCG, LLC 16

#6) Lean Work Queues

n  Limiting WIP q  Fewer things “in process” and

small tasks q  Visible workflow q  Kanban is interesting variant of

the ‘correct’ team behavior

n  Blending roles – individuals doing more themselves and handing off less q  Swarming!

n  Think in terms of reducing & eliminating WASTE

Page 9: Essential Patterns of Mature Agile Teams

9

Copyright © 2013 RGCG, LLC 17

Kanban Iteration-less Production

Copyright © 2013 RGCG, LLC 18

#7) Performing Extraordinary Facilitation

n  Grooming meetings q  Discussions are at the “right

level” q  Win-win discussions

n  Everyone on the team facilitates q  Off-line action setting q  Planning meetings

n  Teams get options on the table and pick best solutions q  Craftsmanship q  Technical debt

Page 10: Essential Patterns of Mature Agile Teams

10

Quality & Testing

Copyright © 2013 RGCG, LLC 19

Copyright © 2013 RGCG, LLC 20

#8) Quality on ALL Fronts

n  Leaving behind the notion of “Testing in quality…”

n  Professionalism within the team q  Doing the right things…doing

things right

n  Self-inspecting; self-policing n  Just enough quality

q  Quality has a cost and should be variable based on your context

n  Focus on Craftsmanship and Professionalism

Page 11: Essential Patterns of Mature Agile Teams

11

Copyright © 2013 RGCG, LLC 21

#9) Testing is Everyone’s Job

n  Willingness on the part of the whole-team to pitch in for testing q  All types, even manual q  Extending it to test automation q  Never letting tests break q  Building in testability

n  Listening to test estimates as part of work estimation

n  Understanding functional and non-functional testing

n  Root Cause Analysis as a team

Copyright © 2013 RGCG, LLC 22

#10) Active Done-Ness; Readiness

n  Actively create and automate Acceptance Tests on a Story or a Feature basis q  Customer heavily involved with

definition q  Not functional tests

n  Have established a view to multiple levels of Done-Ness q  Work - Done q  Story Acceptance q  Sprint Goals q  Release Criteria & Goals

n  Think in terms of traditional Entry, Exit, and Release criteria

Page 12: Essential Patterns of Mature Agile Teams

12

Copyright © 2013 RGCG, LLC 23

Levels of Criteria

Activity Criteria Example Basic Team

Work Products Done’ness criteria Pairing or pair inspections of code prior to check-in; or

development, execution and passing of unit tests.

User Story or Theme Level

Acceptance Tests

Development of FitNesse based acceptance tests with the customer AND their successful execution and passing. Developed toward individual stories and/or themes for sets of stories.

Sprint or Iteration Level

Done’ness criteria Defining a Sprint Goal that clarifies the feature development and all external dependencies associcated with a sprint.

Release Level

Release criteria

Defining a broad set of conditions (artifacts, testing activities or coverage levels, results/metrics, collaboration with other groups, meeting compliance levels, etc.) that IF MET would mean the release could occur.

Copyright © 2013 RGCG, LLC 24

#11) Stopping the Line!

n  Fix your bugs q  Ruthless testing; immediate

testing; immediate feedback q  Less logging more fixing

n  Build is broken ? q  Fix it!

n  Need automation for a key area? q  Build it!

n  Need to refactor ugly legacy code that is bug infested? q  Refactor it!

n  Key impediments to your team? q  Resolve them!

Page 13: Essential Patterns of Mature Agile Teams

13

Copyright © 2013 RGCG, LLC 25

#12) Investing in Serious CI

n  Build on every check-in q  All artifacts – DB code (stored

procedures, structure) q  Automated deployments to

environments (real and/or virtual)

n  Automation everywhere! q  Dashboards q  Lava lamps

n  Serious focus – dedicated team q  Tools are only part of the

answer q  Develop infrastructure q  Continuous refactoring of CI

Product

Copyright © 2013 RGCG, LLC 26

Page 14: Essential Patterns of Mature Agile Teams

14

Copyright © 2013 RGCG, LLC 27

#13) Product Ownership takes a Village

n  Fostering an environment where the entire team ‘owns’ the Product Backlog q  Freely contributes User Stories q  Passionate debate on priority,

themes, and release goals

n  Shared— q  Vision & Goals q  Business Values q  Technical direction

n  Functional, Technical, and Product ‘voices’

Copyright © 2013 RGCG, LLC 28

#14) Pervasive Product (Customer) Owners

n  Can be a ‘team’, but needs a unified decision-maker q  Organizationally ‘sticky’

decisions

n  Engaged as a team member

n  Outwardly focused toward the market & stakeholder demands q  Advocate for the team

n  Engage the customer and stakeholders

www.leadingagile.com

Page 15: Essential Patterns of Mature Agile Teams

15

Copyright © 2013 RGCG, LLC 29

#15) The Nuance of a Healthy Backlog

n  Considering it a tapestry of work that is considered in turn: q  Architecture & design q  Quality & Test Automation q  Technical debt, Infrastructure q  Bugs q  Innovation & creativity

n  As well, planning q  Feature workflow & value q  Dependencies & risk q  Ultimately deployment

n  Never ‘done’ grooming; iterative

Organization

Copyright © 2013 RGCG, LLC 30

Page 16: Essential Patterns of Mature Agile Teams

16

Copyright © 2013 RGCG, LLC 31

#16) Righteous Retrospectives

n  For the team! n  Remember Norm Kerth’s

“Prime Directive”: q  Everyone tried their best q  Safe environment

n  Drives “Continuous Improvement” q  Challenge one other!

n  Get the “Elephants” out in the open

n  Be creative – try new things; take some risks

Copyright © 2013 RGCG, LLC 32

#17) The Power of Complete Transparency

n  Opening up your stand-ups & Sprint Planning to everyone q  Even sales folks and customers

n  Rampant Information Radiators

n  Tell it like it is q  Congruent truth-telling q  Courage q  Success or Failure

n  Expect organizational engagement – questions, suggestions, trade-offs towards core goals

n  It is what it is…now how do we ADJUST towards our GOALS

Page 17: Essential Patterns of Mature Agile Teams

17

Copyright © 2013 RGCG, LLC 33

#18) Doing More than Thought Possible

n  Stretch goals within Sprints

n  Creative q  solutions – not simply following

the Story or Task lists q  exploring alternatives with

Product Owner q  The Wisdom of Crowds

n  Iterations that lead towards… “Good Enough”

n  Fighting Parkinson’s Law and Student Syndrome

n  Supporting – Slack Time q  Innovation Time q  Creativity thinking q  Experimentation

Copyright © 2013 RGCG, LLC 34

#19) Strength-Based Teams

n  Individuals focus on what they’re good at; enjoy q  While still ‘stretching’ themselves

n  Notion of Appreciative Inquiry leveraged in retrospectives q  And continuous improvement

n  Team-building - interview for complimentary strengths

n  At scale, consider strengths q  When Release Planning – loading

work q  Load-balancing teams by skill-set

Page 18: Essential Patterns of Mature Agile Teams

18

Copyright © 2013 RGCG, LLC 35

#20) Congruent Agile Measurement

n  Don’t focus too heavily on metrics; instead on results

n  Look for measures surrounding– q  Value Delivered & Customer

Delighted q  Quality being Built-In q  Team Health & Morale q  Productivity & Predictability

n  1-2 measures per area q  Focus on trending q  Behaviors

n  Traditional measures can lead to Metrics Dysfunction q  Measure bugs for reward…get

more meaningless bugs q  Measure LOC for reward…get

more meaningless LOC

Copyright © 2013 RGCG, LLC 36

Workshop Wrap-up

n  What were the most compelling patterns?

n  What essential patterns did I miss?

n  Final questions or discussion?

Thank you!

Page 19: Essential Patterns of Mature Agile Teams

19

Contact Info

Bob Galen

Principal Consultant, RGalen Consulting Group, L.L.C.

Experience-driven agile focused training,

coaching & consulting

Contact: (919) 272-0719 [email protected] www.rgalen.com

Blogs

Project Times - http://www.projecttimes.com/robert-galen/ BA Times - http://www.batimes.com/robert-galen/ Podcast on all things ‘agile’ - http://www.meta-cast.com/

37 Copyright © 2013 RGCG, LLC 37