Software Development--It’s All About Learning!

Photo by Sonny Abesamis

Photo by Sonny Abesamis

Sometimes I learn new things at conferences and training classes. And sometimes I am reminded of things that I already know.

Two events caused me to see something I knew but had lost sight of:

  1. Craig Larman mentioned in LeSS class that software developers are trained in computer science programs to gather requirements, design, code, and test, so doing these activities within a self-organizing team is not a big stretch for them.
  2. Diana Larsen pointed out during the Organization Design Forum that “knowledge worker” is a misnomer for software developers—a better name would be “learning worker” because we are continually learning more about our customers, our business, technology, etc.

Software development is all about learning! That sounds obvious, and in some ways, it is. It is the foundation of our work. Learning is the bottleneck in delivering software. And yet I see organizations try to optimize teams and processes based on knowledge rather than learning. Teams are often designed based on people’s roles, assumed skills, and existing domain knowledge instead of allowing cross-functional teams to self-design based on their understanding of people’s skill sets and social preferences.

I also remembered a few facts about adult learners that further amplified for me why scrum teams can be great learning vehicles:

  • Groups learn faster than individuals
  • An individual’s commitment is proportionate to personal investment in design
  • Highly cohesive groups influence each other more than non-cohesive groups
  • People have to see practical connection

How is your organization design supporting learning rather than knowledge? How is it not?

Allison Pollard

I help people discover their agile instincts and develop their coaching abilities. As an agile coach with Improving in Dallas, I enjoy mentoring others to become great Scrum Masters, coaching managers to grow teams that deliver amazing results, and fostering communities that provide sustainability for agile transformations. In my experience, applying agile methods improves delivery, strengthens relationships, and builds trust between business and IT. A big believer in the power of community-based learning, I grew the DFW Scrum user group significantly over the five years I served as an organizer. I am also a Certified Professional Co-Active Coach, a foodie, and proud glasses wearer.

Letting Go of Control to Be a Better Leader

Photo by Sebastien Wiertz

Photo by Sebastien Wiertz

Stop micromanaging. No more command and control. Trust the team.

But how often do we talk about what it's like to give up control? It can feel wrong to let go. It's risky. It forces us to question what's important to us. It causes us to really think about the character and competence of those we're supposed to trust.

David Marquet believes leaders are needed at every level of an organization, which requires looking at leadership differently:

So when you find yourself holding onto control, ask yourself how you can create an environment for greatness and develop leadership in those around you. How can people make decisions as if the CEO was behind them?

Allison Pollard

I help people discover their agile instincts and develop their coaching abilities. As an agile coach with Improving in Dallas, I enjoy mentoring others to become great Scrum Masters, coaching managers to grow teams that deliver amazing results, and fostering communities that provide sustainability for agile transformations. In my experience, applying agile methods improves delivery, strengthens relationships, and builds trust between business and IT. A big believer in the power of community-based learning, I grew the DFW Scrum user group significantly over the five years I served as an organizer. I am also a Certified Professional Co-Active Coach, a foodie, and proud glasses wearer.

Should you always hold teams sacred?

Photo by sophiadphotography

Photo by sophiadphotography

When an organization adopts agile, there is typically a shift to forming cross-functional and self-organizing teams.  Create persistent teams.  Bring the work the team.  It takes time to reach high performance, so don’t disrupt the team.  Hold the team sacred because team members will learn, grow, and challenge one another in the safety that the team provides.

But what about teams that have been together for a long time and are not actively learning, growing, or challenging one another?  That are not striving for high performance?  The ones that are mired in destructive conflict?  What do you do when complacency has set in?

I vote for disruption.

Change the work and what success looks like.  Change the people.  Change the environment.  Change processes or communication to the team.  Don’t change everything, but please change something!

Agile is about teams that are striving for high performance. For excellence.  What does that look like?  I like Lyssa Adkins’s high performance tree metaphor:

How do your teams rate?  Are they striving for high performance or ripe for disruption?

Allison Pollard

I help people discover their agile instincts and develop their coaching abilities. As an agile coach with Improving in Dallas, I enjoy mentoring others to become great Scrum Masters, coaching managers to grow teams that deliver amazing results, and fostering communities that provide sustainability for agile transformations. In my experience, applying agile methods improves delivery, strengthens relationships, and builds trust between business and IT. A big believer in the power of community-based learning, I grew the DFW Scrum user group significantly over the five years I served as an organizer. I am also a Certified Professional Co-Active Coach, a foodie, and proud glasses wearer.

Agile Coaching without Poking, Prodding, or Nagging

Photo by Drew Somervell

Photo by Drew Somervell

While co-presenting on the topic of Scrum Master as Team Coach, I realized that there is a misconception that an agile coach is someone who forces the team to follow agile methods. As an agile coach, I would like teams to become agile and ultimately successful in learning, improving, and delivering, but I’ve learned something very important: I can’t want it for them. A big part of my job is helping others to see possibilities that they didn’t previously and take action to achieve the next level.

So here’s the truth: coaching isn’t about pulling people to join your thinking, and it’s not about pushing them to do what you would like them to do. It’s not teaching classes and then telling people the mistakes they’re making afterwards.

Agile teams are self-organizing. Stand with them and invite them to see what the future may hold. Listen to them and help them find clarity. Inspire them. Encourage them to take action and provide accountability—judgment-free accountability that allows them to account for their action and use it as feedback.  Not blaming or nagging or beating them up.

Lyssa Adkins explained it well in her book Coaching Agile Teams:

Set your coaching tone to these frequencies: loving, compassionate, and uncompromising.

There’s a trite, but true, saying in coaching: A friend loves you just the way you are. A coach loves you too much to let you stay that way.

Love them too much to let them stay as they are, and let this be the seed of your uncompromising stance.  Loving, yes.  Compassionate, yes.  And 100% uncompromising.

Allison Pollard

I help people discover their agile instincts and develop their coaching abilities. As an agile coach with Improving in Dallas, I enjoy mentoring others to become great Scrum Masters, coaching managers to grow teams that deliver amazing results, and fostering communities that provide sustainability for agile transformations. In my experience, applying agile methods improves delivery, strengthens relationships, and builds trust between business and IT. A big believer in the power of community-based learning, I grew the DFW Scrum user group significantly over the five years I served as an organizer. I am also a Certified Professional Co-Active Coach, a foodie, and proud glasses wearer.

Teams Going Boldly

Photo by Amanda G

Photo by Amanda G

Saturday was my birthday, and by coincidence, my company's holiday party was that evening.  My goals were to have a relatively stress-free day and to look AMAZING for the party.  Without sounding too brazen, I think I accomplished both goals... by relying on a few experts.  I had help picking out my dress.  And advice for my hair and accessories.  And I even had someone else do my makeup.  I felt a little like Cinderella with fairy godmothers to help transform my look for one special night, but I noticed that each seemed to advocate courage [without using that exact term].

The 5 values of Scrum are courage, commitment, openness, focus, and respect.  They sound so simple, but I feel like courage is often underplayed when it comes to teams.  A high-performing team believes it can solve any problem, owns its decisions and commitments, and displays constructive disagreement.  The team needs to be not only self-organizing but empowered.  And as Esther Derby recently told the DFW Scrum user group, "One way to keep a team self-organizing is to treat them like adults."

Allison Pollard

I help people discover their agile instincts and develop their coaching abilities. As an agile coach with Improving in Dallas, I enjoy mentoring others to become great Scrum Masters, coaching managers to grow teams that deliver amazing results, and fostering communities that provide sustainability for agile transformations. In my experience, applying agile methods improves delivery, strengthens relationships, and builds trust between business and IT. A big believer in the power of community-based learning, I grew the DFW Scrum user group significantly over the five years I served as an organizer. I am also a Certified Professional Co-Active Coach, a foodie, and proud glasses wearer.

Agile Roles and Responsibilities

Photo by MAGIS 2011

Photo by MAGIS 2011

I feel like I keep witnessing conversations related to Agile roles and responsibilities, and I can't help but wonder where these conversations come from.  Each time the conversation takes place, a lot of job titles are thrown around, and it sounds like each one needs to be represented on the development team.  A tech lead to do X, developers to do Y, a QA lead to do Z, testers to do W, 3 different UX people to do P-Q-R, and a business analyst to do S.  It's as if each role is assigned to a widget rather than a person because the expectation of each role is to take certain inputs, do some work, and produce certain outputs--stay within the boundaries of your role, and you'll be fine.  

Teams become bloated with the large number of people assigned to them because these teams are assembled like machines that need a given set of people-widgets in order to deliver working software, and large teams are less effective.  It reminds me of a team building exercise my fraternity chapter did during a retreat where we divided into groups, and each group was responsible for acting out a machine; each person had to make some kind movement and a noise or sound effect as part of the machine.  It's a fun exercise, but teams are not like machines because people are not fungible parts.

The truth is that individuals need one-on-one coaching on how to contribute to teams instead of a blanket prescription on how to do their job on the team.  Different people have different strengths, even when they do similar kinds of work, and that's good because teams have different needs.  It is important that the team share a compelling work goal, and its members are mutually accountable for achieving the goal so team members will be motivated to work together.  More and more, HR is being affected by Agile software development, and HR is becoming more agile as a result.

Allison Pollard

I help people discover their agile instincts and develop their coaching abilities. As an agile coach with Improving in Dallas, I enjoy mentoring others to become great Scrum Masters, coaching managers to grow teams that deliver amazing results, and fostering communities that provide sustainability for agile transformations. In my experience, applying agile methods improves delivery, strengthens relationships, and builds trust between business and IT. A big believer in the power of community-based learning, I grew the DFW Scrum user group significantly over the five years I served as an organizer. I am also a Certified Professional Co-Active Coach, a foodie, and proud glasses wearer.

Busyness and Slack Time

Photo by Sarah Joy

Photo by Sarah Joy

Lyssa Adkins's Agile Coaches email had a great quote from Henry David Thoreau this morning that I had to share:

It’s not enough to be busy, so are the ants. The question is, what are we busy about?

I've noticed many scrum teams that are just starting out focus on keeping everyone busy--is there enough work for all of the developers?  All of the testers?  UX?  Business analysts?  And so on.  Unfortunately, it often means that the team commits to too much work in its iterations, and in-progress stories roll over from one sprint to the next.  How does a Scrum Master help his team get stories to Done?  Stop keeping people busy.

Harvard Business Review recently had an article about busyness that highlights the issue:

busyness seems to be most productive when the tasks we busy ourselves with are also meaningful.

Is the Scrum Master or a manager trying to keep team members' plates full, or is the team doing it themselves?  Often the behavior the team can be traced back to external influences, so listen to the messages that the team is hearing.  Important work shouldn't be left to be done during slack time, so help the team to commit to a realistic amount of work each iteration and have time for learning, improving, and refactoring. 

Allison Pollard

I help people discover their agile instincts and develop their coaching abilities. As an agile coach with Improving in Dallas, I enjoy mentoring others to become great Scrum Masters, coaching managers to grow teams that deliver amazing results, and fostering communities that provide sustainability for agile transformations. In my experience, applying agile methods improves delivery, strengthens relationships, and builds trust between business and IT. A big believer in the power of community-based learning, I grew the DFW Scrum user group significantly over the five years I served as an organizer. I am also a Certified Professional Co-Active Coach, a foodie, and proud glasses wearer.

Team Size and Organizing Effective Teams

Photo by Bob Franklin

Photo by Bob Franklin

Originally Scrum was recommended for teams of 7 +/- 2 people; now it is described as 6 +/- 3 people.  In either case, a team of 15-30 people is frowned up--it's too large of a group to be cohesive.  But I've witnessed large organizations create these large teams through their "resource allocation" processes, and for whatever reason, the idea of this large group splitting into smaller teams is scary or confusing to the Project Managers/Scrum Masters, and therefore avoided.  Perhaps it's fear of additional work facilitating meetings for multiple teams.  Maybe it's fear of overstepping his or her job duties.  Regardless of the reason, it's often allowing teams to be less effective.

An article in the Harvard Business Review states that "less is more in teams" and cites the Ringlemann Effect, which argued that people's efforts diminish as team size increases due to the difficulty to coordinate effort.  But a second study later showed that people's efforts diminish in larger teams due to social loafing.  When a team is focused on delivering working software in short iterations, it doesn't allow for much social loafing by its members--at least not for long.  It is up to the team to reflect upon itself and its work, and I suspect that it won't be too long before social loafers are being called out by the other team members to do their part or leave the team.  It might manifest during a retrospective, or it might mean team members privately talk to the Scrum Master.  But the issue will become evident with time.

How should a large team be divided?  According to Ken Schwaber, one of the founders of Scrum, it's not the Scrum Master's responsibility to organize the teams.  In fact, it is particularly wise to let the teams self-organize themselves since when we choose for ourselves, we are far more committed to the outcome by a factor of five to one.  Organizations, particularly large ones, seem to rarely allow teams to self-organize, and it's a shame.  Teams will be working on complex projects in what is likely a complex environment, and they need every advantage they can get; why not let them start by choosing for themselves as much as they can?

Allison Pollard

I help people discover their agile instincts and develop their coaching abilities. As an agile coach with Improving in Dallas, I enjoy mentoring others to become great Scrum Masters, coaching managers to grow teams that deliver amazing results, and fostering communities that provide sustainability for agile transformations. In my experience, applying agile methods improves delivery, strengthens relationships, and builds trust between business and IT. A big believer in the power of community-based learning, I grew the DFW Scrum user group significantly over the five years I served as an organizer. I am also a Certified Professional Co-Active Coach, a foodie, and proud glasses wearer.

Team Terminology - Self-Organizing or Self-Managing?

Photo by (OvO)

Photo by (OvO)

After studying literature for a number of years and analyzing authors' word choices, I find that I sometimes latch on to the vocabulary that is being used in conversations  and wonder if the speaker chose the right word.  Recently I was part of a conversation about teams, and one person was using the term "self-managing" to describe them in Agile.  While I appreciate the sentiment he was trying to convey, the word-nerd in me kept thinking: "It's self-organizing, not self-managing!"  

Esther Derby

has a great post on this subject

here

Allison Pollard

I help people discover their agile instincts and develop their coaching abilities. As an agile coach with Improving in Dallas, I enjoy mentoring others to become great Scrum Masters, coaching managers to grow teams that deliver amazing results, and fostering communities that provide sustainability for agile transformations. In my experience, applying agile methods improves delivery, strengthens relationships, and builds trust between business and IT. A big believer in the power of community-based learning, I grew the DFW Scrum user group significantly over the five years I served as an organizer. I am also a Certified Professional Co-Active Coach, a foodie, and proud glasses wearer.

The Need for Teamwork

Photo by Scott Maxwell

Photo by Scott Maxwell

I had lunch yesterday with some former coworkers, and I was reminded of how easily a team can be broken down.  I firmly believe that teams can produce astonishing results beyond what they could achieve as a group of individuals, but in order for that to happen, the team needs to be self-organizing--the team decides how it will accomplish its work.  There is still management, although it may look quite different from how an organization has previously managed people, and some thought must be given to who is on the team.  Esther Derby has a great post here about self-organizing teams and managers.  The pressure cooker method of forming teams seems rather typical in my experience, and it's not very effective.  The group may be able to get work done, but there will be struggles along the way.  Sadly, those "teams" lead to articles titled "Why Teams Don't Work" (which actually is a great article, by the way).  A team needs a well-understood goal, it needs to be clear who is on the team, and they need to be able to learn how to work together effectively.

Back to my lunch, my former coworkers grew into a strong team when I worked with them.  Since I left, their goals have become less clear (and too many), the team has multiplied with the addition of offshore developers, and their superpowers ability to self-organize has been lessened.  But because they had formed a strong team previously, they are not taking all of the changes lying down: they flex their team muscles and adapt the way they work to best fulfill their immediate goals.  Someone tries to change how they work, and they push back gently but firmly.  They look for opportunities for individual and team growth, and they take them.

Are organizations scared of teams?

Allison Pollard

I help people discover their agile instincts and develop their coaching abilities. As an agile coach with Improving in Dallas, I enjoy mentoring others to become great Scrum Masters, coaching managers to grow teams that deliver amazing results, and fostering communities that provide sustainability for agile transformations. In my experience, applying agile methods improves delivery, strengthens relationships, and builds trust between business and IT. A big believer in the power of community-based learning, I grew the DFW Scrum user group significantly over the five years I served as an organizer. I am also a Certified Professional Co-Active Coach, a foodie, and proud glasses wearer.