Combine Design Thinking and Agile in Your Development Process to Ensure Great User Experience
Agile development has become a baseline requirement if you want to create applications that are nimble and quick to market. However, if you are going to go through sprints, iterate, and create a minimum viable product (MVP), it’s important that the idea being developed is the best it can be. This is where the methodology of design thinking comes in and allows you to iterate on ideas before time, energy, and money is invested in building a product. This blog explains the benefits of combining both design thinking and agile.
What is design thinking?
Design is often thought of as a noun or thing, like a website or a poster. However, the word “design” in the phrase “design thinking” is used as a verb that can be applied to any profession or practice.
A more powerful use of design is to expand it from pure aesthetics to include how we work and perceive the world. Everything in the world has been designed; it’s just a matter of to what degree and how much time was put into each item or process.
Design thinking was first introduced by Nobel Prize laureate Herbert Simon in the Sciences of the Artificial from 1969. He defined, “design” as the “transformation of existing conditions into preferred ones” and “design thinking is, then, always linked to an improved future. Unlike critical thinking, which is a process of analysis and is associated with the ‘breaking down’ of ideas, design thinking is a creative process based around the ‘building up’ of ideas.”
Unlike critical thinking, which is a process of analysis and is associated with the ‘breaking down’ of ideas, design thinking is a creative process based around the ‘building up’ of ideas.” – Herbert Simon
Companies of all sizes are undergoing a major shift in the way they think about design, with a new focus on building experiences with design at the center. This design-led mindset is enabling enterprises to build software that makes complex tasks more intuitive, simple, and pleasurable.
What constitutes design thinking?
The core tenants of design thinking are having empathy with users, ideation, prototyping, and tolerating failure. You do not need the title of designer to apply design thinking. It is important to note that phases of design thinking are not inherently sequential but should be viewed as modes that all contribute to making an idea come to life.
Why use design thinking in conjunction with agile development?
A key element shared by both design thinking and agile is iteration as a constant throughout each process. Following the iterative loops in Agile allow for an application to be built that can keep in step with the inevitable changing requirements of a modern business. This same mindset is followed in the practice of design thinking. As you progress through the modes of design thinking, each mode informs the previous, allowing for multiple ideas to be generated. Iterating through each area enables a team to ensure the best solution is created for every problem.
Steps to incorporate design thinking and agile in your next project
Empathize to Better Define Your Audience
The first step is about understanding your audience: your end users. Your audience, and the speed at which they choose to adopt your application, ultimately decides the success or failure of your application. Understanding who they are–their needs and wants– is paramount.
To begin, it’s important to assume a beginner’s mindset. Stripping out any preconceived notions or assumptions is key to gaining a better understanding of your audience. Below are a couple of activities you can engage in to learn more about your audience:
- Observe users engaging in activities relevant to your business
- Interview your users
- Spend a day in the life of your users to better understand the challenges they face
These interactions should give you the information you need to create user personas.
The next step is the ideation process. You may already have a problem in mind that you want to solve, but it’s always a good idea to brainstorm and hone in on the most suitable problem.
The first step in brainstorming is figuring out who to invite. It would seem obvious to invite only people that are experts in the specific problem set you are looking to solve. While their expertise is helpful; the goal of brainstorming is to come up with new ideas and solutions. Having a room full of people with a multitude of experiences can more easily achieve that goal. I often challenge customers by not being an expert in their field, but due to my inexperience with their particular set of problems I can more easily come up with new and novel solutions.
Once you have a group of experts and non-experts, be sure to include someone to facilitate the meeting to ensure it stays on track, keep people engaged, and reframe questions.
This brings me to the next step in the brainstorming process. Before we can start communicating ideas, it’s important for each person to define their own perspective. Encourage each person to define what their specific vision is for how they want to change peoples’ lives, making sure to keep the audience in center focus.
The process of brainstorming new and old solutions can take many forms, but the two methods I’ve found to be very helpful at an enterprise level are challenging assumptions and creating How Might We (HMW) prompts. A typical brainstorming session will last about one hour. For both of these methods, the initial goal is to generate as many ideas as possible. During brainstorming it’s important that the facilitator enforce that there is no such thing as a stupid question or idea.
Don Norman, the grandfather of User Experience, says this about stupid questions: “What is a stupid question? It is one which questions the obvious. ‘Duh,’ thinks the audience, ‘this person is clueless.’ Well, guess what, the obvious is often not so obvious. Usually, it refers to some common belief or practice that has been around for so long that it has not been questioned.”
After the brainstorming session is complete, reserve 40 minutes to choose and discuss the ideas. Selecting an idea can be done in a number of ways, such as Post-It voting, the four categories method, and the bingo selection method. No matter the way you choose to refine the ideas to move forward with, it’s helpful to discuss each idea based on its desirability, business viability, technical feasibility, and innovation level.
Next, take the lessons you learn from your users and the narrowed list of ideas and develop prototypes for your solutions. This might be the stage that you feel requires a designer with a specialized set of tools because this is where the idea moves from being an idea to a physical or digital thing. However, at this stage, your team should be focused on exploring options through a specific idea and not worry about what it looks like. Two processes I use at the beginning of every project is creating user journeys and low-fidelity wireframes.
A user journey is the path an end user will take to accomplish a specific task. I find this works best on a whiteboard or pen and paper. The quickest way to do it is with state diagrams.This way you can explore multiple paths the user will encounter and can find the quickest and easiest path forward.
After creating user journeys, the next iteration of the idea should be in the form of creating low-fidelity wireframes. The focus of this step is to further refine a user journey into a set of screens that illustrate the path.
At this stage, you will also be combining multiple user journeys into every screen so the challenges of viability will arise and you may want to involve a visual designer if you haven’t already. However, this is not a prerequisite as there are numerous tools on the web that can facilitate the creation of prototypes. One such tool is the Mendix Web Modeler. It allows you to create prototypes of your app with easy drag and drop UI elements. The Web Modeler has the added benefit of taking the prototype and converting it into a production-ready application.
Test Prototypes with Agile development
Once the idea starts to have definition and more detailed questions of functionality begin to be asked, it is time to transition the idea from building a prototype to testing it. Agile is the best way forward. Unlike traditional development approaches like waterfall, Agile can quickly and efficiently deliver a solution in months instead of years. Here is a great article on what is and how to use agile in the development of your application.
Now that design thinking has been demystified, try it out for your next project. Design thinking and agile are two powerful processes that will ensure you create innovative ideas that are quick to market.