Monthly Archives: February 2011

Effective Agile Teams Are Proactive

Proactively addressing risks is one of the major strengths of Agile methods. Not only do Agile teams have “spikes” to try to eliminate technical risks, but effective Agile teams have a mindset of eliminating a wide array of risks.  Here are some examples of ways risk is proactively addressed in Agile environments:

If a technology approach is of concern, we do a design spike and find out quickly if the approach isn’t feasible.

In Scrum, the retrospective is an explicit opportunity to look for ways to continue to improve, not resting with “we’re good enough”.

The “test first” approach is a proactive approach to quality.*

If the budget gets cut, we have working software created, not merely the requirements document, design document, and a pile of untested code.

The description of “Be Proactive” in the 7 Habits is “Proactive people take responsibility for their own lives. They determine the agendas they will follow and choose how to respond to what happens to them.” I don’t think I’ve seen an Agile book put it more succinctly. This excerpt could easily be rewritten for Agile teams: “Proactive [agile teams] take responsibility for their own [work]. They determine the agendas they will follow and choose how to respond to what happens to them.”

The Agile Manifesto’s 12 Principles has three in particular that stand out to me as having proactive risk mitigation components to them. These three are:

Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

So, what do you do if you are on a team that has not embraced their responsibility to be proactive? Here are a couple of suggestions:

Consider whether or not your team has the trust necessary to be comfortable identifying risks. I suggest reading the book “Overcoming the Five Dysfunctions of a Team: A Field Guide for Leaders, Managers, and Facilitators (J-B Lencioni Series)“. This book is a follow-up to the book “The Five Dysfunctions of a Team”. The “Overcoming….” book offers specific activities  and suggestions that help address the dysfunctions identified in the earlier book.

Is the team able to communicate in a high bandwidth mode? If risks are getting lost in low-bandwidth communication, consider moving to a collocated room. Eric Landes authored a DevX article entitled “Team Rooms Breed Highly Productive Agile Software Development Teams“.  FYI: You will have to register to read the article.

Model proactive behavior. One of the best ways to show that something is important is to do it yourself.

 Encourage your teams to be more proactive about their work, and I believe you will find that good things follow.

*See the “Being Proactive – Getting to the Triangle of Happiness” blog about testing as it relates to happiness on a blog by Daniel Wintschel and humandoing software.

7 Habits and Agile Teams (Part 1)

Overview

This blog introduces a concept that I will build on in subsequent entries.

Perhaps Stephen Covey’s most popular contribution to personal performance management is the concepts he shares in his book The 7 Habits of Highly Effective People. Long before I heard about Agile, I was part of a professional services company that had Franklin Planner training as standard training element for its employees. I still remember the instructor’s name, Rory Aplanap; a name like that is easy to remember. Rory taught the class with enthusiasm, articulating the principles and the practices that the 7 Habits book lays out. He also taught us how to use the Franklin Planner system to support the 7 Habits.

For those who are not familiar with the 7 Habits, they are:

  1. Be Proactive
  2. Begin with the End in Mind
  3. Put First Things First
  4. Think Win/Win
  5. Seek First to Understand, Then to be Understood
  6. Synergize
  7. Sharpen the Saw

I see some strong parallels between the 7 Habits and high performing Agile teams. Here is a quick preview of some of the correlations I will expand upon in future posts:

Be Proactive – Teams are responsible for themselves and their work. As one example, this behavior manifests itself in teams making iteration commitments in Scrum and team members stretching beyond their traditional roles to help realize that goal. Teams decide how they are going to function and how to respond to stimuli from both within and outside their team.

Begin with the End in Mind – This concept is present in planning that begins with a product vision, and is then unfolded to become releasable increments, stories and tasks. All this work takes place in the context of some shared vision that the team is working to bring into reality.

Put First Things First – We strive to ruthlessly prioritize, and to maximize the amount of work not done.

Think Win/Win – The objective is to find a path by which multiple parties meet their objectives. It is not about one side winning and the other losing.

Seek First to Understand, Then to Be Understood – For an Agile team, it is not about blindly following along in a task list that somebody has created for you; it’s about really understanding what is needed, and then sharing your perspective and concerns.

Synergize – Think about the collaboration between the Product Owner and the Team that results in a solution that is better than if the parties had worked independently.

Sharpen the Saw – This might be in the form of learning new engineering practices, having time to investigate a new and interesting technology, or simply celebrating as a team.

As I mentioned a the outset, this is simply an overview of the topic, and I will expand on it further in upcoming entries.