What Does Your Plate Look Like?

Are you a "tidy plate" kinda person? Or one who pretty much just loads the plate up willy-nilly, because, hey, "eating is where it's at!"?

I'm actually being serious. I mean I know people who are extremely clear about their food - the potatoes can't touch the peas, and god forbid the ragù overflows and ends up touching the bread! And then again, there are those for whom "plating" basically translates to "put it on the plate, that's all there is to it!"

I know, you're sitting there thinking "And, pray tell, what does this have to do with software?"

Well, very broadly speaking, software folks also tend to fall into these two categories.
On the one hand, you've got folks that like clarity. Give them a task list, a well documented requirement, a bug to track down, or some such, and they're happier than clams in a bake.
On the other hand, you've got the folks who thrive in chaos. Ambiguous requirements, flaky upstreams, unexpected performance profiles, these are their lifeblood, and they are never as happy as when they are mudding their way through the multi-dimensional optimization associated with all of this.

Ok, on a tangent, it's worth pointing out that most people fall somewhere on this spectrum. More on this later, bear with me for now...

Now map this to the streams of activity that you have on your team. Say you're like most of us, and have a product out there. You're probably broken your activity out into something like

1. Build New Stuff
2. Maintain Existing Stuff

As most of us know, despite our best efforts, "Build New Stuff" is never, ever simple and straightforward. Requirements change all the time, customers are worse, other people's stuff is always breaking, and in short, it's all some form of organized chaos. If you staff this team up with "tidy plate" people - those that like clarity - you're just asking for it! They'll eventually either go crazy, burn out, or quit, and none of those are good options.
OTOH, "Maintain Existing Stuff" is pretty much the domain of exactly these folks. Clear lists of things to work on and bugs to fix - hey, this is exactly their métier!  

OK, back to that tangent. The reality is that most people aren't exactly one or the other. But they do tend to have tendencies, and what you should be doing is playing to those strengths, and also varying the experiences so that all their itches are scratched.
So, for example, a tidy-plate-ish person would fit well into the "Maintain Existing Stuff" world, but, depending on how tidy-plate-ish the person is, you might want to switch things up. e.g. a few months doing maintenance, followed by some amount of New Stuff. Keeps them happy, avoids burn out, and plays to their strengths - truly a win-win situation!

Which is all just another way of saying "pay attention to the personalities of the people on your team", but you already knew that, didn't you?

Comments

Popular posts from this blog

Cannonball Tree!

Erlang, Binaries, and Garbage Collection (Sigh)

Visualizing Prime Numbers