body.has-navbar-fixed-top { padding-top: 4.5rem; }

The Case for Rethinking Everything

date Oct 9, 2022
authors Mike Danaher
reading time 3 mins
category blog

Challenge

The challenge at hand

We’ve been seeing patterns in our projects where our software development team is struggling to have an impact. They are busier than ever, but never feel like they are accomplishing anything of value.

Missing the big picture

The concepts of “outcomes over outputs” and “project to product” capture these feelings we’re having. Too often we find ourselves inside projects that are solely focused on how many tickets (output) we can complete from the backlog.

Advantages of the mindset shift

However, if we shift that mindset from project to product, the teams would be created and aligned to a particular value to the user. That team would exist to know their user, continuously update their product in the user’s best interest, and be measured on how much value they are providing.

Roadblock is the product owner as the gatekeeper

Our organizations have many smart people. They are really good at what they do, and we tend to block them off from the rest of the world or don’t give them decision-making authority. For instance, we place a product owner in the middle to act as a gatekeeper between the development team and everyone else. The developers can’t talk to the actual users, and the product owners spend all their time fielding questions and relaying information.

Leadership disconnect

Over the past several years, I’ve been doing more project management and less project delivery. One of the greatest realizations is that I cannot directly affect a specific task anymore, but rather have to influence and enable others to accomplish those tasks. I can only imagine that this disconnect increases the higher one rises within an organization.

Authority

If a team needs to get an authority (or in most cases, several authorities) to sign off on an idea, that process significantly slows the whole operation. The more people a team needs to interact with, the longer things will take (see cost of complexity). And the longer things take, the slower a team learns the right thing to do and the more frustrated they get with everything.

Solution

Users and authority

Admiral (Retired) John Richardson and Lt. Col Max Reele did some work in this area and discovered that team organization revolves around a team’s proximity to its users and how many lines of authority exist. If a team is close to its users, it can easily see what the problems are. They have high visibility into the best things to do next. If a team is not close to its users, all of those reports are second or third-hand and are heavily filtered by the time they reach the team.

Close to the users and ownership

A team that is close to its users and has the ownership to make decisions is a team that has the opportunity to be successful.

Building on his work from the Unicorn Project , Gene Kim articulates the best areas to focus on with the five ideals.

  1. Locality & Simplicity: Can the team make decisions and work within their scope without impacting or relying on other teams?
  2. Improvement of Daily Work: Are we consistently paying down technical debt and removing obstacles to productivity?
  3. Psychological Safety: Does everyone on the team feel safe to talk openly about problems so they can be solved (or even prevented in the first place)?
  4. Customer Focus: Is everyone working toward a common goal of improving the value for customers?

In her book Making Work Visible , Dominica DeGrandis showcases the true potential of a work tracking system. She highlights the 5 “time thieves”:

  1. too much work-in-progress (WIP)
  2. unknown dependencies
  3. unplanned work
  4. neglected work
  5. conflicting priorities

Measuring and categorizing work effort

By measuring all the tasks in progress and properly categorizing the work effort, we can rebalance our efforts toward the things that matter. Are you spending the right amount of time on paying down tech debt, working on developer productivity, and fixing bugs for users? Or is the bulk of work on new feature development that’s always behind?