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.

Enabling and Sustaining High Performing Teams

Posted by Shane Hastie on Nov 06, 2011

Sections
Process & Practices
Topics
Team Collaboration ,
Distributed Team ,
Collaboration ,
Teamwork ,
Agile in the Enterprise ,
Agile ,
Productivity

High-performance teams and hyper-productivity are one of the commonly cited benefits of adopting Agile techniques.  A number of comentators provide advice on creating an environment that fosters and supports the formation of high performance teams of creative innovators.  

In a Forrester Research paper titled "Best Practices: Building High-Performance Application Development Teams" Jeffrey S. Hammond presents three best practices for forming high-performance teams:

Best Practice No. 1: Recruit The Right Players For Your Team
Best Practice No. 2: Create An Intrinsically Motivating Development Culture
Best Practice No. 3: Manage Your Team With Lean Software Techniques

According to Hammond:

"Partner Player" development shops are in the best position to enable business growth, because they're flexible and staffed with creative software development professionals assembled in high-performance development teams. Managers looking to become Partner Player development shops should adjust their recruiting practices to attract creative development professionals. They should also adjust their culture to keep high performers happy and create an environment where employees can develop into those desirable high performers. Finally, they should manage high-performance teams with a streamlined set of Lean Software development processes that allow them to maximize the time they spend "in flow," doing the mission-critical tasks you pay them to do.

Addressing the topic of talent attraction and retention Fast Company blogger Aaron Shapiro wrote about "Why Digital Talent Doesn’t Want To Work At Your Company" in which he lists some anti-patterns that discourage tallent and destroy high performance. 

  • Every element of their work will be pored over by multiple layers of bureaucracy.
  • Mediocre is good enough.
  • Trial and error is condemned.
  • Your company is structured so it takes a lifetime to get to the top, and as such there are no digital experts in company-wide leadership positions.
  • Your offices are cold, impersonal and downright stodgy.

He says:

The opportunity to do great things, to make a real difference, is what drives most digital talent--whether they’re developers, designers, producers, marketers or business folks.
Most companies don’t offer this, so they skip your company and work somewhere that’s more innovative and exciting. End of story. But the good news is that you can offer them something exciting and great.

However, it is not sufficient to just have an environment that enables high-performance, even when teams are performing well together, they need to be focused on delivering the right results - the ones that add the maximum value to the organisation.

J.D. Meier uses "5 Questions for Capability and Capacity of High-Performing Teams

  1. We have capability do we have capacity?
  2. We have capacity do we have capability?
  3. We have capacity and capability, do we have throughput?
  4. We have capability, capacity and throughput, do we have effectiveness? (against goals and desired outcomes)
  5. We have capacity, capability, and throughput, do we have efficiency? (Now we know what to do, can we do it well.)

He places particular attention on #3:

It forces you to analyze and evaluate, demand, throughput, and supply. It raises issues around “push” vs. “pull” strategies. It raises issues around team structure and design. It raises issues around how you split or combine the work, to go along with how you split or combine the team. It also is a great place to use TOC (Theory of Constraints) analysis to find your worst bottleneck and push the bottleneck around (it’s always somewhere, and if you know where your bottleneck is, you can decide if it’s the best place to be or what to do about it.) This is also a great chance to explore different methodologies, strategies and systems for execution. For example, if you want to be more responsive to demand and “pull” things through your execution engine, then Lean practices are a great place to look.

Tom Reynolds examined The Quest for High Performance in which he compares the environment and charactistericts for high-performing teams to a tree:

I described the roots (or values) of the tree as follows:

Commitment
Courage
Respect
Openness
Focus
Rhythm
Prioritisation

The leaves (or high performance traits) were these:

Empowered
Self organising
Trust motivates us
Own our own decisions and commitments
Empirical
Collaboration
Consensus driven
Believe we can solve anything
Constructive disagreement
Committed to team success

And the fruits of our tree, our indicators of high performance were as follows:

Get business value faster
Get the right business value
Get astonishing results
A team that can do anything
Room for individual and team growth


What are the elements you have found useful in enabling higt performance teams that are both efficient and effective?

 

Shane Hastie is an agile coach, trainer and consultant working for Software Education in Australia & New Zealand

  • 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!

No comments

Watch Thread Reply

Educational Content

Eventually Consistent HTTP with Statebox and Riak

Bob Ippolito explains how to solve concurrent update conflicts with Statebox, an open source library for automatic conflict resolution, running on top of Riak.

Java.next

Erik Onnen attempts to demonstrate that Java is still the best programming language for the JVM if simplified idioms are used along with proper tooling.

Evolution in Data Integration From EII to Big Data

Approaches to integrating data are changing with emergence of cloud computing.

Winning Hearts and Minds: How to Embed UX from Scratch in a Large Organization

Michele Ide-Smith presents the lessons learned in the process of introducing UX principles and techniques into a large organization through a series of small steps.

LMAX Disruptor: 100K TPS at Less than 1ms Latency

Dave Farley and Martin Thompson discuss solutions for doing low-latency high throughput transactions based on the Disruptor concurrency pattern.

Thoughts on Test Automation in Agile

Rajneesh Namta shares his thoughts, experiences, and some of the critical lessons learned while implementing software test automation on a recent Agile project.

Actor Interaction Patterns

Dale Schumacher presents several patterns of actor interaction that can be used in collaborative programs written in any language.

Scalaz: Functional Programming in Scala

Rúnar Bjarnason discusses Scalaz, a Scala library of pure data structures, type classes, highly generalized functions, and concurrency abstractions to perform functional programming in Scala.