A Developer's Introduction to Design Thinking

March 2, 2017

A few weeks ago, a friend sent me a link to an event dubbed "The Social Impact Create-A-Thon," mentioning that it might be something that might interest me. (It very much did.) Part workshop, part competition, the idea of the event was to learn how to use design thinking processes and principles and then apply them to tackle social challenges in Austin.

I didn't really know what any of that meant, but I figured that I'm interested in design, and thinking, and solving problems, and attempting to fix the world, so why not? (As a bonus, free dinner, beer, and the chance to win a very expensive dinner and mentorship from members of Verb, a pretty cool social entrepreneurship company in town. Why wouldn't I go?)

So, I made my way to the heart of Austin to General Assembly's space downtown, got my dinner and beer, and took a seat. After intros and goals and other normal we're-a-group-of-strangers-here's-some-interesting-things-to-know, we got down to business. We learned that we were going to be split up into teams and go through an abridged version of the design world's design thinking process. Each team was assigned a facilitator, most of whom worked at IBM Design as actual designers, to help us out along the way.

Broadly speaking, there were two challenges that we were given the choice between:

  1. Create a way for constructive political discussion.
  2. Help engaged citizens with ideas to put their ideas into action.

We chose to tackle the second one, although our final solution had a few elements of the first in it as well!

User Research & Persona Creation

We started with user research. Due to time constraints, we only interviewed one other person, and we had five minutes to ask them whatever we wanted. We recorded each individual answer on an individual sticky note.

Then, we broke into our teams, and collectively stuck all of our sticky notes on a giant glass window. We organized our sticky notes into "clusters" based on patterns – e.g., "background & family" for answers of where people were born and how many siblings they had, "hobbies" for things like hiking and brunch (that legitimately appeared multiple times...oh Austin.), and "dislikes" for things like watching the news and salads.

Based on these clusters, we created a persona – what sort of the "average" of our user base was. Meet Sarah.

Sarah is a 28-year-old white woman who grew up in the Southwestern United States, likes NPR, hiking, and brunch, and hates watching the news and salads. She's super social and has a good network of friends. She's a little annoyed and irritated with the state of the world, but isn't actively doing anything about it. She's interested and willing in getting involved, but is unsure of where or how to start.

Sarah's Uncle Bob aggressively posts political articles on Facebook that are starkly different from what she believes, and this tends to cause her to avoid talking to her family about politics altogether. It doesn't help that her friends are more or less exactly like her, so she's sort of in an echo chamber. Furthermore, whenever she tries to talk to her friends about social issues or bring up ideas, they're not really interested in engaging.

As-Is & Identifying Pain Points

The next step was to pick a definitive timeframe, and map out what Sarah's journey within that timeframe looks like. What does she do, think, and feel throughout that timeframe?

We used sticky notes again. (This is a recurring theme.) Two of the cardinal rules throughout this phase and every other was write before you speak, and no matter how wacky, put down your idea. By extension, we weren't allowed to make fun of or criticize anyone for their idea, and instead of saying "but, ...", we should say, "yes, and..." and build upon it in some way.

Sarah's journey, summarized, was: she starts off the week by going hiking with her friends, enjoying the beauty of nature and picking up a piece of trash or two along the way. (She feels good about this.) During the week, she goes to work every day and listens to NPR on her commute. (She's interested in what's going on around her.) Somewhere in the middle of the week, when she gets home, she sees her Uncle Bob's aggressive posts, and she withdraws and avoids looking at anything related to civic engagement (aka, spends hours on Reddit's /r/aww). The weekend rolls around again, and she goes to brunch with her friends, when she tries to engage with them on a social impact level, and they don't really get it, so she figures she's better off just talking about more superficial things with them.

Once we had mapped her journey, identified the pain points and places of opportunity that we could create solutions to solve or take advantage of, and voted on which one we wanted to focus on. Our winner was Sarah feeling great while hiking and doing her part to keep the trails clean.

Big Ideas

The next step was to come up with big ideas. Our goal was to come up with ideas that could help Sarah turn her love of nature and hiking into a positive force that benefitted her community, and also gave her an outlet to have constructive conversations with people about what was going on around her.

The leads and our facilitators drew a distinct line between features, which would be something like a community bulletin where Sarah could gather people to go on hikes with her, and ideas, which would be something like incentivizing doing good.

At the end of this stage, we also voted on which big idea we wanted to implement in the next stage, and on a high level, how we'd do it. The big idea we decided upon was "Trash Talk" – scheduled walks or hikes around the community (in different places each time!) in teams with the gamification of waste management.

Future State

The last step we went through was to define the same timeframe, but in the future – with our big idea, what would Sarah do, think, and feel?

Sarah can sign up individually and be placed on a team, or sign up with her friends as a team. During her walk or hike, she and her teammates can pick up trash for various amounts of points, or if there's something that she and her teammates are unable to do (e.g. dispose of a couch sitting on the side of the road), they can take a geotagged picture and upload it to the app, which then puts that object up for anyone to get points to get rid of. This also goes to the city, so if no one steps up, the city is aware that it needs to be removed. She can also share the event and her progress via social media channels and challenge friends to join her or step up their game.

We wanted to start with something small that Sarah cares about to help her make a larger impact on her community. In addition, we wanted to give participants something that everyone basically agrees on (trash is bad) to be able to unite them under a common goal to provide an opening for other, deeper conversations to happen.

The Result

It was awesome to see the ideas that everyone else had come up with, from mentor bots to a device that would allow you to more easily connect with politicians.

After all of the teams had pitched their ideas, the judges deliberated, and to our great surprise, we ended up winning!


I've had very little experience with any kind of UX design (and quite honestly, I wasn't actually sure what UX design was prior to this), but this was a really cool way to get to learn what goes into bringing an idea to your users in a relevant, usable, somewhat organized, and iterative way. Being able to put yourself in your users' mind and really think about their journey and what you want it to be gives you a very different outlook. I think it's an extremely useful tool for us developers, who sometimes get caught up in the code and the technologies and aren't as concerned with how people may use the things we build.

Within our team, we actually argued more than I thought we would – everyone felt pretty strongly about various aspects of our idea. I was informed later that this process was intentionally designed so that arguments arise early before anything is implemented, which makes the implementation process itself much smoother. It also saves the pain of implementing a feature, and once you've slaved over it, to have your designer tell you, "um, that's not going to work."

I also really liked that this meetup was geared towards interacting with people, because I've definitely been in the kinds of meetups where everyone sits in rows facing the front of the room listening to someone talk but you don't really get to do anything or interact with anyone. Overall, it was an awesome way to connect with some friendly, creative, different people, all interested in bettering their community. I was also able to chat with some of the IBM Design folks afterwards, and they showed me some neat visual design features that were all around me that I've never really taken notice of!

In the future, I'd love to go through this process with the teams I work with to develop apps and platforms, which actually gave me another app idea – because the whole putting-sticky-notes-on-a-wall-and-rearranging-them thing is really difficult when you're not all within five feet of each other, it would be awesome if an app existed to do this as a remote or distributed team! (Inspiration is everywhere! Anyone have ideas for a clever name?)