Thursday, 19 March 2020

Why Covid-19 numerical models overlook the reality families face

It all started innocently enough.

As I've been working remotely for a few years, I felt I hadn't been taking much advantage of it. So when my mom invited me to Cancun with my daughter who's in preschool, I figured "why not?" As long as my team had everything they needed and were clear on priorities, I could go. Moreover, I could just work from abroad. The only real difference was my time-zone availability. Beyond that, nothing changed for them.

For me, it just meant getting up for 6 am meetings. But being much closer to the equator helped rationalize this. Particularly since I already had a team member in Columbia, even closer to the equator with 6 am sunrise, 6 pm sunset.

While there were a few news reports about Corona virus in Wuhan province in China, there didn't seem to be much to be concerned about. My wife bought a box of face masks for our flight just in case. My daughter was excited about the face masks, at least initially. Kind of like Halloween.

You can probably guess where this is going.

At the airport, when we were walking around with our face masks, people gave us somewhat awkward looks. Although we weren't the only ones, we were one of a handful of people with masks. Both in Warsaw and later in Zurich.

When we got to Cancun, the world went #CovidCrazy. Suddenly, borders started closing, starting with the Polish one (for everyone except citizens) but we still had to get there in order to cross the border. We almost boarded our return flight but decided not to, as there would be two changeovers and a bus ride across the German-Polish border, with hours of backlog. Not ideal for travelling with a lot of luggage and a preschooler.

Then to get back to Poland, all of the connecting flights became impractical, because those countries shut down their borders. Even though we'd only be changing flights, we'd have to cross the border at the airport to pick up and drop off our luggage while changing airlines.

Finally, it looks like the Polish government looks like it may organize direct flights via the national carrier back to Warsaw. But still waiting on confirmation for this. Without it, we'll be in Mexico until the international lock down resolves itself. Or more accurately, in self-quarantine so that we can travel at a moment's notice.

We live in volatile times. It's funny how I recently penned a few posts about proactivity, while remaining flexible and not locking into a rigid plan, as the optimal strategy. Clearly this is a mindset which helps now.

Like a number of friends with split up families with dependents around the globe, both kids and seniors, the realities of the advice that comes out of mathematical models are a bit more complicated than it would have been for me as a single or even childless young couple. Kids can spread the disease but not have much symptoms. Grandparents face the risk of death due to lack of absolute numbers of ventilators. All that said, I am happy that I am quarantined among family and able to take care of them and myself. I'm hopeful that this situation will play itself out eventually.

There must eventually be some kind of way to restart flights using some type of nearly automated pre-certification of health/lack of Covid-19. The Chinese have some kind of device that measure body temperature from a few meters away. We just need to start thinking through what we can change in order to continue containing the virus, while giving people some ability to remain mobile.

Also, there have been a number of efforts among makers to come up with technical solutions to the expected shortfall of ventilator masks, like that of my friend Sal: http://diyventilators.com/. If you are interesting in helping out, join the chat at that site and say hi.

Wednesday, 26 February 2020

Disproved: I can just react to everything and have a productive culture

Most people are familiar with the 4x4 matrix of urgency and importance that Steven Covey popularized. (Or actually misappropriated from President Eisenhower).

source: Wikipedia

Although it's true that the majority of high growth stories do include a lot of flexibility, agility, and adaptiveness, that doesn't mean that planning is worthless. Eisenhower quipped that “Plans are worthless, but planning is everything." What's most valuable in planning is being proactive--to prevent preventable crises. And if you really are going quickly, it feels like a car chase already.

How prioritizing during a rapid growth phase feels

Like cash flow crunches. The loss of an important resource. A consistent source of sales.

For example, to help prevent cash flow crises around bills for software and tools that I use in my own business, I realized I can buy annual or lifetime plans. Moreover, I can keep a cash reserve for multiple years' worth of using the tools. This way, I guarantee I'll have the option of being in this business for a much longer time horizon.

It helps shift my own focus from an early stage mentality of "low monthly run rate" which made sense as I validated different business models--to one of an efficiently run business. It also means that I eliminate the occasional surprises around not having enough cash to cover this or that bill.

Note: this is an internal change in my business only. It gives me a good amount of flexibility. All it takes is setting up a business savings account and transferring over financial buffer, so that I can sleep easy at night. In short, I am eliminating a whole category of problem in my own business with this one small tweak.

In his classic 7 Habits of Highly Effective People, Steven Covey shared a quantitative benchmark around for highly effective individuals and organizations (based on his research and work with them):

Source: Steven Covey

As a matter of habit and culture, notice that proactive businesses spend the overwhelming majority of time in Quandrant II. The important and not urgent. Such as coming up with contingency plans and being proactive, without necessarily tying yourself down and committing unnecessarily before you know what you need to.

In the example above, I still have the option to raid the financial buffer. But then I am deliberately changing my decision.

Interestingly, for people who aren't effective the numbers more or less reverse on average. Most of their time is spent doing things of low importance: quadrants III and IV. This crowds out the time needed to do quadrant 2 work, namely important but not urgent work.

Inadvertently, I fell into that trap myself.

While running an agile and adaptive process--without any real external or existential threats--it was easy to just ignore the need to be proactive. If we were honest with ourselves, most of what we did was neither important nor urgent. And it showed on the bottom line unfortunately, i.e. a team spending 2 and a half years to redevelop a product that ultimately didn't sell much anyway. Most people have some kind of a similar story.

In practice, we only really planned one sprint at a time. And that was good enough for us. Over time, I habituated my stakeholders at the time to this pattern. And allowed myself to fall into it, too. Which wasn't healthy. This was the type of product that can't just be rolled out via the internet or directly. I had good reasons to be suspicious of committing to anything beyond one sprint. If we did commit to anything, the team would need to replan everything a sprint later.

In a way, lack of longer term planning paradoxically helped in this context. Most of the volatility around the work was in the latest news on their side. Even though we knew we needed a longer block of time to get to a truly releasable unit of work, at the end of every sprint I'd hear about a new business priority--before we actually released anything.

When confronted with the need for a plan, I mutinied.

I was pretty vocal about being adaptive, later when asked to provide detailed plans, I locked up. I had forgotten what that meant. I wanted the team to be self organizing, and to be left to our own devices. But, something bothered me.

Begrudgingly, I started to assemble bits and pieces and looked through other examples in the company of "good plans" submitted by other managers. And I realized that thinking through things in more detail was helpful, especially once new products or offerings are largely validated. I'd place small details in a larger context, so that the medium term plan was internally consistent, while still leaving myself the ability to back out easily.

But planning itself is good.

For all the trash-talking about "big planning up front", I think it's worth pointing out that in an agile and scrum context, I've never heard anyone claim that planning itself is bad.

In the agile manifesto, the signatories stress they value people over process. But planning is ideally done in a way that takes into account everyone's needs and opinions. Ultimately agile values the team's need to self organize. And that includes planning, if that's what the team needs. Or what a number of teams need to ship their work.

The main reason I've found planning helpful is to realign details around priorities. If you have a large enough team, there is a car chase of details coming at you in any given moment. Being clear on the priorities and knowing how to apply them is where a purely adaptive process breaks down.

I was afraid making plans would be constraining. And only after a while, I realized that it's the proactiveness in planning that was most valuable. Not the plan itself. The plan itself is just evidence of having been proactive.

It is dangerous to use a plan as an organizational commitment device, as that shut down the ability to respond appropriately as new learnings came up. But other than that, there is a time and place for a thought through plan for a team in "execution mode" as they're going to market.

Key Takeaways

  • Even though high growth requires you to be highly flexible, planning is still a high value activity.
  • Ideally, you want to aim for spending 65-80% of your time and resources on high importance and low urgency tasks, even as you validate new business ideas.
  • As a team matures, there will be a longer time horizon of planning ahead, especially if it isn't possible to actually release at the end of every sprint.

Tuesday, 18 February 2020

Why improving requires change

This isn't a how to post, as usual. Just an observation.

Photographer: Armand Khoury | Source: Unsplash

Quite often, an ambition to innovate is paired with an unwillingness to change.

Usually, the latter isn't conscious. But it blocks you from finishing or shipping anything.

It can be quite subtle. In how people speak or collaborate. In pushing back. In sub-par levels of trust.

It might seem obvious at the face of it. Yet, it's probably a common issue companies face when trying to become more innovative.

So before trying to convince anyone about a new product, you might be better off trying to introduce a smaller change of some sort, and seeing where the pushback comes from. And where the fault-lines actually lie. Even though it will create a conflict of sorts, it will highlight what you are up against.

Key takeaways

  • An ambition to innovate is often paired with an unwillingness to change.
  • Introduce a small change to test how a culture will deal with a bigger innovation.

Thursday, 13 February 2020

Why "work time" reduction is futile

One of the common anti-patterns which comes from a more traditional project management toolbox is estimating work time. This estimate is later used as a tool to hold employees accountable. To help managers steer the ship, while making sure that utilization stays high. In particular, the measuring stick for good management is that employees are efficient. Over time, employees take less and less time to do a particular type of task.

Call me crazy, but this feels short-sighted to me.

If you are looking improving output and velocity of work (as opposed to employee efficiency) it goes up significantly when you have a solid team dynamic. Where people reach out and help one another, especially if they have different skill sets required to ship a particular feature. This a classic case of conventional management wisdom not tying true causes and effects together.

Ultimately what you care about is finished work. And finished work comes about quickly when a good team dynamic exists, not when individuals are efficient. To be blunt, this comes down to peer pressure dynamics among team members. For a team to work, they need to know what to expect of each other.

This is most obvious in team ball sports.

Any given player needs to pay attention to what everyone else on the court is doing, in order to figure out where to go next. Yes there is a coach on the sidelines, and a captain on the court, but the responsibility rests with the individual.

As the game is playing, could you imagine the coach getting off the bench and running after every player with a stopwatch? Telling them--one after another--to run faster? Anyone who the coach wouldn't be yelling at would slow down most likely. Because he's not getting grief from the coach, so why should he care? This might be more acceptable during practices, but even then, it takes away agency from the employee. And emotional skin in the game.

If you start measuring and tracking individual employee output:

  1. You send a pretty clear message that the team doesn't matter as much as what each employee does
  2. Success and failure rest at the individual level, how much they do relative to what their manager expects of them.
  3. The responsibility for finishing work lays on the manager's/coach's shoulders, and more importantly, doesn't lay on the employee's.

Maybe that's acceptable, and you want the extra control, but usually this will reduce your output. Because the motivation lies solely in the relationship between the employee and the manager. A hub-and-spoke dynamic among a group of people. Not a real team.

Speaking for myself, adding elements of control doesn't feel like it addresses the real issue of people not being self-motivated to work as a real team. It was kind of like buying additional dumbbells or books when wanting to shed a few kilos, like Keith Cunningham points out. It's helpful to have a one new pair, but buying 100x more dumbbells on its own won't burn the fat that much faster.

The root of the problem lies elsewhere: a misaligned team dynamic leading to a lack of individual motivation in the form of manager reprisal.

In contrast, if a player consistently gets the ball and fumbles with it or misses shots on goal, the team won't trust him. That's much more powerful motivator. They understand the consequences (to others) of dropping the ball on any given task.

Conversely, if there are a few good players who trust they can pass the ball to one another and to move their play forward, then things start to happen. Having a team dynamic where everyone chips in matters. Where people know who they can turn to if needed. So they're implicitly clear on priorities, as they enforce them from one another.

Or if you do have a star player, at least the team self-organizes around helping that star contribute significantly on the playing field.

How does overemphasizing work time play out quantitatively?

In scenarios requiring serial processing of work to ship something, like for example a software feature, you naturally start to observe bottlenecks. In particular, a lot of partially finished but unreleased work lies in the "wait states". The amount of time a given piece of work lies in between BA, development, and QA usually exceeds the amount of actual work time spent on it.

Here's a case study. Same time, same year, same product, same technology stack:

aggregate work time vs. aggregate elapsed time for all stories

This was a team that I ran when developing a new product. And what I'm showing here is pretty common. Few delivery people can overcome their "cringe factor". To figure out how much flab there is in a delivery process. In this case above, the aggregate elapsed time was over 3x longer than the work time.

Let's say we achieve a nearly impossible feat: halve the amount of developer work time without reducing the rate at which features were completed. All that would mean is that the purple bar in the stack above would be smaller. But the overall elapsed time wouldn't budge. The story would just wait longer for QA to be able to look at it.

Or halve the QA time required without reducing quality and rate of bug discovery. That would reduce the size of the gold bar. Which is admittedly a win at the story level. Because the elapsed time to the end of QA would go down.

But then you have the next step out: release elapsed time.

How much time elapses in between when all of the stories are QAed and the release goes out the door? If you don't have a continuous delivery pipeline, it could be weeks. So it doesn't matter if QA or dev go 20% faster, because the product won't end up in the client's hands until the product is released.

In practice all features are released together anyway. So even this pinkish elapsed time stack would need to be much taller when you count the time to release.

Key Takeaways

  • Increasing control doesn't help a team be more efficient, if the team members aren't motivated to collaborate.
  • Peer pressure similar to that in ball sports is a good model for how successful teams work together.
  • Strong-arming team members into finishing their work faster usually won't impact the "elapsed time" before the features/product goes out to market.

Wednesday, 8 January 2020

How to know if your company's agile transformation is working

Came across a wonderful article on medium.com by Jack Skeels. The starting point is Jack bemoaning that HBR is now singing the praises of Agile at Scale (re-dubbed "Agile as Anything Management Wants"). According to him, the actual results of agile are significantly below what is promised. Most companies applying agile focus on process, because that's how they think they'll get efficiency gains. But they miss key subtle points underlying the whole thing. Like moving away from digital taylorism. And towards team self-management.

Management can easily kill agile if they don't understand how it really works

Tons of insight like the following:

In fact, probably the key metric you should use to judge your Agile implementation is how differently you manage and how many fewer managers you need.
During the last couple of years, I’ve used a “Team Ratio” calculator with dozens of companies…how many managers and leads versus team members? This is an aggregate “span of control” measure that reveals how flat your organization is. If you do the calculation, a ratio of greater that 1:8 means you’re flat, and likely have a really good culture, velocity and quality.

Having a good culture, velocity, and quality...where do I sign?

Again, this post doesn't really do the original post justice. It's one I've already gone back to a few times.

Wednesday, 18 December 2019

The Kindergarten, the Construction site, and the Assembly Line

Last night, I went to a local meetup where we played Legos. It was an event organised by Krzysztof Niewinski. In particular, it was a simulation workshop of large scale product development using alternative organizational structures. But there were lots of colored bricks involved. And the specs were pictures of the end products that needed to be built.

Without getting into too much detail, we covered 3 alternatives with the same group of 20 something people: component teams, cross functional teams of specialists, and finally "T-shaped" interdisciplinary teams where everyone could do everything. In short, we were experimenting with output using alternative ways of working. Each round took roughly 10 minutes.

Here's what happened

In the first round, we had specialized component teams each dedicated to working with only two different lego colors, a supply team, an integration team, a quality team, and 8 different product managers who wandered from table to table. Sound familiar? Kind of like a massive construction site with lots of project managers. Or in a large company developing and installing software. Most of the building teams sat around doing very little in practice. There were lots of bottlenecks and confusion around getting supplies and exact requirements. I had a chance to engage in chitchat with my table mates. And a stressed out senior executive that walked around and yelled at anyone for not doing anything.

The second round, we continued to have individual performers who were specialists, but they worked together, which resulted in a lean assembly line. The time required to first output went down almost 50%. But there was less top down control. And more legos on the table, relative to the previous round.

And finally--the last round--everyone pitched in and contributed how they could. There were still some constraints, in that people working outside of their expertise could only use their left hand. Despite that, it only took a minute to get the first outcome, so almost 9 times faster. But there were lots of extraneous legos on the table. It was lots of fun, and it was a very tactile learning experience for everyone who pitched in. Just like kindergarten.

What does this mean

This boils down to control, profitability, and speed. This is just as true for startups as it is for large companies. Most of the conflicts among co-founding teams boil down to differences how founders value control and money, according to Harvard professor and researcher Noam Wasserman in Founders' Dilemmas. In big companies, any larger product development program will implictly or explicitly make a call on these three, based on how the work is organized. It depends on what you optimize for, as Krzysztof the facilitator pointed out.

The construction site was optimized for control, especially of costs. There were enough people to do the work, and enough legos could be procured if you were willing to wait. But the level of resource scarcity locked up the system, relatively speaking. And it took a long time to finish anything.

The assembly line required a slightly larger up front investment but the speed at which things happened increased dramatically. Even though the constraints on each individual were exactly the same. As an expert in yellow and green bricks, I was still only allowed to touch these, even though the configuration was completely different.

The kindergarten required even less top down control and more resources, as well as trust that the teams will get on with it. There was be a higher use of resources (lego blocks laying on the table). At any given moment, you won't know exactly what is going on, because everyone is contributing and collaborating. The teams were releasing stuff like crazy. So at that point, does it really matter that you need a bit more money up front? If they are releasing stuff so quickly, presumably this translates into revenue, which keeps the kindergarten afloat and then some.

Choosing the metaphor works that best for your company

The way you organize the work matters. And it feeds into culture. Larman said "Culture follows structure". In a software context, it means you want to allow for chaos and experimentation. And not really just squeezing features out of development teams.

As a company scales from a successful startup to a larger company, the trick is to keep enough of that "kindergarten juice" in the culture and in how the work is organized, in order to allow your company to continue innovating. If the emphasis on control changes as a product matures, you can introduce more of that as needed. But do so consciously, and watch your output and outcomes like a hawk.

By micromanaging the process, even as an assembly line in a feature factory, you're still missing out on pretty big upside (assuming you care about having lots of new products released).

That said, even a kindergarten needs boundaries. So that the teams don't cut corners in quality for example. That's kind of the point. There are a handful of non-negotiables around safety, health, and security in a kindergarten, and everything else is optimized for discovery.

So for a bunch of interested strangers on a random school night, who dug into a few alternative structures and held everything else constant, it was clear that there could be very large differences at play. 14x faster, not 14% faster. These would be results any agile or digital transformation program would love to achieve. That said, it wasn't clear if these differences came from structure only, or the culture around it. And if culture is involved, that could be what's preventing the massive change in the first place.

Key Takeaways

  • The way you organize work matters, and it feeds into the culture, particularly in a larger company.
  • By organizing work, you will be making choices about tradeoffs among variables that matter.
  • Control, in particular, seems to be inversely related with learning and speed.

Wednesday, 27 November 2019

Why over-focussing on velocity causes the opposite effect

Following up on the slightly longer analysis of overfocussing on output and velocity, I think there are a few things that are overlooked with a pure velocity based model. Most of them have been known for decades in the software industry. They are squishy.

  1. It's essentially a Taylorist factory where most of the interest is in efficiency, and not on outcomes. by Taylorist, I mean Frederick Winslow Taylor. In fact, Kanban originally came from manufacturing. Cost accounting is the beginning of the imposition of a Taylorist model, to describe something more nuanced than what you see in a factory. (please comment and say why if you disagree). By using velocity as a yardstick, you pervert velocity's purpose and dilute its usefulness.
  2. As per PeopleWare by Tom DeMarco in 1987, most new technology development problems are actually people problems, either on the product development team, or with respect to the customers.
  3. Outputs are assumed to be linear. This is patently not true for knowledge work. Even in 1975 at the time of the Mythical Man Month, it was already acknowledged that adding people tactically is a major blunder in the context of creative work. 
  4. More recently, I've fascinated by psychological safety in the team as articulated by Amy Edmonson as an underlying factor influencing actual performance.

At its core, companies care about being able to release quickly. Velocity and story points are just one way to get at what's happening and why it's taking so long. But it's essentially an internal process. At some level, it's just bureaucracy created to manage product creation...on its own usually not valuable to customers.. So in and of themselves, if the teams provide value and can show they are doing so, then velocity doesn't matter.