5 Whys is a blog about technical leadership in the software world.

12 Behavior Anti Patterns You Will Face As a Software Team Leader

Most of these, we covered today on the 1st day of my Lead Better course  that is taking place in Oslo, with live simulations. The purpose was to see how a team lead deals with these anti patterns when going through team chaos. How the team lead might act to these behaviors when the team is in learning mode, is very different than how I'd expect them to react when in chaos, as was simulated today.

Team Member Behavior Anti Patterns

  1. Extremely shy and afraid to say when he is done with a task. can be idle and helpless if you don't notice.
    1. Lead needs to give 'simple rules' to that member so they know exactly what to do in a situation when they are idle. for example "if you see that you're not doing anything, contact me immediately. We can't afford to have anyone not working right now"
    2. If it persists, the lead can also offer a more assertive statement such as "If you want to continue to be part of this team, you'll have to chip into the effort. I know this is hard for you, but I expect you to rise to the challenge and contact me if you don't have anything else to do"
  2. Lazy, who only does the simplest thing, so he can say he did what he was told
    1. Lead can be direct and demand more from that person, or alternatively remove them from the team until they can spend more time understanding why this is happening.
  3. Negative - constantly saying things like "I knew that would happen" or "really? that would never work"
    1. Same as with lazy
  4. Would only work alone. does not like working with other people
    1. If they do a great job on their own, and this is usable to the team lead to get out of chaos, there's no harm in letting that person work on their own.
    2. If it hurts the team, or continues chaos, see 2.1
  5. Is the designated 'architect' and refuses to do anything else
    1. See #4
  6. Constantly multi tasking on a different task
    1. Either reset expectations to mgmt about not doing that other task 
    2. or remove that person from ccurrent effort and reestimate effort to mgmt
  7. Only comfortable working with a specific kind of work (only on the GUI, for example)
    1. see #4
  8. Working really SLOWLY
    1. They might be perfectionists. see # 12
    2. If it doesn't hurt the team during chaos, no problem
    3. If it does, find work that they CAN do fast, or much better than everyone else
    4. If they can't do anything fast, put them on a low risk item, because teaching them to be fast takes time you don't have right now
  9. Two team members who argue without any resolution on some technical detail
    1. Argument isn't bad, until it's unproductive or bottlenecks the team, so..
    2. Ask them to choose which solution they want o try first
    3. Give them a time box to pick one solution to go with
    4. Select the solution for them (it's chaos time)
  10.  One team member follows another team member blindly, even when it hurts the current effort to get rid of chaos
    1. separate them form working on the same task together until chaos is over and you can handle it
    2. Ask influencer to stop influencing the influenced until chaos is over
  11. Working on personal projects not mandated by anyone (remember, this is during CHAOS!)
    1. see #4
  12. Perfectionist in a time of chaos - will make sure everything is the right color, when the wheels are not even working. 
    1. Explain that this is not the time for perfectionism (unless that's what's demanded!), but a time to ship so that chaos can be over fires are put out.
    2. Give them simple rules to follow on when to stop:"if you see yourself matching colors, stop and go fix something that's in the bug's list. do NOT WORK ON COLOR MATCHING in the next 3 days!"
    3. If that does not work, use authority to ask them to stop

(what other anti patterns do you know?)

 

Outside disruptions and anti patterns

  • Requirements keep changing
    • The lead needs to keep up or set expectations correctly
  • Impossible Fixed time, cost, and features - what would the team lead do in this case?
    • Ask which of three factors can be 'moved' - "I either need more time, or more people. If I can't have either, I will need to commit to less features. Here's what we CAN do"
  • "I need one of your devs for X time for a customer demo"
    • If it doesn't hurt current team tasks, no problem
    • If it does, explain that the team will need to re-commit to a different time schedule, or different feature set, if other people cannot be introduced into the team (even if they were, that also takes extra time to get them into the team and project culture)

 

Since today was all about chaos, it was interesting to see how afraid people can be to be a little assertive to get things flowing again. overall, many behaviors which would fit a team in the learning stage, were exhibited for a team in a chaotic stage. 

I feel that at least one person in the course has come out of their comfort zone more than a little during this task, and for that, I am very very happy.

Video: Elastic Leadership in software - InfoQ interview

Lead Better - Skills for software team leads, Course next week in Oslo