30
Essential Patterns of Mature Agile Teams Bob Galen President & Principal Consultant RGCG, LLC [email protected]

Essential Patterns of - ASPE Training...Maturity Patterns 1. Truly Emergent Architecture 2. Aggressive Refactoring 3. Pursue Ruthless KISS 4. Behaving Like a Team 5. Truly Collaborative

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Essential Patterns of - ASPE Training...Maturity Patterns 1. Truly Emergent Architecture 2. Aggressive Refactoring 3. Pursue Ruthless KISS 4. Behaving Like a Team 5. Truly Collaborative

Essential Patterns of Mature Agile Teams

Bob GalenPresident & Principal Consultant

RGCG, LLC [email protected]

Page 2: Essential Patterns of - ASPE Training...Maturity Patterns 1. Truly Emergent Architecture 2. Aggressive Refactoring 3. Pursue Ruthless KISS 4. Behaving Like a Team 5. Truly Collaborative

Copyright © 2014 RGCG, LLC 2

IntroductionBob Galen Independent Agile Coach (CSC) at RGCG, LLC

Principle Agile Evangelist at Velocity Partners

Somewhere ‘north’ of 30 years overall experience Wide variety of technical stacks and business domains Developer first, then Project Management / Leadership, then

Testing Senior/Executive software development leadership for 20 years Practicing formal agility since 2000 XP, Lean, Scrum, and Kanban experience From Cary, North Carolina Connect w/ me via LinkedIn and Twitter @bobgalen

Bias Disclaimer:Agile is THE BEST Methodology

for Software Development…However, NOT a Silver Bullet!

Page 3: Essential Patterns of - ASPE Training...Maturity Patterns 1. Truly Emergent Architecture 2. Aggressive Refactoring 3. Pursue Ruthless KISS 4. Behaving Like a Team 5. Truly Collaborative

Copyright © 2014 RGCG, LLC 3

Three CommonMeta-Patterns Achieving Agile Maturity

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

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

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

coach Culture seems to be the largest “failure factor”

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

Page 4: Essential Patterns of - ASPE Training...Maturity Patterns 1. Truly Emergent Architecture 2. Aggressive Refactoring 3. Pursue Ruthless KISS 4. Behaving Like a Team 5. Truly Collaborative

“Doing” Agile vs.“Being” Agile?

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

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

behaviors, organizational adoption, etc.

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

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

Copyright © 2014 RGCG, LLC 4

Page 5: Essential Patterns of - ASPE Training...Maturity Patterns 1. Truly Emergent Architecture 2. Aggressive Refactoring 3. Pursue Ruthless KISS 4. Behaving Like a Team 5. Truly Collaborative

Copyright © 2014 RGCG, LLC 5

OutlineMaturity Patterns

1. Truly Emergent Architecture2. Aggressive Refactoring3. Pursue Ruthless KISS4. Behaving Like a Team5. Truly Collaborative Work6. Lean Work Queues7. Performing Extraordinary

Facilitation8. Quality on ALL Fronts9. Testing is Everyone’s Job10. Active Done-Ness11.Stopping the Line

12.Product Ownership takes a Village13.Pervasive Product Owners14.The Nuance of a Healthy Backlog15.Righteous Retrospectives16. The Power of Complete

Transparency17.Doing More than Thought

Possible

Page 6: Essential Patterns of - ASPE Training...Maturity Patterns 1. Truly Emergent Architecture 2. Aggressive Refactoring 3. Pursue Ruthless KISS 4. Behaving Like a Team 5. Truly Collaborative

Technical

Copyright © 2014 RGCG, LLC 6

Page 7: Essential Patterns of - ASPE Training...Maturity Patterns 1. Truly Emergent Architecture 2. Aggressive Refactoring 3. Pursue Ruthless KISS 4. Behaving Like a Team 5. Truly Collaborative

Copyright © 2014 RGCG, LLC 7

#1) Truly Emergent Architecture

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

Sprint #0’s as appropriate

Backlogs contain learning activity – Research Spike stories

Should demonstrate architectural evolution in Sprint Reviews

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

other teams Deliver architecture from within the

Scrum teams Publish system metaphors,

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

Page 8: Essential Patterns of - ASPE Training...Maturity Patterns 1. Truly Emergent Architecture 2. Aggressive Refactoring 3. Pursue Ruthless KISS 4. Behaving Like a Team 5. Truly Collaborative

Copyright © 2014 RGCG, LLC 8

#2) Aggressive Refactoring

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

fragile code?

Aggressive refactoring

Put it on your Backlogs Justify / explain it in business

terms

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

Page 9: Essential Patterns of - ASPE Training...Maturity Patterns 1. Truly Emergent Architecture 2. Aggressive Refactoring 3. Pursue Ruthless KISS 4. Behaving Like a Team 5. Truly Collaborative

Copyright © 2014 RGCG, LLC 9

#3) Ruthless KISS

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

Process & Tools Fight Gold-plating developing

(Just Enough) of EVERYTHING!

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

Continuously engage your Product Owner

Page 10: Essential Patterns of - ASPE Training...Maturity Patterns 1. Truly Emergent Architecture 2. Aggressive Refactoring 3. Pursue Ruthless KISS 4. Behaving Like a Team 5. Truly Collaborative

Teaming

Copyright © 2014 RGCG, LLC 10

Page 11: Essential Patterns of - ASPE Training...Maturity Patterns 1. Truly Emergent Architecture 2. Aggressive Refactoring 3. Pursue Ruthless KISS 4. Behaving Like a Team 5. Truly Collaborative

Copyright © 2014 RGCG, LLC 11

#4) Behaving Like a Team

Includes the Scrum Master and Product Owner

Developing trust Congruent feedback Getting the “Elephants” on the

table Asking for help; helping each

other

Spending personal time together

Passionate debate; Healthy conflict

Strengths & weaknesses; adjust to each; maximizing & minimizing

Succeeding or failing – as a team

Page 12: Essential Patterns of - ASPE Training...Maturity Patterns 1. Truly Emergent Architecture 2. Aggressive Refactoring 3. Pursue Ruthless KISS 4. Behaving Like a Team 5. Truly Collaborative

Copyright © 2014 RGCG, LLC 12

#5) Truly Collaborative Work

Co-located teams

Avoiding Scrummerfall-like dynamics Stages and gates within the

team Long queues with hand-offs

Comfortable pairings (across the team); Triad

Listening to each other; mutual respect, honor experience

Page 13: Essential Patterns of - ASPE Training...Maturity Patterns 1. Truly Emergent Architecture 2. Aggressive Refactoring 3. Pursue Ruthless KISS 4. Behaving Like a Team 5. Truly Collaborative

Copyright © 2014 RGCG, LLC 13

#6) Lean Work Queues

Limiting WIP Fewer things “in process” and

small tasks Visible workflow Kanban is interesting variant of

the ‘correct’ team behavior

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

Think in terms of reducing & eliminating WASTE

Page 14: Essential Patterns of - ASPE Training...Maturity Patterns 1. Truly Emergent Architecture 2. Aggressive Refactoring 3. Pursue Ruthless KISS 4. Behaving Like a Team 5. Truly Collaborative

Copyright © 2014 RGCG, LLC 14

#7) Performing Extraordinary Facilitation

Grooming meetings Discussions are at the “right

level” Win-win discussions

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

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

Page 15: Essential Patterns of - ASPE Training...Maturity Patterns 1. Truly Emergent Architecture 2. Aggressive Refactoring 3. Pursue Ruthless KISS 4. Behaving Like a Team 5. Truly Collaborative

Quality & Testing

Copyright © 2014 RGCG, LLC 15

Page 16: Essential Patterns of - ASPE Training...Maturity Patterns 1. Truly Emergent Architecture 2. Aggressive Refactoring 3. Pursue Ruthless KISS 4. Behaving Like a Team 5. Truly Collaborative

Copyright © 2014 RGCG, LLC 16

#8) Quality on ALL Fronts

Leaving behind the notion of “Testing in quality…”

Professionalism within the team Doing the right things…doing

things right

Self-inspecting; self-policing Just enough quality

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

Focus on Craftsmanship and Professionalism

Page 17: Essential Patterns of - ASPE Training...Maturity Patterns 1. Truly Emergent Architecture 2. Aggressive Refactoring 3. Pursue Ruthless KISS 4. Behaving Like a Team 5. Truly Collaborative

Copyright © 2014 RGCG, LLC 17

#9) Testing is Everyone’s Job

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

Listening to test estimates as part of work estimation

Understanding functional and non-functional testing

Root Cause Analysis as a team

Page 18: Essential Patterns of - ASPE Training...Maturity Patterns 1. Truly Emergent Architecture 2. Aggressive Refactoring 3. Pursue Ruthless KISS 4. Behaving Like a Team 5. Truly Collaborative

Copyright © 2014 RGCG, LLC 18

#10) Active Done-Ness; Readiness

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

definition Not functional tests

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

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

Page 19: Essential Patterns of - ASPE Training...Maturity Patterns 1. Truly Emergent Architecture 2. Aggressive Refactoring 3. Pursue Ruthless KISS 4. Behaving Like a Team 5. Truly Collaborative

Copyright © 2014 RGCG, LLC 19

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.

Page 20: Essential Patterns of - ASPE Training...Maturity Patterns 1. Truly Emergent Architecture 2. Aggressive Refactoring 3. Pursue Ruthless KISS 4. Behaving Like a Team 5. Truly Collaborative

Copyright © 2014 RGCG, LLC 20

#11) Stopping the Line!

Fix your bugs Ruthless testing; immediate

testing; immediate feedback Less logging more fixing

Build is broken ? Fix it!

Need automation for a key area? Build it!

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

Key impediments to your team? Resolve them!

Page 21: Essential Patterns of - ASPE Training...Maturity Patterns 1. Truly Emergent Architecture 2. Aggressive Refactoring 3. Pursue Ruthless KISS 4. Behaving Like a Team 5. Truly Collaborative

Product

Copyright © 2014 RGCG, LLC 21

Page 22: Essential Patterns of - ASPE Training...Maturity Patterns 1. Truly Emergent Architecture 2. Aggressive Refactoring 3. Pursue Ruthless KISS 4. Behaving Like a Team 5. Truly Collaborative

Copyright © 2014 RGCG, LLC 22

#12) Product Ownership takes a Village

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

themes, and release goals

Shared— Vision & Goals Business Values Technical direction

Functional, Technical, and Product ‘voices’

Page 23: Essential Patterns of - ASPE Training...Maturity Patterns 1. Truly Emergent Architecture 2. Aggressive Refactoring 3. Pursue Ruthless KISS 4. Behaving Like a Team 5. Truly Collaborative

Copyright © 2014 RGCG, LLC 23

#13) Pervasive Product (Customer) Owners

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

decisions

Engaged as a team member

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

Engage the customer and stakeholders

www.leadingagile.com

Page 24: Essential Patterns of - ASPE Training...Maturity Patterns 1. Truly Emergent Architecture 2. Aggressive Refactoring 3. Pursue Ruthless KISS 4. Behaving Like a Team 5. Truly Collaborative

Copyright © 2014 RGCG, LLC 24

#14) The Nuance of a Healthy Backlog

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

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

Never ‘done’ grooming; iterative

Page 25: Essential Patterns of - ASPE Training...Maturity Patterns 1. Truly Emergent Architecture 2. Aggressive Refactoring 3. Pursue Ruthless KISS 4. Behaving Like a Team 5. Truly Collaborative

Organization

Copyright © 2014 RGCG, LLC 25

Page 26: Essential Patterns of - ASPE Training...Maturity Patterns 1. Truly Emergent Architecture 2. Aggressive Refactoring 3. Pursue Ruthless KISS 4. Behaving Like a Team 5. Truly Collaborative

Copyright © 2014 RGCG, LLC 26

#15) Righteous Retrospectives

For the team! Remember Norm Kerth’s

“Prime Directive”: Everyone tried their best Safe environment

Drives “Continuous Improvement” Challenge one other!

Get the “Elephants” out in the open

Be creative – try new things; take some risks

Page 27: Essential Patterns of - ASPE Training...Maturity Patterns 1. Truly Emergent Architecture 2. Aggressive Refactoring 3. Pursue Ruthless KISS 4. Behaving Like a Team 5. Truly Collaborative

Copyright © 2014 RGCG, LLC 27

#16) The Power of Complete Transparency

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

Rampant Information Radiators

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

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

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

Page 28: Essential Patterns of - ASPE Training...Maturity Patterns 1. Truly Emergent Architecture 2. Aggressive Refactoring 3. Pursue Ruthless KISS 4. Behaving Like a Team 5. Truly Collaborative

Copyright © 2014 RGCG, LLC 28

#17) Doing More than Thought Possible

Stretch goals within Sprints

Creative solutions – not simply following

the Story or Task lists exploring alternatives with

Product Owner The Wisdom of Crowds

Iterations that lead towards… “Good Enough”

Fighting Parkinson’s Law and Student Syndrome

Supporting – Slack Time Innovation Time Creativity thinking Experimentation

Page 29: Essential Patterns of - ASPE Training...Maturity Patterns 1. Truly Emergent Architecture 2. Aggressive Refactoring 3. Pursue Ruthless KISS 4. Behaving Like a Team 5. Truly Collaborative

Copyright © 2014 RGCG, LLC

Wrap-up

Final questions or discussion?

Get a free copy of my Scrum Product Ownership book by joining my mailing list at – www.rgalen.com

Thank you!

2929

Page 30: Essential Patterns of - ASPE Training...Maturity Patterns 1. Truly Emergent Architecture 2. Aggressive Refactoring 3. Pursue Ruthless KISS 4. Behaving Like a Team 5. Truly Collaborative

Contact Info

Bob GalenPrincipal Consultant,

RGalen Consulting Group, L.L.C.

Experience-driven agile focused training, coaching & consulting

Cell: (919) [email protected] www.rgalen.com

[email protected] www.velocitypartners.net

BlogsProject 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/

30Copyright © 2014 RGCG, LLC 30