Archive for March, 2010

What’s a Manager to Do? Management’s Role in Scrum Organizations, Part II

March 12th, 2010 by lorne cooper

I love the concept of self-managing teams.  Everyone figures out what needs to be done, and does their best to make the greater organization successful.  Beautiful.  Reminds me of the Shaker Village, the Russian Artel, or the Israeli Kibbutz.  All of which are (largely) extinct today.

There are three structural problems that, like termites behind the wallpaper in a French Quarter house, cause these “worker’s paradises” to fail.  Our job, as managers of the Innovation Engine, are to sniff ‘em out, expose them, and exterminate them.

Problem #2: PURE – Previously Undiagnosed Recruiting Errors

My old boss used to tell me there were three kinds of programmers.  Those smart enough to do the job, those too stupid to do the job, and those that could do the job but don’t care to.  Well, that’s not exactly the words he used, but this is a family blog.

None of us is the perfect recruiter, and every once in a while people get through the screening process that we’d rather have work for Al Qaida.

The incompetent developer (which we managers code name “moron”) is not always the one who takes the longest to do a story.  If some developers generally take longer than average to complete a story, they may be “slow” (as my grandmother would have put it) or the estimates may be dominated by optimists.  Until you’re measuring the amount of rework created by bugs found in QA (and the field), you really won’t know.

That doesn’t mean you don’t have to take action: managers have been acting on intuition since the Donner party decided to try the Sierra Nevadas in the winter of 1846.  Sometimes it’s better to eat the mule than have the whole group starve.

As engineers we tend to focus on technical proficiency, but there are some things which are hard to judge in an interview.  Like whether a developer has good judgment of when to refactor and when to patch.  Or whether a developer can embrace process changes or will struggle for weeks with the changes.  Or whether a developer has that certain combination of personality traits that make their coworkers doodle pictures of poisons, weapons and torture devices.

Now finding the sociopath may be more difficult than you think, because they’ve cleverly chosen to hide out amongst programmers, most of whom act as though still carrying scars from middle-school.  Like a submerged rock in the river, sometimes they can best be detected by the havoc they leave in their wake.

Developers generally treat managers using the same rules the Mafia use with the DA: no matter how much we loath our co-workers, we’re not going to rat them out.  One-on-one meetings with group members can give some indication of problems.  A few tactful questions at retrospectives may give some clues to underlying issues that aren’t being discussed.

Try inviting the group to try a little pair-programming and see what pairs get put together, and who threatens to quit.

Finally, the toughest people management issues are when good performers drop off.  Often this is a temporary fluctuation which just requires some coaching: do they need some customer visits to increase motivation, maybe a chance to learn some new technology they can apply, or sometimes there is a transient personal problem that just needs a little extra time.

Often, establishing expectations with people of what needs to be improved and then giving them a little time to do so is just the right prescription.  They may need mid-course correction and coaching to improve.  They might just need a supportive shoulder, or a swift kick in the pants, but the combination of communicating the issue, establishing higher expectations, and providing support is a good combination for improving performance.

Unfortunately, persistent decreases in performance are usually like that oil leak under your car every morning: they indicate there’s more going wrong than you thought, they’re probably going to get worse, and if untreated the future isn’t going to be pretty.

The most common mistake I see in my conversations with engineering management is the “conflict avoider.”  We’ve all made excuses about how long we need to wait to see if the situation can improve, how hard it is to find new talent, how much training time and ramp-up it is going to take to get a replacement up and productive.  And don’t forget the ‘ole disempowering “I can’t make a change in the middle of the project!”

These are just excuses. We owe it to both the team and the company to accept our mistakes, make the changes, and get on with building a better future.  That’s what we get paid to do.

What's a Manager to Do? Management's Role in Scrum Organizations, Part I

March 4th, 2010 by lorne cooper

I love the concept of self-managing teams.  Everyone figures out what needs to be done, and does their best to make the greater organization successful.  Beautiful.  Reminds me of the Shaker Village, the Russian Artel, or the Israeli Kibbutz.  All of which are (largely) extinct today.

There are three structural problems that, like termites behind the wallpaper in a French Quarter house, cause these “worker’s paradises” to fail.  Our job, as managers of the Innovation Engine, are to sniff ‘em out, expose them, and exterminate them.

Problem #1: “No, you can’t have a BB gun until you’re older.”

Scrum was the solution to product and project managers trying to both predict the future and over-control senior development talent.  Take away the control freak, and we can all let our hair down. We can do what we always knew was right.

Unfortunately, it’s hard to keep a team like that together forever.  The world is a fast changing place, people leave, new people are hired, some are inexperienced, and some good people become more interested in keeping their teenager off drugs than in completing user stories in your ERP system.

Can’t say I blame them, but this isn’t a welfare agency here, and we’ve got to get work done.

Teams, like individuals, have different levels of motivation and different levels of competence.

Let’s imagine that you’d never been on a sailboat before, but decided to try a cruise in the Caribbean aboard a 63’ Sloop (whatever that is).  I’ll bet you’re expecting the captain to train you to do some pretty straightforward tasks, and make sure they’re done correctly.

How’d you feel if the captain shook your hand and walked off onto the pier?

Some years ago, before the One Minute Manager had made him too rich to worry about such things, Ken Blanchard realized that there were different management styles appropriate for different situations.  He (and Hersey) created the Situational Leadership model to map effective leadership styles to different situations.  The most effective leadership style for a group of people who are Capable + Motivated to complete a task is delegatory: set up the process and let them turn the crank.  Sounds like Scrum!

Now not every team gets to work on Avatar.  Somebody’s got to fix that potato peeler code running on the mainframe, and that somebody just might be you.  If you’ve got a team of people who feel like they only get the projects no one else will take, who don’t have a lot of experience with the code and think it’s pretty badly written, and maybe haven’t been out of college long enough to have the wonderful motivation of monthly mortgage payments, that “hands off” style won’t get a lot of productivity.

This comes under the general heading of “coaching”, and some of us are better at it than others.  If you couldn’t figure out why your kids couldn’t learn to ride a bike while you were holding it, if you describe design ideas as “brain dead”, or if you think emailing a link to the manual is a substitute for training, then coaching might not be for you.

And coaching applies to team dynamics, too.  Sometimes the reason senior people didn’t go into management is because they have their own social challenges.  These senior types might not play well with others, and might need a little counseling, if not metal detectors, to keep the atmosphere professional.

Some philosophers think people are inherently good, and bad behaviour comes from social organization.  Some philosophers think people are inherently selfish and bad, and good behaviour comes from compliance with social organization.  My wife hasn’t told me what I think yet, but as managers we are responsible for making sure team members have the coaching and motivation to be successful.

SQE "Agile Comes to You" Tour Update

March 2nd, 2010 by AccuRev

Over the past few months, SQE’s “Agile Comes to You” tour, featuring AccuRev, Rally, AnthillPro and Coverity has been touring Agile hotspots across the country.  The most recent seminar was held on February 24th in Atlanta, with other stops along the way including San Francisco and Boston.

Seminar attendees are presented with talented keynote speakers, impressive product demos and a Q & A panel of Agile tool experts.  The photo below was taken during our Boston “Agile Comes to You” seminar.

Boston Seminar

During these half- day seminars, attendees get to witness live demos of software development best practices and tools, all necessary to make Agile successful within development teams.  They also learn core fundamentals of Agile engineering practices and are able to see how AgileCycle, an integrated best-of-breed tools suite, enables quality, collaboration and visibility for development teams, managers and executives.

Up next on the tour agenda? Seattle on March 17th and Dallas on March 18th.  So if you are in these areas, come visit AccuRev and learn more about what AgileCycle can do for you.