InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Agile Addresses "The Five Dysfunctions of a Team"

Posted by Deborah Hartmann Preuss on Aug 06, 2009

Sections
Process & Practices,
Architecture & Design
Topics
Teamwork ,
Agile ,
Team Collaboration ,
Stories & Case Studies
Tags
Value & Metrics ,
Productivity

A small 2008 study, showing that Agile teams were more performant than traditional teams, noted that: "Because it is based on numerous contributing and personnel elements, productivity is often the most difficult measure for organizations to improve." Tathagat Varma, general manager with a large provider of IT performance management solutions, wondered whether Agile's productivity improvements could be linked to how it improves teamwork, so he did an analysis of Agile values and practices ,mapping them against Patrick Lencioni's The Five Dysfunctions of a Team - A Leadership Fable. This article could prove useful for discussing the benefits of Agile with managers who have found Lencioni's books useful.

Lencioni's book uses a model of 5 dysfunctions (Lencioni's pyramid is inverted here to show how trust is the most basic dysfunction, and the other dysfunctions build upon in it)

  • Absence of Trust
    • Team members who are not genuinely open with one another about their mistakes and weaknesses make it impossible to build a foundation for trust
  • Fear of Conflict
    • Teams that lack trust are incapable of engaging in unfiltered and passionate debate of ideas.
  • Lack of Commitment
    • Without having aired their opinions in the course of passionate and open debate, team members rarely, if ever, buy in and commit to decisions,
  • Avoidance of Accountability
    • Without committing to a clear plan of action, even the most focused and driven people often hesitate to call their peers on actions and behaviors that seem counterproductive to the good of the team.
  • Inattention to Results
    • Inattention to results occurs when team members put their individual needs (such as ego career development, or recognition) or even the needs of their divisions above the collective goals of the team.

Varma notes that:

... while Agile practices are explicitly aimed at ‘uncovering better ways of developing software', it also addresses the aspect of team dysfunctions subtly. Without directly asking people to change their behavior, Agile practices help overcome some of the most common team dysfunctions thereby creating a strong foundation for a team to perform upon. When the lower-level team dysfunctions have been eliminated, there is a strong foundation of mutual trust and an ownership and accountability of team commitments that helps the team stay focused on collective results without people promoting their personal agenda in the game.


Here is a summary of just a few of Varma's findings:

Trust:  Beyond the obvious trust-building practices (Agile recommends face-to-face conversation, daily updates, retrospection), Agile teams are also small, so team members do not compete but generally have complementary skills and assignments.  

Conflict: Agile teams engage together in activities like committing to work, decision making, customer demos and retrospectives. While so much "togetherness" could  potentially increase strife, the Agile approach encourages what Lencioni calls "productive conflict" - such teams have lively, interesting meetings, extract and exploit the ideas of all team members and minimize politics.

Commitment: Agile's strongest point is that everything is driven and owned by the team - and progress and success is solely measured by team commitments that have been met.

Accountability: In addition to Agile's emphasis on clear commitments and frequent accountability, Agile teams are small and work closely together; every team members' performance is visible, creating personal accountability (through teamwork, not through pressure).

Results: Agile's short and frequent delivery of working software includes transparency about progress and value delievered, this helps minimize chances of grand failures; especially since, after each iteration, the team's progress is measured in terms of business value delivered.

  • This article is part of a featured topic series on Agile

Related Sponsor

In today’s hyper-competitive world, later may be too late to adopt Agile development and this Roadmap for Success will help you get started. Download "Agile Development: A Manager's Roadmap for Success" now!

agile practices facilitate team effectiveness by Vijay Narayanan Posted
  1. Back to top

    agile practices facilitate team effectiveness

    by Vijay Narayanan

    This article is right on the money. In my experience agile retrospectives provide an opportunity for the team to voice their concerns and reflect back on an iteration. Over time, agile helped the team I was part of improve in several ways - increased our effectiveness and level of trust and slowly got us all buying into the idea of jointly owning each other's code. Practices such as code reviews and continuous integration help team effectiveness as well - we got early warning about integration issues and improved the quality of our codebase iteratively. Finally, agile practices also help systematic reuse efforts that require strong teamwork.

Educational Content

New-age Transactional Systems - Not Your Grandpa's OLTP

John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.

Cool Code

Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.