What Design Thinking Is and How It Is Used in Software Development
This article was originally published on SumatoSoft blog.
What is design thinking? In simple terms, it is a framework that puts user needs at the core of any product development.
“Design thinking is a human-centered approach to innovation that draws from the designer’s toolkit to integrate the needs of people, the possibilities of technology, and the requirements for business success.” — Tim Brown*, CEO of IDEO,an international design and consulting firm
* Tim Brown is an author of a famous book “Change by Design” published in 2009
Companies today are seeking to build strong relations with their customers and doing everything they can to receive ongoing feedback from them, while design thinking with its user-centered approach helps businesses to achieve their objectives. Product developers, whether it is a construction sector, automotive or software development industry, focus first and foremost on people and their needs and elaborate solutions to effectively meet those needs.
At the same time, this approach focuses more on a solution rather than a problem. Relevant advice: put yourself in your clients’ shoes. A good example is featured in the work “Design Thinking: A Fruitful Concept for IT Development?” where authors mention an instance when product developers ponder how “a backache reducing office chair” should look like.
Design thinking is all about iterative prototyping when you test each idea and see whether it is a Solution that will address the customers’ problem. But first things first: what exactly is design thinking process?
Design thinking step by step
If you incorporate this framework in your product development process, you will get through five major steps:
1. Empathize: this stage involves gathering insights about users and trying to understand their objectives, wishes and needs.
2. Define: the phase is all about identifying the challenge. What difficulties do users face? What is the biggest user problem? What users actually need?
3. Ideate: this step, as you may have already guessed, is dedicated to thinking about the way you can solve the problems you have identified, with the help of your product. The product team, designers and software engineers, brainstorm and generate multiple ideas.
Quick advice: how to stay focused on the big picture and cull the best ideas that would close the gaps?
Utilize a prioritization matrix.
By the way, as for prioritization and importance of features for users, read our article on how endowing an MVP or product version with all the bells and whistles can be a bad idea.
4. Prototype: the fourth stage brings you to turning your ideas into reality. By creating prototypes, you test your ideas fitness.
5. Test: you present the prototype to customers and find out if it solves their problem and provides users with what they need. Note that this is not the end of the journey and you cannot put a full stop here: you will get feedback from users, adjust the product functionality and test it again. This is a continuous process similar to the build-measure-learn approach in the lean startup methodology.
Design Thinking Is Not About Design [Only]
The word ‘design’ in the name of the concept design thinking may be misleading. In fact, as we mentioned above, design thinking may refer to any area: from automotive industry to software development — and is appropriate for all stages of building a product.
Let’s take the software development process as an example.
To make it as clear as possible: design thinking can be applied at each stage of software development lifecycle (planning, development, testing, etc.), including design.
Why is design thinking so important in the context of software products design and development? Let’s first take a look at design thinking with respect to design as a stage of software development lifecycle.
Design Thinking at the software design stage: details are everything
Why are IT industry professionals trying very hard to make each detail in product design perfect and think over the colors of buttons, etc.?
The prime example we have mentioned above: the color of a button. “But this is a minor detail!” you might say. In practice, this is a significant factor since it to some extent determines whether customers will use your product.
Sometimes users cannot instantly find a button they are looking for and then two scenarios come into play: 1) annoyed, they close your app window; 2) they spend quite a time trying to find the button leading to the functionality they need. Both cases are bad for you. And both of them mean that user problem was not taken into account at the design stage.
Design thinking at this stage allows companies to avoid problems like this. When you have a thorough knowledge of what user problem is (the define step) you can suggest a few solutions to this problem (the ideate step) and finally choose the best one and create the best possible design for all product elements. As a result, end users do not get confused when utilizing your product and eventually turn into your loyal customers.
On the other hand, design thinking is a powerful tool that through specific design enables companies to make customers do what they want (spoiler: and they do not mind).
All the same button colors may encourage users to take an action you need them to, for example, schedule a webinar or request the trial version of your product.
Or just look at prominent browser notifications: when, for example, a media website you are visiting offers to instantly notify you of important news. Take a look at two buttons you, as a rule, see in such a case.
The first one is the Yes (allow) button, clicking which you agree to receive push notifications. Another one is the No, thanks (block) button.
We are used to the fact that the green color usually implies consent, while its complementary color — red — means the dissent. As red traffic signs say that something is forbidden, a red button says that by clicking it we disagree to receive push notifications from the website.
The trick is that some media put the Yes label on the red button. Also note the order: yes usually goes the first but not in this case.
Thus, we, who do not want to get bogged down in spam, intuitively click the red button to turn down the offer to receive notifications, but, instead, start to receive them.
Do you think it is unfair? Are we misled?
However, imagine that it turns out that the news we get is really useful to us and that is just what we were looking for but were skeptical about. Or we start receiving weekly emails about brand-new products from our favorite online store and find the one we have always dreamt about or get a cool gift idea.
These are just a few examples that demonstrate the power of design thinking in software design.
Speaking of buttons, color is not the only parameter that matters. Size, shape, location, order, button labels and beyond are things to keep in mind. As you understand, buttons are just the tip of the iceberg.
Quick advice: Whenever you are planning a new product or redesign is coming, apart from design thinking, do not disregard A/B testing, which is also called split testing. The same applied to developing new features.
We will speak about A/B testing later, within this series of articles devoted to software development.
Design Thinking at the software development stage
Now let us consider design thinking at another stage of software development lifecycle — development itself. Take a look at a simple example: mobile shopping app development.
In small teams, where there are no UX designers and business analysts, their functions are assumed by business owners or sometimes by software developers. To build a high-grade product, they delve deep into the problems of users and look at each feature with users’ eyes.
When it comes to e-commerce shopping, it is much more convenient to utilize a mobile app when on the go, rather than wait for a page to load in a browser. The problem lies in the fact that many storefront apps turn out to be misleading: to find a product they need, customers have to wander endlessly through multiple sections and scroll down long pages.
With the help of design thinking approach, developers pass all stages, from empathy to testing, and strive to provide users with a solution that would make the search across products as fast and convenient as possible. They carefully consider all elements, arrange them logically and do everything to make customer journey as comfortable as possible.
“Design thinking is a noteworthy approach to building custom software products. It brings together clients’ business goals and end user needs and embeds them in a perfectly tailored solution that addresses the problem as effectively as possible.” — Vladimir Shidlovsky, Co-Founder and CTO at SumatoSoft
We have examined how design thinking approach works wonders at the design and development stages of software product development. But again, it is applicable at each stage and overall benefits software development process. Here is why:
Tangible benefits of design thinking in software development
Below you will find the key advantages that design thinking brings to the table.
- Feasibility check
Design thinking enables software development companies to test the feasibility of the future product and its functionality at the initial stage. It allows them to keep end user needs in mind, clearly specify all requirements and translate all this into product features.
2. No alarms and no surprises
Once you tested your MVP and gathered feedback from users, the team can securely and confidently proceed to the product development. You can be quite sure that there will be little or no difference between the approved concept and final version.
3. Clarity and transparency
Design thinking approach allows software developers to see and clearly understand the end goals, problems and have a detailed vision of the solution they should eventually deliver.
4. Continuous improvement
The product can be (and sometimes should be) modified after its release when user feedback is at hand. Now you can see it crystal clear: which features work and which ones do not; how the product can be enhanced and what suggestions should be incorporated. This leaves place for continuous improvement and software development process becomes flexible and smooth.
Read previous articles from the series:
How to choose an idea for your business