Software is about solving people’s problems.
Today I watched the talk named How a Facebook Designer Thinks by Julie Zhuo from Facebook. In there, she explained three steps that Facebook designers used to think about product design in Facebook. The steps are as follow:
- What people problem are we trying to solve?
- How do we know this is a real problem?
- How will we know if we’ve solved this problem?
It was a fantastic talk overall. But, out of all the steps the one thing that struck my mind most is the concept of people problem.
One example Julie Zhuo talked about is when she meets other parents in a conference called MOM2.0 Summit. The people problem statement for the conference as she identified from talking to other women parent goes like this:
“I want to talk about interest with other who are also interested, but I don’t know where to find those people”
That problem statement becomes a problem statement for what Facebook’s Groups app was trying to solve. You can see that there is nothing that mentions about groups or mobile apps or any technology in there.
As software engineers, we tend to talk about the software we wrote in terms of our technical Jargon like users, forms, integrations, optimization, pages etc. However, in the end, our software is not about what it consists of but about what someone (a person, a human being) can make use of the software to solve a particular problem that he/she is experiencing in the real world.
When we describe the problem if we’re describing the problem using our technical jargon, we’re thinking in terms of the solution. Not in terms of the problem. And I think this is what leads to developers and the tech people building unnecessary products that no body ever want to use.
Whenever we describe a problem, the first thing we think of is “Oh we need this app or this website or mobile application”. But, instead, if we can focus on what problem we’re trying to solve without thinking about the solution first, we can be in the shoes of people who are going to use the software.
In fact, some problems might even be better off with a different solution than creating a software application in the first place.