Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Team Anti-patterns - and how to resolve them

Team Anti-patterns - and how to resolve them

Awesome Incremented

February 18, 2016
Tweet

More Decks by Awesome Incremented

Other Decks in Programming

Transcript

  1. How to avoid death By PowerPoint: David JP Phillips at

    TEDxStockholmSalon #2/2014 Think Again And for presentations
  2. “A pattern that may be commonly used but is ineffective

    and/or counterproductive in practice.” — Wikipedia
  3. Why learn Anti-patterns? Two key elements •A repeated pattern of

    action that appears beneficial, but ultimately produces more bad consequences than beneficial results •A refactored solution exists that has been proven in actual practice and is repeatable
  4. Continuous “No Improvement” aka “Zombie Bugs” or “Constant firefighting” Smells:

    • A “fixed” problem rises again & again • May also be a “similar” problem rising up after the first was fixed
  5. Continuous “No Improvement” aka “Zombie Bugs” or “Constant firefighting” Antidote:

    • “Get the basics right!” • You are fighting symptoms • Identify root cause & just fix it (no matter what) → from Agile for Humans #12: Agile Experiments with Woody Zuil [Podcast]
  6. Watching the Runners aka “Maximizing capacity” or “Idle fear” Smells:

    • Management concern over idle developers Why bad: • “Watch the baton, not the runners”
  7. Watching the Runners aka “Maximizing capacity” or “Idle fear” Antidote:

    • Allow slack time • Encourage pair programming • WIP limits
  8. A “Bug Fixing” Sprint Smells: • You need time for

    your product to stabilize before a release Antidote: • Continuous Integration • Demo your product at the end of each sprint
  9. Silo People aka “stove pipe” Why bad: • Stories will

    be prioritized based on the skills of the developers - not customer need • Low “bus factor”, which means bottlenecks when specialized developers are unavailable
  10. Silo People aka “stove pipe” Antidote: • Prioritize stories based

    on product / market needs • Strong XP practices • Pair program to share knowledge • Collective Code-Ownership • Cross-functional teams
  11. Summary Anti-patterns helpful because... • more easily spotting bad practices

    (symptoms) • better communication (defined terms) • resolving the cause (known antidote)