Engineering-glish

Engineering-glish:  The act of speaking to end-users as if they were engineers.

I have a new analogy that I’m using with software engineers. Every time I hear “why would someone do that?” or “They should know not to do that…” my response is now, “How many of you drive over a bridge on your commute?” Since we’re in Florida the response rate is about 99%. “Somewhere there is a bridge engineer asking why any of you would drive over a bridge like you are.” I usually get a “WTF are you talking about?” look or response. The software engineers are pretty confused and I respond with “That’s the same look our end-users give us when we speak to them like that. Somewhere there’s a bridge engineer asking why there would be so many stationary, overloaded trucks on the bridge, and why someone would be so close to them, the bridge wasn’t designed with that in mind.” There are thousands of calculations dealing with compression, harmonics, wind, temperature, etc., do you as software engineers truly understand the bridge you’re driving on or do you just want to “use it” to get where you’re going? It’s the latter, get where you’re going. That’s the same for end-users – they don’t want to, nor should they have to, consider how the software was built in order to use it. SPAs are a prime example of this. Hitting the back button wipes a large portion of your selections yet it’s not obvious that a site is build as a single page. Software engineers ask “why would anyone do that” and end-users ask “why would anyone build it that way”. It happens all the time where software engineers are trying to explain to end-users why they shouldn’t hit the back button and it’s a prime example of engineering-glish.

A personal note about hydrocephalus, especially in children.

In 2017 my son was diagnosed with severe hydrocephalus. You know you’re in deep shit when your son went in for an MRI and the head of pediatric neurosurgery takes you to a small room to explain the situation: a large mass of fluid in the middle of your son’s head. And he’s barely 8 months old. He was taken to surgery the next morning to implant a small catheter into his brain.

Almost a year later and he’s progressing faster than expected, even after two additional brain surgeries. He’s doing great with physical therapy and you’d never be able to tell what he’s been through by looking at him. He just can’t play football. And no boxing. Other than that he should grow up as any normal kid would.

Until this happened, my wife and I had no idea what hydrocephalus was, nor now common it was. Nor how lethal it used to be in the US and still can be in remote parts of the world. We have my son taken care of, but help me and many others end this so no other infant has to go through what my son has gone through.  Donate to the Hydrocephalus Association where my wife and I will be walking to raise money for research.

Hydrocephalus Association is a qualified 501(c)(3).

The Frustration & Astonishment Factor.

Your favorite song comes on the radio while you’re driving. You know the one. The one single song in all of music that makes everything seem ok. You reach down and crank it up. And to your surprise, your transmission is 200 feet behind you. This is one example of the Frustration & Astonishment Factor. Actions we take every day that, in one, and only one example, create untold destruction.

Someone on the assembly line probably thought “I’m NEVER buying this car.”  A car buyer probably doesn’t look at how this is setup until they go to turn up the volume. And then they’re pissed.

We do this in software all the time. We put up response boxes that say “Do you want to cancel?” and render CANCEL and OK buttons. We put important actions and statuses in areas that are not in the user’s view. And then we tell them “you need to learn how to use the application.” No, we need to build the application in a way that mimics how people think and work.

As a Product Owner, I don’t know what questions to ask.

I don’t know exactly where the conversation is going when I speak with stakeholders. I have a general feel but their responses could take us in an entirely new direction that we never thought to explore. I usually start with “what drives your business” or “what makes people want to buy from you more than once” and go from there. It’s usually followed up with “how do you know you’re getting more or less successful” or “point to what you’ve given up on”. If you get past the “it’s fine” you’ll find that there is a never-ending stream of things to improve on. From that list you’ll begin to put together a list of backlog items.

F2FWTC™

Face to Face With the Customer. You can send out as many surveys as you want but you’ll never understand the aggravation your user community is feeling until you’re sitting across from them while they struggle to use your software.

What an MVP is, and is not.

Let’s start off with what an MVP is not – it’s not the least amount of stuff that can be done in the sprint. What it is intended to be is a learning tool, you’re supposed to be validating your hypothesis (or hypotheses) with an MVP. If you’re not validating anything, then you’re not really building an MVP.

When I talk to Scrum Masters, other Product Owners, they seem to be confusing the intent of Build-Measure-Learn with The-Least-Amount-We-Can-Do-And-Still-Be-Considered-Successful, or TLAWCDASBCS. The TLAWCDASBCS is a function of team availability, capital, time, and volition.

 

Agents of the Epiphany

There are two forces at work when developing a product. Agents of Chaos and Agents of the Epiphany. Agents of Chaos state emphatically what needs to be built for customers, without ever speaking to a customer. Agents of the Epiphany don’t know exactly what needs to be built but routinely watch and speak with customers.

In the end, products run by Agents of Chaos end up not being used and no one can understand why. The features where built. A profitable price point was set. The product was marketed. It was delivered on time and on budget. But it’s just a junk pile.

Products run by Agents of the Epiphany run late. Sometimes over budget. But they usually asked the right questions of the right people. They also observed the setting and how the product was being used. They knew when people asked “WTF?” and when they said “I love this!”. And more and more people start using it.

The only two things that really matter are whether or not people are using your stuff and whether or not you can get them to pay money for it. Make sure you’re listening to the right people who can get you there.

 

Set the course so the team can make great decisions.

When working with a new team or facing a new problem, I never say how it needs to be done. Rather, I form one

question that the team needs to focus on. Answering this question helps the team keep focus on what’s truly important.

For example, working with a development team that is now dealing with a significant increase of customer complaints. First, do your homework. What are the complaints, is there a trend, is there one set of users that is experiencing the problem, just a basic understanding of the situation. Then you need to set some guidelines for the team. “If we were going to solve this…”

When the team starts to go off track, get them to re-focus on answering the question. They can refine the question, improve on it, but not ignore it or set it aside.

I’ve rarely seen this fail, and when it has, I forgot to keep the team focused. Any team can usually come up with a better solution than any single person can, you just have to figure out how to get them to collaborate. Forming a great question, one that defines the boundaries, usually gets unexpected, and outstanding, results.