Unthinkability

Scott Fletcher – Saying unthinkable and sundry things.

Oct
06
2007

Screenshots, Refrigerator art, and Dead Birds

Posted under A Geek Dad's Life, Blog Posts, Software Design

 Listening to non-technical people trying to manage the inner details of a software project is like listening to a bunch of 6 year-olds planning a trip to the moon.

“My teacher said that its really cold on the moon, so we’d better take our jackets!”

“I’m going to take my umbrella in case it rains!”

“I’m going to take crayons to draw pictures of it.”

“Wait!  I read that there’s no air on the moon.  How are we going to breath?”

…pause…

“I know!  We can take balloons, blow them up, and then breath that air!”

“YEAH!  Problems solved!”

image

It’s OK to involve 6 year-olds in the planning process as long as we don’t let them operate the arc welders, build the spaceship, or fill it with rocket fuel.  Likewise, it’s a good thing that we don’t let non-technical folks (or 6 year-olds) drive the technical details of software projects… or do you?  May the heavens help you if you’re in that situation!

Assuming that we have “experts” controlling this project, and assuming we have experienced builders choosing our tools and materials, we should welcome this non-technical input with open arms!  6 year-olds are actually the best place to start for user input; who knows better about how to have fun on the moon?! 

Amateurs might immediately dismiss the six year-olds suggestions as being silly and ignorant.  However, I hope that I could listen more deeply to analyze the six year-olds’ statements, to see through to the underlying concerns, and to find the nuggets of truth that non-technical folks excel at expressing:

The six year-old lunar explorers might really be saying:

“I want to be comfortable.”

“I want to be prepared for environmental changes and inclement conditions.”

“I want to document the experience.”

“I want to survive and not be killed.”

These intrepid six year-olds are quite brilliant and have some mad problem-solving skills. They just don’t have the depth and breadth of knowledge to understand what they don’t know.  They also are completely unaware of the attempts and failures of the people who have gone before them.  Most notably, they completely overlooked the exact means by which they would get to the moon to begin with.  (That’s what we in the software business call the “and then a miracle happens” phase of the project.)

I see this happen frequently, and have grown to understand the disconnection.  Users (and six year-olds) communicate with us technical folks in the only way they know how using their experiences to form a context.  Users frequently communicate with programmers with detailed screenshots and user interface mock-ups.  Sure, they also sometimes try (and fail miserably) to describe how the machine should work internally, but even those wildly naive suggestions usually contain some nuggets of truth.

Screenshots, Refrigerator art, and Dead Birds

10 years ago, when I was an over-sensitive and egotistical software developer, I might have looked down on these offerings and gifts from the end users and said “Don’t tell ME how to write my application!”

Now when I see a programmer respond this way, I want to grab the programmer by the collar and say “They are giving you a GIFT, you jerk!  They are trying to tell you something about their hopes and dreams in the only way that they know how, and they trust you to listen!”

image Everything you need to know about user input/feedback could be learned from my six year-old’s art projects.  She tells me so much about her hopes and wishes in those drawings.  As a busy parent in the middle of making dinner, I’ll often just look at the picture, ask some seemingly relevant questions about it, and then place it proudly on the refrigerator.  My daughter is then satisfied that I have listened and appreciated the drawing (which I DO!). 

While my daughter believes that I have listened, she is probably wrong about that.  I might not have recognized that her drawing of me and her playing baseball was an expression of a desire to spend more time with me.  I might not have taken the time to understand that she likes me to throw the ball to her instead of hitting it off the tee, or that she wants Mom to watch us the next time we play.  She won’t know for sure if I “listened” to her message until I do (or don’t) deliver on her wishes; play baseball with her more, or ask Mom to watch her hit the ball the next time we play.  She assumes that I listened because I put the picture above the ice maker next to the grocery list.  If I missed the hints that she left for me in the picture, I will disappoint her without even knowing.

image The fact that we developers receive these gifts of feedback from our users is a testament to their trust and appreciation for us.  Similarly, your cat might leave a dead bird for you on your pillow as a sign of caring and respect.  It’s hard to argue with that kind of devotion, regardless of what you might think of how they express it.�

  1. Unthinkability » Blog Archive » Don’t touch my F*#&!ing Cheese Said,

    [...] users want to have a good experience.  The role of end users is to convey their hopes and dreams for the product, and share their personal fears about the product so that we can either a) work [...]

Add A Comment