This is part two in a five part set of emails I'm sending to my developers at Crowd Favorite. I thought some of this might be useful to you as well.
Yesterday we were talking about constraints.
I walked you thru environments where there were high constraints. In essence – where someone (either an expert or just about anyone) knew what needed to be done. Degrees of freedom were significantly reduced.
I also told you we didn't live in that world. That software engineering, like the kind we do, isn't exactly one of those contexts.
I’m sure you were thinking, “Wait a minute, I am a bit of an expert in this stuff and there are some best practices. I’m not sure I agree.”
Let me be clear. There are moments in your days where you know exactly what to do, and there is only one thing to do. There are also days where you need to do some analysis to figure out which approach is best. I'm not debating that.
The Bigger Picture
But step back to see the larger picture or the larger context.
When a client comes in and says they want to redesign their site, merge two sites together, or add eCommerce or membership features to their site, they're giving us their objective.
That objective is a destination. But not like “Maui.” Instead it’s more like “Sunny with water.” And when you have that kind of destination, the answer is neither obvious nor simply complicated (solved by expert analysis).
When you step into that kind of context, into that kind of environment where there’s much less constraint, the effort required isn’t analysis – as much as we would like to use that tool we've all grown accustomed to. Instead what is required is exploration.
Let me explain.
If you tell me that you want to go to a sunny place near some water, sure I'll have a few suggestions right off the bat – Hawaii, San Diego, Miami, Cabo San Lucas.
But even as I write those names down, I can think of tons of reasons why you might want something else. You want less traffic, or more people, or a different culture, or better food options, or more amazing sights.
This isn't a puzzle solved by a decision tree. The realm of options is too large to manage that way. No questionnaire will solve this puzzle.
Instead, maybe I gather up tons of videos from 30 or 40 places, places I've never been to, and we watch them. We review them. And we learn what we like and don't like.
Probing & Exploration
Probing and exploration are the tools we need in this low-constraint context with tons of potential options. It’s a complex environment, not simply complicated.
In our example maybe we use videos. But in our web development world, we often use a discovery project. It’s a place where we can test and try things and let customers react.
There is no right answer. There are likely many “not my favorite” answers. And in our exploration, we’re discovering more – much more – about our client and the kinds of destinations that will please them.
Even if we end up throwing a bunch of that discovery code away, it won’t be wasted. Because what we were learning, together (with them), was what they liked, what they appreciated, what they hated, and what things they previously had been unable to articulate but made all the difference in the world.
We're not chair builders. Or mechanics.
We are not chair builders. We are not car mechanics. We develop expertise in being uncomfortable not knowing the final answer until we find it. Because it requires exploration and probing.
We develop skill at communication because our livelihood rests on our ability to ask questions, listen, paint virtual pictures, explore conditions, and suggest things.
No, we're not mechanics or builders.
We are more like travel guides, travel agents or world explorers. In the engineering world.