Design Thinking & Its Importance in Software Development
Every custom software development project starts with a desire to make someone's life better, no matter if the project is for a brand new product or an existing one. You have an idea for an app that will solve a problem or you see a user's problem in an existing app and you want to fix it. But do you truly understand the problem to develop the right solution? A system of finding the right solution - like Design Thinking - focuses the development team, designers, and stakeholders to slow down and get to the heart of the problem.
What is Design Thinking?
Design Thinking is a process of understanding a user's problem, challenging business assumptions, and redefining the problems to find the best solution for the user. When you employ Design Thinking in your organization, you are starting with the users' needs - what is desirable to them? Then you will consider that against what is viable with your revenue goals and what is feasible from a technology perspective.
When a team enters into a Design Thinking process, they will go through a series of phases: Empathize, Define, Ideate, Prototype, Test.
Fully understanding and living the users' pain points by asking the right questions. Here are some: Why are they having this problem? How does it affect their experience with the application/company? Why do our customers use our product/company? What are they looking for from our overall brand?
Now that you feel the customer's pain, you can dig into what the thing is that is causing it. Sure, you have a backache - but sometimes that means you need to build strength in your hamstrings to alleviate that pain. So again, you need to ask the right questions. Like: What's their journey look like before and after this problem occurs? Are they using our software unexpectedly? Are they stuck on something that is important to the end result?
Here's where the fun begins - brainstorming. Your powerhouse team gets together and comes up with a slew of possible solutions for this problem, based on the whole picture. Here's where you get to marry the best case for the user with the business needs and technical limitations.
Before you go into full-on development, you will prototype one or more of the solutions discovered in the ideation phase. Ideally, you're putting together more than one solution, so that you can test them against each other (in the next phase). These prototypes should be extremely lightweight and easily adaptable, because you may need to iterate on them based on the test results.
As noted before, your best bet is to go into testing with multiple possible solutions. This often helps communicate final decisions with the business but also can give you more findings and even blend a couple of solutions together. Once one or more of your prototypes meets your goals, you'll hand off this to the development team and start the agile development process.
What is the key to any design thinking process?
Design thinking aims to find the best solution for the user that doesn't throw developers into all-nighters and possibly bankrupt the business. So, what's the key to any Design Thinking process? Compromise (most from the business perspective).
In order to be truly empathetic to your users' needs, you have to put them first. This process helps the business fully understand the why behind the how which can make the concessions on their end easier (most of the time).
Are Agile & Design Thinking the same?
At Entrision, we live in an agile environment and Design Thinking complements it. They work hand in hand to help software projects be successful. You can think of it this way: While an agile process solves a problem for a user, the Design Thinking process finds the solution. You can see how they organically fit together.
Sometimes, they will be stacked together, like Legos: the agile process starting after the Design Thinking process is complete. Other times, the two processes are integrated with each other, working in conjunction. This is especially true if the software is brand new or extremely complex and takes intense thinking for individual features.
If your business has a particular concern or problem an all-hands-on-deck approach is often good. You'd pull all your top minds together and host a Design Thinking workshop. Those workshop findings would inform the start of an agile development process of a new software product or feature.
How is Design Thinking related to business?
Often, the business gets frustrated with Design Thinking (especially if it's new to the company) and will want to push it aside. “We know our product best and need to deliver it to the user X way to be successful.” These decisions are based on a desire to make more money, which we get, but can often be detrimental to the overall goals. A business that embraces Design Thinking and is truly empathetic to its user's concerns will find the right ways to innovate, thus making more users (new and existing) happy, thus growing revenue and hopefully exceeding goals.
Design Thinking doesn't have to be limited to consumer software products either. This process can be used to evaluate and innovate internal business solutions as well. If something just isn't working internally a Design Thinking process is a great way to slow down and rethink old processes and tools.
Why Design Thinking Works
What business dislikes more than not finding the right solution is spending 8-10 months designing and developing a comprehensive “solution” that just flops. Design Thinking (paired with agile development) works because it takes the guesswork out of software development. It digs in to find the true problem, ideate a solution, and connect with users to verify that it is correct (all the while considering technical limitations and business requirements) BEFORE spending precious time and money developing an application.