RSS Feed

Latest Entries


First time here?


Sunday
Feb142010

Move-Around kata for team leaders

Here’s an experiment for software team leaders: a set of katas (things you repeat exactly the same way many times).

Let’s try to do the following kata once a day:

Move-Around

  1. Get out of your chair and lock your computer
  2. For each team mate that sits in your floor:
    1. Ask “can you show me what you are you working on?”
    2. See at least one technical document they wrote (source code, documentation, build script..)
    3. If you think they could have done a better job, challenge them to find a better way to do the job without giving them the whole answer
    4. This should take no more than 5-10 minutes per team mate but you can take longer if you like.

What other katas do you recommend?

Sunday
Feb142010

my worst team leaders

my worst team leaders

  • Didn’t bother to check or see if I was stuck on something
  • Didn’t coach me or teach me to be a better developer or team mate
  • Didn’t earn my trust in their technical skills
  • Didn’t have a problem with anything I was doing (good or bad)
  • Spent most of their time away from me
  • Smiled a lot, but didn’t say too much
  • were really nice
  • did not take care of any impediments I presented
  • did not challenge me
Monday
Dec142009

Confessions of a First Time Manager

Tim Barcz just became a manager of a large group of people. And he’s got some advice for you!

Sunday
Dec132009

Creating Team Trust

Editor’s note: The following post was written by Johanna Rothman.

Johanna helps managers and leaders solve problems and seize opportunities. She consults, speaks, and writes on managing high-technology product development.  She enables managers, teams, and organizations to become more effective by applying her pragmatic approaches to the issues of project management, risk management, and people management.

She was the Agile 2009 Conference Chair, and has been helping teams, managers and organizations move to agile approaches for their projects and project portfolios.
Johanna publishes The Pragmatic Manager, a monthly email newsletter and podcast, and writes two blogs: Managing Product Development and Hiring Technical People. She is the author of several books:


Johanna is also a host and session leader at the Amplifying Your Effectiveness Conference. Find more of Johanna's articles and her blogs at www.jrothman.com.

 

Is there such a thing as team trust? If so, why do you need it?

When team members have interdependent commitments, you want them to trust each other. Daughter #2, who's a senior in high school has been working on several "teams" with other seniors this year, doesn't trust her team.

"I know that I'll have to take up the slack when they don't do what they said they would do,"  has been her slogan all year.  If that's your approach, you don't have team trust.


In Solomon's Building Trust in Business, Politics, Relationships, and Life, he says that there are prerequisites to trust:

  • Deliver what you promise to deliver
  • Be consistent in your actions and reactions
  • Make integrity a cornerstone of your work
  • Be willing to discuss, influence, and negotiate.
  • Trust in yourself and your colleagues


Whether or not you have a real team, how do you create a trusting relationship with each person?  First, start with yourself.

Do you always deliver what you promise to deliver?

If you can't, why not? I've met many team leads who thought they could do the same amount of work as a team lead that they could do as an individual contributor without any overall commitment to the team.

 

Are you consistent in your actions and reactions?

Yes, you can become angry. No, you can't beat the table, say nasty thing to people or have other out-of-band reactions and still have trust.

 

Do you ever feel as if you have to swallow your professional integrity?

You might need to reframe what you think integrity is. Early in my career, I cared very much about the quality of the released product. I still care, and I realize that sometimes there are business decisions that trump actual quality. I now care very much about providing information about technical debt to the people who make the final decision.

 

Are you willing to discuss issues?

New team leads are particularly prone to "I would have done it this way, why didn't you?" syndrome. That's fine to say that to yourself. And, you need to discuss, influence, negotiate, and not tell people what to do.

 

Now, you can trust in yourself.

And, you can extend trust to your colleagues.
Trust is something people earn, by showing they are trustworthy. Prove yourself, to yourself, your team, your management. Then you can start building a trusting relationship with others.

Thursday
Dec102009

How to plan and influence change at your company

In the book “Influencer”, the authors describe six forces that work together to influence any particular human behavior that we might want to change.

The forces that influence behavior are:

  1. Personal Motivation:   Why should someone care to behave a specific way?
  2. Personal Ability:         Can they literally do it?
  3. Social Motivation:       Is there peer pressure push for this behavior?
  4. Social Ability:             Do people around me support my behavior and help me out with it when i need help?
  5. Structural Motivation: Are there rewards\punishments for good\bad behavior?
  6. Structural Ability:       Does the physical environment support this behavior?

Thinking more about these forces, it’s easy to understand why so many of us are finding it so difficult to influence real change in our company. plenty of times we have no problems with influencing items #1 and #2 but the moment we leave our immediate surroundings we find that there is lack of social motivation (in fact, there is social motivation to behave differently!) and thus social ability.

in some cases, #3 and #4 are somehow made possible, but the way the organization and the environment we work in are designed prevents us from completing our change strategy.

here are some examples of common failures to implement change I've encountered. now i have a sort of dictionary to try and explain where we needed to exert influence and did not:

Implementing TDD at a large company failed partially because project managers did not agree to allow more than 20% of overhead time to write automate tests for the system. on top of that, C++ developers had a horrible time testing legacy C++ code, and could not\would not refactor it for testability.

in this case, #2 was lacking (we needed better tools, or better training to teach the difficult parts) but sometimes #1 was lacking as well when people did not want to touch existing code. that also touches on #3 (social motivation) since people were not having any kind of collective ownership of the code and so did not want to mess with someone else’s code.

lastly, we have #5 fail: project managers did not allow enough time to write tests,, resulting in actual “punishment” for such behavior.

Start out by finding the vital behaviors you want to change

Another eye opener for me was that the authors clearly explained that when you want to influence change, anywhere, you want to change no more than 2 or 3 vital human behaviors. find these behaviors, and you have the key to making real change happen.

for example, you feel that you consistently produce very low quality of released software with many bugs at the customer site. how do you know which behavior needs to change? what causes this?

one way the authors state is to look for the uncommon results in the crowd. for example, you may have a specific group or component that consistently presents the good things that you’d like to achieve for all other groups in the company (low bug counts). find out what is different in the behavior of that specific team of individual programmer that produces that different outcome. maybe they do Test-First development?

once you’ve uncovered this behavior(s) it’s time to find out why no one else is doing them.

Find the forces, Luke.

One of the sentences that has stuck most with me is the following:

Every behavior you see has been perfectly influenced by a world that was perfectly designed for this behavior to happen.

That means that in order to change a specific behavior, you need to first find out why this bad behavior (avoiding tests) exists in the first place. if you don’t fully address all the forces that made this behavior a reality, you will likely fail in changing that behavior.

You may find that there is just one, or all six forces at play here. In the problem of automated testing, you may find that people don’t know how to do it (can i do it?)  and might not even want to (#1) . not only that, their managers do not believe in this system, and so will kill any attempt to do this.

if you were, say, trying to push for better communication among team members as a behavior that’s missing, you may find that #6, the physical environment is actually something to address – perhaps the team is split in different rooms – putting them in the same room can help minimize communication cost.

Again, an important key here is that if you only address some of the forces that affect the current behavior, it is very likely that the quest for change will not work. you need to deal with all the forces that affect that current behavior.

The silver bullet

Doesn’t exist. Sorry. But with the six forces we now have a good language to talk about when dealing with implementing change in an organization.