Design Thinking: 4 Steps to Better Software


This style of testing is often called Wizard of Oz testing, after the scene in The Wizard of Oz in which we're asked to “pay no attention to that man behind the curtain." You'll be surprised how quickly users tune out the person moving paper around to simulate the software behavior and instead focus on achieving their goal with the software.

fig 3

Figure 3: Paper prototyping in progress

For more on paper prototyping to test and iterate software design, see my article "Test Software Before You Code." I've also written a handy reference on building and testing paper prototypes called "Paper Prototyping and Lightweight Usability Testing."

Plan and Execute Your Solution, Continuing Validation as You Go
Once we've iteratively tested a prototype of your solution, we'll reach a point where we've learned as much as we can without actually implementing the solution. It's important to recognize that, even if we do implement it, it's not guaranteed to work. Our execution plan needs to have time built in to continue validating the solution as it's built and to respond to what we learn when we do.

Those are the four basic characteristics of design thinking. It seems dead obvious to not try to solve a problem you don't understand. It makes sense to consider multiple solutions and then iteratively test solution candidates to refine them. But, in software development, we often jump right to building our first idea and then grumble that great products never seem to emerge.

Try injecting a little bit of design thinking into your next project. Be prepared for a bit of pushback from folks who say that there's not enough time to ideate and iterate. It will require a small leap of faith, but you'll quickly become addicted to the better results you get.

Design Studio Recipe
Jeff White and Jim Ungar's design studio is a quick way to get a whole team involved in brainstorming multiple product ideas. Use design studio to kick off a product design process.
  • Communicate the design challenge: Share context about your product with the whole team, including: info about the product's target users, the problems it solves for them, and information about how users currently reach their goals using other products or your old product.
  • Sketch solutions: Ask each team member to prepare for the design studio by reading through the information and spending no more than one hour sketching his ideal solutions as simple user interface screens or storyboards that show flow through many screens.
  • Schedule a workshop: Schedule a ninety-minute design studio workshop and invite all the sketchers.
  • Show and discuss your sketches: During the workshop, each team member takes a few minutes to describe his sketch, immediately followed by a short discussion with the team. During the discussion, identify the best ideas—both ideas that, while good, don't address the target problem and new ideas that emerged during the workshop as a result of talking through sketches. Writing ideas on sticky notes—one idea per sticky—makes it easier to organize and prioritize later.
  • Harvest good ideas: After all sketches have been discussed, cluster similar ideas together to look for themes. Vote as a team on what you think are the best ideas.
  • Optionally repeat: From here, you could iterate—do another round of sketching with the whole team—or an individual or pair can combine the results into a finished design to share with the team.

 fig 4fig 5

Figure 4: Design studio results: hand-drawn screens and sticky notes marking the best ideas

Design Thinking Concept and Practice Guide
Ideate Collaboratively Using Design Studio

About the author

AgileConnection is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.