The Strawman

The Strawman

Getting engineers to agree can be non-trivial. In fact, I would go as far as saying that it can be a complete yak shave. The issue is not the engineers, rather it is the fact that there are choices. You see, every problem we get a bunch of engineers together to tackle is a problem that has many possible solutions. Each solution comes with a set of trade-offs that the group of engineers will poke at, deliberate, side with or against. My defacto technique for overcoming this is the strawman. At least that's what I call it. Reading the explanation on Wikipedia it feels that I may be using the wrong word here. meh.

The basic premise is that I want to present the group of engineers with a possible solution that is far enough along that it solves the trivial aspects of the problem, but not perfect enough that others can't improve it.

Sounds a bit odd, why bother solving something if you're going to ask others to solve it again? Well, let's walk through what happens if I don't provide the engineers with any structure. The usual sequence will be something like this:

  • Individually or in smaller groups they will find a solution
  • They will then present this solution to the others
  • Each will have some attachment to their own solution
  • They will argue their points in circles usually bikeshedding
  • Someone will cave and begrudgingly implement the agreed solution

There are a few pieces in this sequence that irritate me. Firstly, they all individually solve the same trivial problems, seems like a waste of effort on the simple stuff. Secondly, the solution that is picked is never the team's solution, it's almost always thought of as belonging to someone. You'll hear phrases like, "It's Sven's solution" or "When Ida designed this bit". Lastly, the bikeshedding, oh-my-god the bikeshedding. I really want the team to discuss the trade-offs of the complicated things, the things that really matter when it comes to building and running this solution. I don't really care whether we use tabs or spaces (I'm being facetious, you should always use spaces).

So how does presenting a strawman change any of this? A few things change. Firstly, instead of starting with a blank page, they start with some of the picture filled out. Hopefully, I've done a decent job of making decisions on trivial items and we reduce the amount of wasted time. The second part is that it's a solution from the manager, which the team should tear apart and rebuild their way. I want them to gang up on my design because I know that their collective brainpower far outstrips mine, and if they do it as a team then they will all own the solution.

Back to the strawman. The strawman that I want to present to the team is a half-baked idea. It's been thought through enough that it just might work. Working through the solution will actually help you form the questions that you need the team to answer. Don't get attached to this half-baked solution, we need the team to poke holes in it and own the solution they come up with that replaces yours.

Now the next part is super important. When you present this to the team you need to make sure that they understand you are thinking out loud. The thing I've learnt through painful mistakes is that a team will always take anything you say as being directive, and not just sparking a conversation. How you do this is different for every team. In some teams I've been upfront and said that I have a strawman to show them, in other teams I have explicitly told them that I'm thinking out loud and sketched on the whiteboard. Whatever you do it needs to be absolutely clear that your idea is half-baked at best, and you need their input to solve it. 

Once you have the conversation started, step back. Let them drive the conversation amongst themselves. When it looks like they're veering towards the bike shed it's time to ask a probing question. When it looks like they're mostly done, it's time to ask them what unknowns they need to learn. Very soon you should have a plan, a list of things to test or research and hopefully a team that collectively owns the solution they are about to build and run.

As mentioned at the start, it's a tool I use often, but not always. Understanding when and who to use this with is something that will come with experience. It's something I've learnt over time, watching others get a group of engineers aligned. It's something you should practice with your team. And, if you tell them exactly what you're doing they will help you get better at it.












要查看或添加评论,请登录

Sugendran Ganess的更多文章

  • Decisions, Decisions, Decisions!

    Decisions, Decisions, Decisions!

    I have so many thoughts floating in my head about decisions. Which decisions are team decisions? Which decisions should…

    1 条评论
  • Announcing getmployd

    Announcing getmployd

    TL;DR: I've been working on getmployd.com as a means to help everyone build a better resume so that they get noticed…

    1 条评论
  • What got you here, won't get you there

    What got you here, won't get you there

    I've been reading An elegant puzzle systems of engineering management by Will Larson. It's certainly an excellent book…

  • Finding your place

    Finding your place

    I'm an imposter, shhh..

    2 条评论
  • Thoughts on Interviewing

    Thoughts on Interviewing

    I've been privileged enough to have conducted quite a few interviews throughout my career. Of late I've been doing…

    2 条评论
  • Failure is always an option

    Failure is always an option

    Far too often I sit in meetings where we're trying to find the perfect solution or get it right the first time. It…

  • What do you want to learn?

    What do you want to learn?

    For the last two years, I've been trying a new approach to how I handle the questions of "Should we do X?" My standard…

  • Be flexible

    Be flexible

    This week I was thinking about some advice I had given a grad earlier in the year. I had told him to be flexible…

    1 条评论

社区洞察

其他会员也浏览了