Skip to main content

No-Blender Zone: Cross Functional Doesn't Mean Homogenous

In the glory days when giants still walked the earth and the Agile Founding Fathers created "the team," they decreed that there would be three "team roles:"
  • The Product Owner
  • The Scrum Master
  • The Team
The product owner would be omnipresent and omni-knowledgeable, the scrum master would (somewhat mysteriously) "move boulders and carry water," and the team itself, the AFFs explained, would be "cross-functional."  Without being told how, the team would just swarm around the work and get it done:  analysis, design, development, testing, release, the works.  Boo-yah!

It's a seductively simple fallacy of division to interpret the concept of "cross functional" team to mean a "collection of cross-functional individuals."  New agilists are quick to apologize that "we still have functional silos here" as though it would be much better if everyone could do all the same things.  Grab some equally skilled poly-functional people, have them all take turns doing all of the jobs as needed, and you'll all laugh your way to on-time, high-quality, and valuable working software.

Not so fast!


The power of an effective agile team, like the power of any other effective team, doesn't come from its homogeneity, but from its ability to harness its diversity.  What does this mean?

  1. If there is commonality, it needs to be respect for differences.  I fear that in practice, the concept of "team role" without sub-roles sometimes boils down to a belief that developers can do everything, and everyone else on the team is a helper or parasite of some kind.  That's putting it too baldly, but it sometimes seems a little like that.  It is not okay for anyone on an agile team to say "you don't need..." anything.  If you're not a developer, you don't know what developers need.  If you're not a tester, you don't know what testers need.  No matter what your role, you need to have humility and respect towards others with different abilities than your own.  Keeping that prerequisite in mind,
  2. A different job title may imply a whole different world view and set of values.  This is a good thing!  Your agile team is at an advantage if it starts with this realization, and works to communicate across different perspectives rather than ironing them out.  Developers, testers, business analysts, and the rest are not typically "all the same under different skin."  They're all different under different skin!  There may be patterns.  Look for them and marvel.
  3. Today's technology world is specialized.  You want best in class, not the least common denominator.  Team members shouldn't attempt to Harrison Bergeron themselves into a mish-mash of mediocre (but working!) software.  Someone needs to facilitate the stakeholders into some sensible semblance of a business case.  Someone needs to build functional test suites that mercilessly beat on the code to prevent it from breaking in production.  Neither of these are exactly the same skills it takes to gradually evolve the design of a complex system in modules of 100 lines of code or less.  If people want to try new things, that's great, but it needs to be with the realization that other jobs on the team are actual professions with skills and the need for experience in order to excel.
I know there are agile teams out there who function without even a scrum-master--just a small group of really smart developers in a room with a product owner.  That is great!  But that is not a "norm."  The norm is a diverse group of people getting work done in a way that builds on their existing knowledge and preferences.  The diversity reduces risk and increases quality (both fit for use and fit to design).  Some things just don't belong in a blender.


Comments

Popular posts from this blog

How Do You Vote Someone Off of Your Agile Team?

One of the conundrums of agile conversion is that although you are ordered by management to "self-organize," you don't get to pick your own team.  You may not have pictured it this way, but your agile team members are going to be the same people you worked with before, when you were all doing waterfall!   I know I wasn't picturing it that way for my first agile team, so I thought I should warn you.  (I thought I was going to get between six and eight original Agile Manifesto signers.  That didn't happen.). Why "warn" you (as opposed to "reassure" you, say)?  Because the agile process is going to reveal every wart, mole, quirk, goiter, and flatulence issue on the team within a few hours.  In the old days, you could all be eccentric or even unpleasant in your own cube, communicating only by document, wiki, email, and, in extreme situations, by phone.  Now you are suddenly forced to interact in real time, perhaps in person, with written messag...

A Corporate Agile 10-point Checklist

I'm pretty sure my few remaining friends in the "small, collocated team agile" community are going to desert me after this, but I actually have a checklist of 10 things to think about if you're a product owner at a big company thinking of trying out some agile today.  Some of these might even apply to you if you're in a smaller place.  So at the risk of inciting an anti-checklist riot (I'm sorry, Pez!), I am putting this out there in case it is helpful to someone else. From http://www.yogawithjohn.com/tag/yoga-class/ Here's what you should think about: 1.        Your staffing pattern.  A full agile project requires that you have the full team engaged for the whole duration of the project at the right ratios.  So as you provision the project, check to see whether you can arrange this staffing pattern.  If not, you will encounter risks because of missing people.  Concretely it means that: a.    ...

Requirements Traceability in Agile Software Development

One of the grim proving grounds for the would-be agile business analyst (henceforth "WBABA")  is the "traceability conversation."  Eventually, you will have to have one.  You may have seen one already.  If you haven't, you may want to half-avert your eyes as you read further.  It gets a little brutal.  But if you close them all the way, you can't read. From:  http://www.highestfive.com/mind/how-to-perform-a-successful-interrogation/ Dialogue: WBABA :   ...so in summary, we complete analysis on each story card, and then we support the developers as they build it that same iteration! Corporate Standards Guy:   but how do you do traceability in agile?  You have to have traceability.  It's broadly recognized as an important factor in building rigorous software systems. These software systems permeate our society and we must entrust them with lives of everyday people on a daily basis. [The last two sentences are an actu...