Heroes

A bit of a break from what could be considered the usual theme of this blog to recognize several amazing heroes from World War II – Major General Maurice Rose and Corporal Clarence Smoyer. Both have a connection to Colorado, at least for today.

General Rose was educated in Denver and graduated from East High School in 1916. He lied about his age so that he could join the Colorado National Guard after graduating high school. Seventy four years ago today, General Rose was killed in action. He was the highest-ranking American killed by enemy fire in the European Theater of Operations during World War II. Rose Medical Center in Denver is named in his honor.

Corporal Smoyer, at age 95, is still with us. He served under General Rose and was in Denver today for a book signing – Adam Makos’ latest book, “Spearhead.” It was well worth the two hour wait to shake the man’s hand, thank him for his service, and – a distant third on the list – receive an autographed copy of the book.

(click to enlarge)

The plan was for Corporal Smoyer to ride in on a tank and stop in front of Union Station, the site of uncounted final “goodbye’s” during the war. Eighty trains a day, the Union Station historian said, arrived and departed from Denver in the early 1940’s carrying many young men on their way to war. Given it was a cold, wet, rainy-snowy day in Denver, the turnout was actually quite good.

Corporal Smoyer had ample escort!

(click to enlarge)

At long last, the Corporal arrived, mounted atop a WWII era Stewart tank. Although not the tank in which Corporal Smoyer went to war, it is the only civilian owned operable tank in Colorado.

(click to enlarge)

It took a little time to help the 95 year old soldier down from his mount. With his feet on solid ground, Corporal Smoyer stepped over to the Stewart tank and hung his handicap parking placard on the cannon barrel. Well play, sir. Well played.

(click to enlarge)

After a brief recounting of several stories and the unveiling of a commemorative painting to be hung in Union Station, he was off to begin signing copies of the book.

Today I shook the hand of a hero and am feeling profoundly grateful to Corporal Smoyer and all the men and women from his time that defeated a fearsome evil and preserved the Freedom of which I am a direct beneficiary.

(click to enlarge)

Assessing and Tracking Team Performance – Part 5: Welcome to the Labyrinth

The capable product owners I know have at least an intuitive understanding that the challenge of guiding a project through to completion is more than a bit like Theseus on his way to defeat the Minotaur. The great product owners have a much more present awareness of the labyrinth before them. Depending on the project, the team, and the work environment, the product backlog just might be the easy piece. It’s more knowable then the myriad of ways a system can work against project success.

The purpose of this series of articles is to shine light on those wily ways of the system, to make more known what capable product owners intuit, to help you become a great product owner.1

In the previous article, we covered how a project can end up with a growing delay before completion. The obvious fix was to push out the deadline, thus erasing the delay (The Shift Deadline Loop, Figure 1, B.) Management has a strong dislike for this and often avoids changing deadlines even when faced with minimal consequences. It’s more likely there are other factors that make the consequences significantly greater. Perhaps there are budget constraints or a delivery date that is tied to a major event like the launch of a suite of related products or a conference.

So if management is faced with an unmovable deadline, the Delay to Completion must be resolved by some other means.

Figure 1 (click to enlarge)

With more work to do and less time to do it, there is now a Talent Resource Deficit. X number of employees working 40 hours a week will no longer get the work done on time. Management’s next set of options lie with changing the behaviors of the development team. We’ll consider three of these options.

The first option is to put pressure on the development team to focus on work more during the time they are working. Maybe this involves tightening the work hours people are expected to be available. Or restricting remote work so team members are in close proximity for longer periods of the day in the hope of shorting the delays inherent in remote communication and problem solving. Or working to eliminate distractions in the workplace. There are many possibilities here.

Figure 2 (click to enlarge)

This is the Work Faster Loop (Figure 2, C) – complete more work in less time. If the development team is more focused, the thinking goes, Productivity will increase and in turn drive an increase in Progress. More Progress leads to less Work to Do which leads to less Total Known Remaining Work which leads to less Time Required to Complete Work and a decrease in the Delay to Completion. Eventually, the Talent Resource Deficit is reduced and the development team can relax a bit.

This looks great in principle. Will get to the messy reality in a future article, but for now, we just need to understand how management typically thinks things should work.

The second option is to ask the development team work Overtime.

Figure 3 (click to enlarge)

Officially, management asks. Unofficially, it isn’t presented as an option. If the development team is putting in more hours, the thinking goes, then the amount of Effort being applied to the work stream increases. As with an increase in Work Intensity, this works its way through the system to reduce the Delay to Completion and ultimately, the development team will no longer need to put in extra hours. This is the Work More Loop (Figure 3, D).

The third option is to simply hire more people to work on the development team.

Figure 4 (click to enlarge)

By deciding to Hire Talent, management will increase the Workforce and once again increase the Effort aimed at increasing progress. As with the increase in Work Intensity and Overtime, this eventually manifests as a decrease in the Delay to Completion. This is the Add People Loop (Figure 4, E).

There you have it. Schedule slipping? Flip one or more of the following switches…

  1. Extend the deadline
  2. Increase employee work intensity
  3. Call for overtime
  4. Hire people

…and in short order the system will be back in balance and the project on schedule. Problem solved.

Not so fast there, young Theseus. Remember, there’s a Minotaur on the hunt for you somewhere in this labyrinth. In the next article of this series we’ll begin looking a some of the ways this simplistic machine thinking can go sideways…fast.

Previous article in the series: Assessing and Tracking Team Performance – Part 4: Let the Interactions Begin!

Next article in the series: Assessing and Tracking Team Performance – Part 6: It Lives! But it’s Out of Control!

References

1The core of the model I use to assess team and organization health is based on the work of James Lyneis and David Ford: System Dynamics Applied to Project Management, System Dynamics Review Volume 23 Number 2/3 Summer/Fall 2007

Assessing and Tracking Team Performance – Part 4: Let the Interactions Begin!

In the previous article we learned how to read an important feature of system diagrams. Namely, the interactions – the direction and whether or not the effect of the interaction was direct or indirect. With that understanding in hand, we can begin to look at real-life interactions. Well, real in the sense they are reflections of real-world interactions. These are interactions that take place outside the Work Loop but nonetheless affect the performance of the Work Loop.

By the time we’re done building out the model, you’ll be aware of just how many brake and gas peddles there on in this project management automobile (building on the metaphor used in the previous post for this series!)

Revisiting the Work Loop1 (indicated by the icon)…

Figure 1 (click to enlarge)

We see there are several things that can interact with progress: How productive an individual or team is and how much effort they apply to their work. The green open-head arrow indicates that the relationship between each of these interactions and progress is direct. An increase in Productivity, applied Effort, or both will increase progress. Decrease Productivity or applied Effort and progress slows down.

That seems straightforward. But it isn’t all good news. Being more productive and applying more effort will also generate an unknown increase in Errors. Consequently, the amount of Undiscovered Rework will also increase.

Figure 2 (click to enlarge)

This means that more effort needs to be applied toward discovering the Undiscovered Rework, so the relationship between Undiscovered Rework and the effort to actually discover the rework is direct (the green open-head arrow.) An increase in the amount of Undiscovered Rework results in an increase in the effort needed to actually discover all the hidden rework.

There is an inverse relationship in the mix here, too (the red closed-head arrow.) As the time it takes to discover defects and bugs increases, the rate of rework discovery decreases. This is particularly true with dark debt issues and defects that have been hidden in the system for months or even years. Finding gnarly bugs often takes a lot of time and effort. UI typos and misaligned text box labels, not so much.

So far, so good. But what affect does the additional work from the Rework to Do bucket have on the project schedule?

Figure 3 (click to enlarge)

The system as it stands can only handle so much throughput. (Later in the article series we’ll cover ways to influence this throughput.) Adding Rework to Do to the flow of overall work that needs to be done will also slow down the rate at which original Work to Do gets to Work Done.

If project life is good the amount of Work to Do and Rework to Do decreases so that the amount of total Known Remaining Work decreases. If the amount of Work to Do and Rework to Do are increasing, the amount of total Known Remaining Work increases and project life is bad. (Figure 3)

There could be any number of causes driving the project down the bad road, hopefully only for a short while. Since we don’t know what we don’t know,  after work begins on a project discoveries are made about additional work simply by working on known work. It could also be that additional work is added to the project intentionally. Perhaps marketing has discovered a feature that could place the end product in a stronger position or an existing feature needs to be strengthened to help close a sale or a planned approach turns out to be technically unfeasible or…the list is endless.

With the increase in the amount of Known Remaining Work, and all other aspects of the project remaining unchanged, at the very least the Time Required to Complete Work will increase. This in turn pushes out the projected delivery date and therefore increases the Delay to Completion. It’s at this point management starts getting grumpy.

Call out any project management methodology devised by man and it’s a safe bet that it drives toward establishing a predictable completion or delivery date. Agile methodologies are no different. Delivery dates are the interface between work teams and management. When faced with the news that a scheduled delivery date is at risk, management has two basic choices available to them. Either change the delivery date to match the performance of the delivery team or change the behavior of the delivery team such that the originally scheduled delivery date can be met. (A blend of the two is certainly possible but not particularly common in practice.)

The most obvious choice is to make changes that directly impact the Delay to Completion. That is, change the delivery date to accommodate the delivery team’s performance.

Figure 4 (click to enlarge)

This introduces our first feedback loop – the Shift Deadline Loop (Figure 4, B.)

Let’s say the amount of Total Known Remaining Work has increased such that the Delay to Completion has grown to four months. If the decision is made to push the Deadline out by four months the effect is to increase the amount of Time Remaining which in turn decreases the Delay to Completion to zero. (Savvy Agile team members recognize that the shelf life of a zero completion delay is something less than 24 hours.)

But remember, schedule delays make management and other stakeholders grumpy. They’re loath to choose this path unless it is forced upon them by having exhausted all other options. And those options usually involve putting pressure on the system at other points.

If management chooses to follow the path of changing the delivery team’s behavior, the effects can be as far reaching as they can be significant. Depending on the choices made, the effects could be either very good or very bad. Very good results are hard. Very bad results are easy and therefore much more common. We will begin to explore these in the next article for this series.

Previous article in the series: Assessing and Tracking Team Performance – Part 3: System Dynamics and Causal Loop Diagrams 101

Next article in the series: Assessing and Tracking Team Performance – Part 5: Welcome to the Labyrinth

References

1The core of the model I use to assess team and organization health is based on the work of James Lyneis and David Ford: System Dynamics Applied to Project Management, System Dynamics Review Volume 23 Number 2/3 Summer/Fall 2007

Assessing and Tracking Team Performance – Part 3: System Dynamics and Causal Loop Diagrams 101

In the previous post, I introduced the work loop1.

Figure 1

Anyone familiar with systems dynamics will recognize the stocks and flows in this diagram. A stock is something that can increase or decrease over time. Work to Do, for example, is a stock that will decrease as work gets done and will increase as new or rework is added back into the stock. Flows are the rate at which each of these possible events change. With a high rate of progress and a low rate of error generation, the amount of Work to Do rapidly decreases while the amount of Work Done rapidly increases. if the rate of error generation is also high the amount of Undiscovered Rework increases. If the rate of discovery for rework is also high (as would be the case with a skilled and capable quality assurance team) than the amount of Rework to Do also rapidly increases which in turn feeds into an increase of the amount of Work to Do.

That’s the narrative version of the diagram in Figure 1.

There is another feature to system diagrams that will be important to understand as it will be key to understanding the dynamic quality of the model we’ll be building in subsequent posts. That feature is the interactions between the various elements and the effects of that interaction on stocks and flows. It is typically represented by an arrow.

Figure 2

“A” has an interaction with “B” and that interaction is in the direction of “A” to “B.” But what’s the effect of “A’s” interaction with “B?” To display this effect, a green open head arrow or a red closed head arrow is used to describe the type of interaction between the two elements.

Figure 3
Figure 4

A green open-head arrow (Figure 3) is a direct relationship. A red closed-head arrow (Figure 4) is an inverse relationship.

To help understand these relationships, consider the analogy of being in the driver’s seat of a car. Imagine the car has a constant speed of 40 miles per hour. The car has been designed to go this speed with your feet off the peddles. (Not a particularly useful design feature, I’ll grant. But this is a thought experiment. So ride along with me for a little while.) Now, when you increase (↑) pressure on the gas peddle the car’s speed increases (↑). If you decrease (↓) pressure on the gas peddle the car’s speed decreases (↓) . If you remove all pressure on the gas peddle, the car returns to the constant 40 mile per hour speed. That’s the direct relationship illustrated between “A” and “B” in Figure 3. As “A” increases, so does “B.” As “A” decreases, so does “B.”

Now for the brake. If you increase (↑) pressure on the brake peddle the car’s speed decreases (↓) – it slows down to something less than 40 miles per hour. Increase the pressure on the brake enough and the car will stop. However, if you decrease (↓) pressure on the brake the car’s speed begins to increase (↑). If you remove all pressure on the brake peddle, the car returns to the constant 40 mile per hour speed. That’s the inverse relationship illustrated between “A” and “B” in Figure 4. As “A” increases, “B” goes the opposite way and decreases. As “A” decreases, “B” goes the opposite way and increases.

Back to Figure 3 – more of “A” results in more of “B” (↑↑) while less of “A” results in less of  “B.” (↓↓) In Figure 4 – more of “A” results in of less of “B” (↑↓) while less of “A” results in more of  “B.” (↓↑)

That’s all the system dynamics you’ll need to understand the subsequent posts that begin to build out the model. The power of the model is in understanding all the various interactions and recognizing the patterns within an organization or on a team that reveal the effects of those interactions. In the next post in the series we’ll see how a few soon-to-be-named elements interact with the work loop.

Before you go, however, read through the following phrases and make a mental note of those that resonate with you – either because you have heard them before or perhaps because you have uttered them yourself while working on a project.

  • “We’re not moving the delivery date.”
  • “We’ll just have to work harder.”
  • “The team will have to put in more time until we’re caught up.”
  • “We’ll need more people on the project.”
  • “The team will have to work faster.”
  • “We’re to the point of exhaustion.”
  • “I’m losing track of all the pieces.”
  • “There’s no time for training.”
  • “Where did those errors come from?”
  • “We’re waiting on another team.”
  • “Another person quit the company?!?!”
  • “I don’t care. I get done what I get done when I get it done.”

Previous article in the series: Assessing and Tracking Team Performance – Part 2: Work, Work, Work…

Next article in the the series: Assessing and Tracking Team Performance – Part 4: Let the Interactions Begin!

References

1The core of the model I use to assess team and organization health is based on the work of James Lyneis and David Ford: System Dynamics Applied to Project Management, System Dynamics Review Volume 23 Number 2/3 Summer/Fall 2007

Assessing and Tracking Team Performance – Part 2: Work, Work, Work…

…work, work, work. It’s what we do.

“I have to go to work.”

“What do you do for work?”

“OK, team. Let’s get to work.”

“Where do you work?

“Is that working for you?”

“That’ll never work.”

“Let’s work together.”

“Time to roll up our sleeves and get to work.”

The notion of work is so pervasive it underpins my belief that Agile principles and practices can be applied to a variety of human endeavors beyond the narrow focus on software development. In fact, the case can be made that Agile principles and practices have been around for millennia and only very recently were codified for a software development context. Agile simply feels more natural, more aligned with how humans think and interact to solve problems. From the way we explore and learn as children to the way we solve problems at home as adults, it’s much easier to recognize Agile patterns than waterfall patterns. Somehow, when we go to work we’re subject to the behaviors and measures of machines and Taylorism.

It doesn’t have to be that way. Agile has been shown to more effective at increasing productivity and decreasing costs in contexts beyond software. So why isn’t it practiced everywhere all the time?

I can think of a couple of broad generalizations that answer this question. First, Agile isn’t a panacea. Nothing is. To paraphrase Winston Churchill, Agile is the worst form of project management, except for all the others. Second, in the light of Conway’s Law and Shalloway’s Corollary, the systemic monster pushing back on change is a formidable one.

I have no aspirations of making Agile a panacea and will never claim it to be one. But until something more promising comes along, I can work to improve the practices for applying Agile values and principles. As for the systemic monster, that’s what this series of articles are about.

Monsters are scary because we don’t know them, we can’t see them, they’re hidden from us, they’re “out there, somewhere.” We’ll begin the process of understanding the systemic workplace monster by shining a light on work. What is it? How do we define it?

With each new day, in one form or another, we face a newly filled box of Work to Do. On the far side of the day, there is an empty box of Work Done.

In a perfect world, by the end of the day, Work to Do is empty and Work Done is full.

This transition doesn’t happen by itself. Magic won’t get work moved to done. There’s effort involved. More effort means more progress. Less effort, less progress. On Agile software projects, Work to Do is described in the product backlog and Work Done manifests as a deliverable product or service.

Typically, there is some form of measure on progress toward the goal of getting work to done. In scrum, this might be story points completed or business value delivered.

But we don’t live in a perfect world. Whatever the endeavor, errors and mistakes are part of the work effort. Instructions were unclear or incomplete, time constraints caused the work to be rushed, the person doing the work was apathetic or otherwise unfocused – there are thousands of reasons for why some of the work fails to meet expectations.

Since our efforts to complete work are always less than perfect by some percentage, part of the effort that creates progress is also an effort that generates errors. Anyone managing a project – especially a technical project – should expect that there is a box of Undiscovered Rework hiding somewhere. How big that box is or how fast it’s filling are unknown. All we know at this point is the box of Undiscovered Rework exists. In software development, the contents of this box are referred to as defects or bugs.

We know the box of Undiscovered Rework is there somewhere. So now we need a deliberate effort aimed at discovering that rework. This is the job of quality assurance and testing professionals. Their efforts at rework discovery bring the defects and errors to light so that they can be documented and added to the flow of Work to Do.

This is the work loop.1 Human interactions and behaviors aimed at achieving some larger goal provide the energy for driving this loop. The quality of those interactions determine how fast work moves through this loop.

In subsequent posts, we’ll begin to explore several specific human interactions and behaviors the can either support or inhibit the flow of work through this loop. But first, a sidebar to learn how to read the diagrams that follow. We’ll cover that in the next post of this series.

Previous article in the series: Assessing and Tracking Team Performance – Part 1: The Revenge of Frankenagile

Next article in the series: Assessing and Tracking Team Performance – Part 3: System Dynamics and Causal Loop Diagrams 101

References

1The core of the model I use to assess team and organization health is based on the work of James Lyneis and David Ford: System Dynamics Applied to Project Management, System Dynamics Review Volume 23 Number 2/3 Summer/Fall 2007