Common Agile Anti-Patterns at Scale Along with Their Causes and Solutions

March 25, 2013 — Posted by Al Shalloway

My blog on Patterns of Agile Adoption: Team Focus Sets Us Up To Fail has created a bit of a stir on Twitter.  Thought I'd put together this table of Agile anti-patterns, their underlying causes and their solutions! What's important to remember is that every solution to each of these problems was postulated with Lean-Thinking.  Makes me believe that other problems, previously unencountered, might find Lean-Thinking of value as well.

Symptom

Underlying Cause

Solution

Not working on the most important things

Not understanding  principles of product development flow.  Not having a way to tell what features are most important.  Development team leading options instead of business.

Use Business Driven Software Development*.

Too many things in play with what appears to be a jammed up development group

What is being required of the development team does not match their capacity.  This is likely due to key people not being properly used.

Use Kanban for those folks that are the constraints in the system**. 

Key folks being overwhelmed with work.

Not managing work in progress (WIP) levels for key folks**.

Use Kanban for those folks that are the constraints in the system**.

Software gets built but can’t be deployed because of missing pieces of business function.

No one is tracking business dependencies.

Use Business Driven Software Development*.

Teams developing software reasonably well with Scrum but difficulty in releasing at a steady pace.

No big picture guiding the teams.

Use Lead-Agile Roadmap (or equivalent) or Scaled Agile Framework.

Integration problems.

Teams not being given work at approximately the same time.   Cross-functional teams not being present.

Shared backlogs.

Dynamic Feature Teams.

TDD

Long testing times

Developers and testers not working closely together.

ATDD & TDD

Changes in code in one part of the system breaks code in other parts

Technical dependencies and code debt.

Learn emergent design, TDD and design patterns.  Use mocks when developing newcode.

* Business driven software development (BDSD) means to drive from business value, recognizing that Agile is about delivering business value incrementally, not developer iterations.  Incorporated into BDSD is the use of minimal marketable features (MMFs) or their equivalent. A key aspect of BDSD is that we start with business functionality in mind and break things down into releases and stories.  We do not start with the stories and group them together.

** Key folks. These will be folks who are subject matter experts (SMEs), have knowledge of critical legacy code, or are just highly skilled that are spread to thin.

If you are having any of these challenges and your Agile coach tells you the solution is to just remove the impediments in your way, you really need to give us a call.  While the Scrum model will solve your problems if you can implement them, in large organizations that is always not always possible or cost effective. I assure you we can help you as we've helped others.  I promise you that the time it takes to do a 1 hr consult (not sales call) will be of value to you.

Al Shalloway
CEO, Net Objectives

 

Author: 

Share this:

About the author | Al Shalloway

Al Shalloway is the founder and CEO of Net Objectives. With over 40 years of experience, Alan is an industry thought leader in Lean, Kanban, product portfolio management, SAFe, Scrum and agile design.



        

Free Email Updates!

Sign up for free email updates from
Net Objectives Thoughts Blog

Blog Authors

Al Shalloway
Business, Operations, Process, Sales, Agile Design and Patterns, Personal Development, Agile, Lean-Agile, Kanban, Scrum, Scrumban, XP
Cory Foy
Change Management, Innovation Games, Team Agility, Transitioning to Agile
Jim Trott
Business and Strategy Development, Analysis and Design Methods, Change Management, Knowledge Management, Lean Implementation, Team Agility, Transitioning to Agile, Workflow, Technical Writing, Certifications, Coaching, Mentoring, Online Training, Professional Development, Agile, Lean-Agile, Kanban
Ken Pugh
Software Design, Design Patterns, Technical Writing, TDD, ATDD, Coaching, Mentoring, Professional Development, Agile, Lean-Agile, Scrum
Scott Bain
Analysis and Design Methods, Agile Design and Patterns, Software Design, Design Patterns, Technical Writing, TDD, Coaching, Mentoring, Online Training, Professional Development, Agile