I find people get confused about what management means.  There’s nothing worse then floundering around on a team and not being sure whose supposed to do something.  Sometimes you think you need the help of  “management”, but can’t tell someone where to come in and where to butt out.  To paraphrase the Peopleware guys, management is about helping people work.  Anything that helps people work that isn’t the work itself  is management.

In practice, this means the goals of a manager are:

  • Get everyone able to solve their problems
  • Keep everything the same as much as possible

Notice that I didn’t say help people solve their problems.  That’s more like doing the work.  Making it so that the problems can be solved is very different.  Continuity, ritual, keeping everything the same as long as you accomplish the first goal is very important too, because it provides an inherent structure and culture that people can make assumptions about and depend on.  That’s why it’s so hard to make big changes like switching over to Agile.  But if Agile can accomplish those 2 things in the long run then it’s worth it.

Of course, that first one’s a really doozey.  The first issue is just seeing the things that will really help someone else is hard.  Frequently, the easiest way to do that is to get distance and perspective from the work, which is why I try and put aside the work when I’m trying to manage and help from afar.  But once you see the problems, I frequently don’t know where to start.  After chasing these problems down for several years, I’ve discovered they are usually caused by larger feedback loops.  Feedback loops driven by common problems shared by teams everywhere.  I’ve noticed there are 3 principle that cover it all.  To break these feedback loops and get people solving their problems all you need, in priority order, is:

  • Priorities
  • Laser-like Focus
  • Morale

Priorities is about having a hyper-clear direction, an accurate, communicated, up-to-date goals list, with everybody on the same page.  All known questions accounted for and able to be set aside until answerable.  Laser-like Focus is about taking each of those priorities, in order, one at a time, and knocking them out of the park.  I’m talking, serious, no distractions, no bumps Focus here, full stop.  Morale is about making sure that people are happy, the team is satisfied, in control and driving their work so that they can relax, support each other, and bring their best work to the table.

It’s really seems that simple.  I can’t say it’s the best solution, or that it will solve everything, but each time teams get a handle on these goals things just seem to magically come together.  Each principle supports the others, jelled teams form and stop asking questions, grabbing at random tasks, and instead start knocking work out of the park.  Take a look at this comment thread of stalled Interactive Fiction projects.  One-person teams, all running into this same set of 3 problems.  Look at Getting Things Done, which proposes a system to target these exact same goals.  Hitting those 3 principle while staying consistent and working inside the classic 3 business constraints of time, money, and quality just seems to be the formula for success.  I use these every day even in my personal life, and it has not only helped me get things done, it has also helped me figure out where I’ve gone wrong.  But for a bigger team it takes full-time dedicated people, hard day-after-day work to actually shape these up.  True managers, not just leads or producers, who consistently prioritize, focus, and love fixing this problem – helping people work.

Scrum like Jazz

January 25, 2009

If Waterfall is like orchestral classical music,  Scrum is like jazz.  It’s that new, fanatical neighbor everyone looks at with skepticism, who seems to be having way too much fun.  It’s musician-driven.  It relies on the familiarity and training of it’s participants.  In each, everyone is a team, relying on each other more then the written outline to get results.  The visionary has to trust the Builders, to give them the leeway to do what they do best – entertain.  While arguably both musical styles are successful, jazz relies on a smaller team of individuals with wide varieties of skills.  Communication between musicians is paramount, both before and during the piece.   The whole jazz process is worker driven and worker defined, whereas in classical music the conductor dictates every step of the practice and the results, with leads and sub-leads relying messages to their individual departments.  There’s room for soloists in both, but in jazz everyone’s expected to take a solo, not just one celebrity.  While in jazz you have to buy into the philosophy of the music and the team.  While the philosophy can be hard to appreciate, alien even, to one trained in classical (whose used to being dictated to), once you realize the freedom it’s exhilarating.  It makes the act of creating a whole new level of fun, a Gospel choir compared to a Gregorian.

P.S.  No, I wouldn’t take this to dysfunctional Scrum as the blues – the blues is a functional style in it’s own right.  But would 4-person garage indies be our rock bands?  I suppose that would mean we’d see famous indies go pop music and start outsourcing their production or something.

Agile groups on game teams are formed from very different types of team members, many of whom are multi-talented.  Putting all the disciplines in a group at once is usually too much, unless you’re a very small team that’s used to working together.  To get a sense of how far you’ve extended, try this trick.

On a piece of paper, make a circle of Design, Animation, Character Art, and Environment Art.  Put Code in the middle, with lines out to the middle section of each discipline. Each person on the team is a dot somewhere on the chart, based on their skills and interests.  Most people seem to fit well in this continuum.

When the teams are formed, graph the team as a whole, and draw a circle around those points.  The smaller the circle the better.  The bigger the circle, the harder it is for people to work together.  People on different parts of the circle have very different interests, and so usually find it difficult to engage each other.

We dream of agile bringing disparate teams together.  In practice, particularly with newly formed teams, I’ve found it seems like ideal size is less then 25% of the whole.  That is unfortunately small!  So start with smaller teams and use economies of scale to get your agile groups off the ground.