The Role of Empowerment in Self-Organization

Intelligent control appears as uncontrol or freedom. And for that reason it is genuinely intelligent control. Unintelligent control appears as external domination. And for that reason it is really unintelligent control. Intelligent control exerts influence without appearing to do so. Unintelligent control tries to influence by making a show of force.
~Laozi, 600 BC

The industrial revolution brought about some great ideas on how to make people and machines incredibly efficient.  When we’re doing task work, repetitive work, or any type of work that is algorithmic (can be done by following a set of rules, even extremely complicated ones), then traditional management reigns.  When we’re doing knowledge work, creative work, or any type of work that is heuristic (cannot be done via algorithm, requires trial&error to produce learning and doing), then traditional management starts to break down.

Most of us do heuristic work.  Most of our managers use algorithmic management techniques.  This is incongruous.

The manager’s role in a complex, creative, heuristic environment is to foster self-organization.  One way to jump-start this is through serious empowerment.  From the start the word “empowerment” is bothersome, implying that by default we aren’t empowered.  I think the key to empowering your people is to realize that you have to do almost nothing.  They are empowered.  More than you know.  All you really have to do is get out of their way.  Let them make 98% of the decisions.*

*A well researched statistic I made up for the purposes of this blog post.

By letting go and getting out of their way, the heuristic work being done will flourish.  More ideas will be generated, more creative solutions will be sought after, more results will flow in.  Your bottom line will improve.  As a manager all you need to do is present the vision for your team.  What problem are you trying to solve, and how do you see it affecting your customers?  Let everyone around you take care of the rest.

Isn’t it funny that we had this figured out in 600BC?  Becoming agile is as much about unlearning the ways of the industrial revolution as it is about learning the ways of agile management.

The quote above and most of the ideas in this post can be credited to Chapter 6 of Management 3.0, by Jurgen Appelo.  http://www.management30.com/

Product Owner: Beyond the Scrum Guide

The Scrum Guide is like the google map to Scrum, but it’s not a detailed roles and responsibilities document.  If we want to “zoom in” on “What specifically does the Product Owner  do?”, we aren’t going to get many results.  There is purposefully no prescription on “how”  a developer works, how a tester works, or how the Product Owner (PO) works, etc.; however, the PO is critical to the success of the product and the business.  As organizations adopt Scrum, the PO role is often overlooked and can cause frustrations unless the whole Scrum team (including the PO) and the organization have a more in-depth understanding of Product Ownership.

Here are my top three  activities that Product Owners commonly do, and how, that can either shape the success or failure of a product:

Top 3 PO Activities

1. Grow the Vision.  Self-organizing Scrum teams will build high quality, working products.  The vision laid out by the PO determines whether or not they are building anything of value.  This involves many different tasks and can be done in many different ways.  To be successful at these vision-related tasks, a PO has to both “grow” it and “show” it:

  • Grow it:  The PO has to be comfortable starting a project with only the big picture.  Then work to iteratively define and grow the vision by adding more and more concrete concepts, artifacts, and details.  All the while knowing that feedback from stakeholders and the market will shape their understanding of the product over time.  This takes an incredible amount of foresight and market understanding to get started in the right general direction, as well as the courage to simply start product development knowing parts of the vision may turn out to be incorrect.
  • Show it:  The PO has to over-communicate what the Product Vision is. When you think you’ve communicated the vision, communicate more: to your team, to the stakeholders. Don’t underestimate the power of using all available tools to do this, such as big visible walls with notes and graphics – this is showing.  A wall cannot replace a conversation – taking the time to make sure everyone involved in the product – and that means everyone – is included in the conversation and understands the vision is critical to your success.  Use hallway conversations, formal meetings and happy hours (most teams’ preferred method).  The more all stakeholders and the project team knows WHY  they are building what they are building, the better the results.  This has been proven over and over.  Simply stated: Vision + Self-Organization = Value.

2. Manage the Backlog.  Beyond the basics of creating a backlog full of product desirements and iteratively clarifying them during grooming sessions, a PO is responsible for the more nuanced activity of ordering.  The PO orders the backlog with many different criteria in mind: value, risk, priority, necessity, learning objectives, ROI,  dependency and many others. It’s the method by which the PO optimizes the value of the product for the stakeholders.  This is not a trivial task, nor is it completely objective.  Knowledge of the market, the vision of the product and short/long term opportunities all need to be taken into account.  Owning the backlog is the only activity of these three I’m discussing that is touched on in the Scrum Guide (sans specifics of course).  It’s also probably the most common PO dysfunction: POs are NOT simply backlog secretaries, or backlog item creator/maintainers.  A PO can rely on their team to do much of this work.  An efficient, functional PO spends less than 25% of his time dealing with tactical things like managing the backlog and the majority of his or her time on strategic activities like #1 and #3.

3. Steer the Product.  I struggle on what to call this part of the job.  “Plan Releases” is what I started with, and an important part of Product Ownership is creating MVP’s and selecting the right content for each release, but this is only the first step.  The real job here is learning from each release, testing the hypothesis you’ve delivered to the market and validating your vision of the product in its natural habitat (the market).  If it turns out many of your assumptions and hypothesis are wrong, you have to Steer the Product.  Depending on the magnitude of steering needed, the PO makes big changes to the Product Vision (pivot), or just small changes to the Product Backlog (persevere).  A PO is responsible for the current state of the product and the direction it is headed – and they accomplish this by Steering the Product.

Can one person do this role?  Yes, absolutely.  Does this mean that the Product Owner role replaces all manner of  marketing, strategic sales, and business analysis roles in an organization?  Absolutely not.  If the product is big enough, there may be a need for a PO to work along side all types of professionals providing things like: market analysis, sizing, trends,  strategy, competitive analysis, business process analysis, relationship building, user personas, business cases, pricing strategies, legal work, vendor sourcing, contracts, etc.  The PO can have people on the team or outside the team that understand (and even do the work for) these other items.  The PO remains responsible for the overall state of the product and its future.

Active Management vs. Self-Organization

I often have arguments in my head about where to draw the line between taking action and allowing self-organization.  As a manager, when is it OK to intervene or over-rule or otherwise take an active role in the team?

I think there are some no brainers we can get out of the way quickly such as situations involving obvious legal or ethical issues.  Yes, you should intervene.  Period.

For day-to-day issues, I tend to philosophically tend toward self organization.  Let the team figure it out themselves.  This helps everything from learning to morale to competency.

In practice however, my first instinct is to act.  Yup, I admit it.  It’s actually very, very difficult to take a hands-off approach.  I’m sure it has something to do with our culture, the big companies I worked for in the past, and just my type A personality.  There has been so many years of people working in environments where pit bull performance is praised, the loudest voice is singularly heard, and promotions are given on the basis of being the perceived as the smartest person with the best ideas.  So many managers of this old regime have this system built up around them and have perpetuated its construction that many companies now exist with the expectation the manager is the smartest person in the room and responsible for making most decisions.  To make matters worse, we’ve come to call much of this behavior “leadership.”  There are not enough quotations around that word to show my sense of disdain…

OK, so how did I snap out of that mindset?  And how do you get other managers to do the same?

For me, it clicked while reading about the Conant-Ashby Theorem.  Read more here: http://www.management30.com/ashby/

The basic idea is that if you accept that you are doing complex creative work within a complex system, then the best way to actually control that system is to distribute decision making to the lowest responsible/competent level possible.  Hear that?  Self-Organization and delegation of decision making authority is about control.  It isn’t about just letting people be or giving up power or becoming a laissez-faire manager.  As a manager, fostering self organization and leaving most decisions to the team is your only hope of controlling the complex system in which you exist.  This, my manager friends, is what switched the lightbulb on.

Constantly remind yourself each time you prepare to snap into action that usurping that decision, taking control in the moment, telling the team what to do, etc, is actually stripping the control of the system away from you – the exact consequence you thought you were avoiding.  You are limiting the health of the entire system to only your train of thought and decision.  Delegating decision making authority to a self-organizing team allows you to expand and grow the health of the system.

Don’t believe or don’t think this works in the real world?  Fine.  Try an experiment.  Take a common situation that presents itself often and has typically required your intervention or your decision as a manager.  Tell the team that from now on, they are solely responsible for these decisions.  Tell them they have all the skills and knowledge needed to make these decisions, and although you’d like to be informed on an ex-post-facto basis, you will not be involved in the decision making process in any way.  Try this for a while.  I’ll bet you won’t even miss that responsibility.  And I’ll bet you’re teams will surprise you with the outcome.

Scaling Scrum – Team Ownership

I’ve been practicing the Product Owner role at a large fortune 100 company, on a program that has massive potential.  One effect at a large fortune 100 company at least, is that bodies get thrown at it.  In the course of not even a year, we’ve gone from 3 Scrum teams to 11 Scrum teams, 5 Scrum teams not in the same building, plus a customer support team, a massive dev-ops team and an operations center.  Wheh.  Plenty to discuss here in future blog posts.  Let me know if scaling scrum issues are of interest to you.

Today I’ll keep it focused at the team level.  Take this situation: Team A works on a specific feature for a few sprints.  Something new pops to the top f the backlog which Team A is uniquely qualified for, and they suggest going for it next sprint.  They talk with Team B and product ownership and everyone agrees that Team B will pick up the remaining work on Team A’s feature and make a few enhancements and add a few new features. I would suspect this is a common occurrence in large programs.  Probably sometimes in command-and-control ways (listen up people, we’re going to re-org these teams to work on different things….)  But even in a good self organizing system, this can create issues.

What responsibilities does Team A have to Team B while Team B is working on the codebase Team A originally created?

The perfect world answer is that Team A is responsible for knowledge-share, a few Q&A sessions, and nothing more.  Team A has left their codebase in good shape, with low technical debt, and plenty of artifacts that explain what’s going on and how to get work to done in this particular codebase.  They’ve showed their working software every few weeks and been transparent about what’s done and what’s not.  Team B has all the necessary skills needed to turn backlog items related to this feature into done software.  Team B does all the design, coding, testing, etc, etc, etc needed to produce done increments.  They rely on Team A only for the occasional question and explanation.  In the perfect world, both Team A and Team B can make progress simultaneously.

In the real world, this probably isn’t the case.  There is likely going to be significant drag on both teams for quite a long time.  Mangers like to call this a “transition period.”  Developers and teams like to call this “hell.”  The teams will fight over the state of the codebase “you’re handing this crap over to me?!!?!” and quarrel over getting help “can’t you just spend a few days [doing our work for us]?!?”

Scrum will make this very, very apparent (this is a good thing!)  It will not fix this for you.  (what’d you expect?)

As a manager, you want the team to own their work, even if they didn’t create it from the get-go.  A team that is whole-owner of their work is a team that learns.  They are a team that is solely responsible for quality.  They are a team that has all the power to create great products.  You want this.  Don’t get sucked into the short-term tactic of having “all teams help each other” and having alot of cross-team dependencies and other teams to parts of features or parts of development, etc.  It’s a short term tactic that optimizes the struggling team at the expense of all teams.

It’s not an easy choice.  It takes courage and vision to wait while a team struggles for a bit to find its way.  But it will.  It will learn and organize and grow and come out the other side all the better for it.

Hang around with people who get sh*t done.

I freely admit that in a past job I was a loser.  You know the guy in the office who gets stuff done?  Yeah, I was the other guy.  And it wasn’t that I didn’t produce anything, I did.  It wasn’t that I didn’t fulfill my job description, I did.  But that’s all I did.  For some reason it seemed OK to me to just be average.

That’s a fair picture.  But so is this:

I was a smart kid fresh out of college, surrounded by people with 20 years of experience but no more skills/knowledge/abilities than I.  My average was at least equal to the group’s performance, maybe a bit better due to nothing to my character’s credit but to my more recent education.  I was promoted and given raises and begged to stay when I finally quit.

That’s a fair picture too.  Both pictures were simutaneously true.

Why?  How can this be?

I stumbled across this post that I think describes what was happening fairly well:

“hanging around people who are doing amazing things makes me try harder to do amazing things”

The people I was surrounded with, in retrospect, weren’t exactly doing cool stuff.  The team wasn’t thought of as an innovative team.  The work we were doing was thought of as a necessary evil in the organization (you’re not people, you’re a cost center!).  Compared with other jobs I’ve had, it’s easy to see this truth in retrospect.  When surrounded with A players, I tend to perform better.   So that brings up two questions for me:

Q1) Why is this true?  Why do we tend to perform better when surrounded with top talent people?
Q2) Can we identify this in-the-moment or only in retrospect?  How can we evaluate our current situation and work towards bettering ourselves?

A1:  Peer Pressure?  Probably.  Intrinsic Motivation?  Probably.  Suggestive Energy?  Probably.  Behavioral Psychology?  Probably.  Regardless the means of this drive to perform better when surround with better performers, it all goes back to classic systems thinking.  That is, a person’s performance is more a product of the system in which they exist; and less a function of individual aptitude.  Sure you have to have all the requisite skills and abilities to do the job, but creating really great performers (or really poor ones) is a function of the system.  From Ackoff:

“An important aspect of a part’s performance is how it interacts with other parts to affect the performance of the whole.”

There are even been studies that show the simply thinking about smart people may make you smarter.  While that claim is  dubious at best, it’s interesting and lends itself towards the same conclusion: surround yourself with people who are smarter than you are, better performers, and doing cool things, and you will likely perform better – because the system you are part of is a better system.

A2: If we work on becoming more aware, surely we can see these truths in-the-moment.  You might need some reference, something to compare your current situation to, but maybe not.  I think a large part of this can be self-known and is as much a gut-feel-in-the-moment thing as it is a comparing-in-retrospect thing.  If you sit down and think about it – really feel – you can answer the question for yourself.  Am I doing my best work here?  Is the system I’m in helping or hurting me long term?  Is it time for a change?  Surely beware of “grass is always greener” or other pessimistic frames of reference.  But for the most part I think these answers are self evident.

Say-Do

While talking about agile metrics a while ago I was asked if I’ve ever used the “Say-Do” metric.  I had not actually heard of it.  So let’s dive in.

The Say-Do metric was explained to me as “basically that you “do” what you “say” you will do.”  Sounds like common sense so far.  Looking around the interwebs a bit revealed some more detail.  The Say-Do metric is commonly defined as a percentage of comittments met over number of committments made.  Ah, there’s the rub:

In software, the word commitment is a thinly veiled synonym for scheduled-date.  Hmmmm….I think I’ve seen this movie before (it’s called traditional project management) and I know how it ends (badly).

Two things will happen if you try using Say-Do metrics and management styles.

A) Individuals will set smaller and smaller goals, so they can achieve them more often than not.

B) The value of your product/company will not change.

Why?  Because software is a complex creative endeavor.  Say-Do works for simple and even complicated things.  I would use it for children doing chores or for landscapers building me an outdoor cream-city brick wood fired pizza oven.  It might work here.  It might increase productivity and give me something to measure performance against.  But I wouldn’t use it for complex creative tasks.  I wouldn’t ask a composer to tell me when he’ll have that opera finished and measure him against that.  I wouldn’t ask a nuclear physicist to guarantee zero defects in his first design of a cold fusion reactor.  Those requests are just silly.

The software world has been badly hurt by the “engineering” and “manufacturing” analogies.   Writing software is nothing like engineering a bridge or producing widgets on an assembly line.  Nothing alike.  OK, maybe there are similarities and parellels to be drawn upon, but at least I can say with some degree of confidence that they are not the same.

In software, it is *impossible* to accurately predict the end date when we’re talking more than a few days out.  Hours even.  There’s simply too much complexity.  Everything we’re doing in software we’re doing for the first time – we are creating – and all of our techniques for estimating engineering projects rely on recipes and past knowledge.  Sure there are typical design patterns and best practices that we use in software.  But we’re applying it in a completely different context under different circumstances and wanting different results.  Complexity matters.  There’s 30 years of grossly missed software project dates to prove this.

So when we ask for Say-Do metrics, we’ll get A and B.  “A” is due to a paradox of measuring people, the fact that the measurement is visible and people want to “achieve” it, and possible Hawthorne effect at play.  “B” is due the fact that measuring dates, even when it’s the date provided by the people who are doing the work, is a fallacy of traditional project management altogether.  Your software project will not improve because you are using Say-Do.  You will not go faster.  You will not deliver more features.  You will not increase time to market.  You have really changed nothing about the software or project itself, or reduce its complexity.

We have a professional responsibility to be aware of the complex world in which we create software products.  It’s simply niave for management to ask for dates and for developers to give them.  Perhaps even unprofessional.  Maybe even unethical.