Schrödinger’s Engineering Team

Hopefully, you’re already familiar with the thought experiment of Schrödinger’s Cat. The concept of a cat both simultaneously alive and dead, existing in a dual state until observed, is one of Quantum Physics’ greatest visualizations.

Alas, a poorly informed engineering team can also exist in a dual state. However, unlike the hypothetical cat, they have a greater tendency to collapse and loose all productivity rather than being able to both work and not work at the same time.

I was recently in a situation where my team was asked to complete a set of tasks for a core piece of functionality in our new product. Midway through the sprint, word came from upper management (via our Scrum Master) that they were looking into third-party vendors to perform this exact same piece of functionality. Better still, even with this new information, Product did not terminate the sprint, and we were required to continue on what could very well now be a useless task.

At that moment, we became Schrödinger’s Engineering Team. Our Sprint suddenly existed in a dual state in which our tasks would be completed and provide value to the organization as well as all the work would still need to be completed and yet be absolutely useless to the organization. Talk about a morale killer!

Information is always important, but adding direction to the information is just as important when giving it to an engineering team mid-sprint. If the information would change the direction of the current sprint then Business needs to consider also prematurely ending the sprint. While terminating the sprint may be a little frustrating to the team, it certainly won’t have near the long term morale issues that continuing forward in a dual state will have. That doesn’t mean you should hold on to the information until the end of the sprint though. Doing that will merely aggravate the team, drop their morale, and cause them to trust you even less. On top of that, you’re also wasting the organization’s time and budget by continuing the sprint with what could potentially be useless deliverables. It’s better to cancel the sprint and regroup than to deliver unneeded or unusable product.

So how do we avoid creating Schrödinger’s Engineering Team? Just like Quantum particles, we need to observe the team. We also need to observe the information we give to the team, in particular with how it relates to the in-flight sprint. Then make a decision, with the team’s help if necessary, based off of the observation of the information. Don’t just leave them in a dual state limbo.

Image Credit to NemiMakeIt

Swarming

This morning there was a large amount of bird chirping outside. When I looked out the window there were about a dozen sparrows, and mockingbirds chasing a hawk. They were swarming and chirping all over the place and working together they chased that hawk out of the area. They teamed up to defeat an unexpected problem that came out of nowhere which was bigger than they were.

When you stop and think about it, it’s no different when a critical production issue or overly difficult problem appears in front of a an engineering team. The problem is identified, the team drops everything they are currently working on, and they “swarm” the problem until it is eradicated. During the swarm some people may drop off the problem when their skills are no longer required and other may get pulled in as the team determines the next steps they need to complete the problem. Ultimately, think of swarming as Pair Programming on steroids.

As a manager or team lead you need to recognize when swarming could be a help, as it does take resources away from day to day work. Honestly, I think it’s usually pretty obvious when swarming is needed, and it doesn’t hurt that the team will usually say so. Swarms don’t often affect the outcome of the Sprint as the swarm has a force multiplying effect which gets things done faster, however it’s always wise to communicate to the stakeholders that a swarm is happening and when the possible risks may be to the Sprint. Regardless, if the team comes to you asking to swarm on a problem, let them, they know what they’re doing.

Swarming is a highly effective way for a team to accomplish a large task quickly. Even a bird brain can see that.