Design Thinking in the Agile World

Lisa Montalvo
8 min readNov 30, 2020
Five stages of Design Thinking

In a sense, design thinking seems to be reserved for the designers. But that’s not really true. Design thinking is easily incorporated into the entire product development process with Agile. From a designer’s perspective, I will walk you through the relationship between design and development in a waterfall format and how you can improve product design, by incorporating design thinking into the Agile Process.

My journey into designing in Agile begins when I took a Lead User Experience (UX) role embedded in with the development team after leaving an Information Architect (IA) job where we worked in a waterfall format. There, I learned to embrace the Agile Methodology. I learned the value of the development team members, not only for their gift of coding but also for their insight on how users would utilize components. I also learned that all user flows — not just the happy path — were necessary when designing delightful user experiences. Let me first explain what designing in waterfall was like.

Old-School Waterfall

Waterfall Method of Design for Product Development

As an IA, we designed systems in a waterfall format: we designed it and the developers built it. Waterfall assumes that all requirements can be gathered and solutions designed before development ever begins. Product ideas came from business stakeholders, which were then shared with the user experience team, who created designs that were user-tested and then handed off to the development team. At the time, it seemed like a solid plan. We distilled the requirements, offered design solutions, and then prototyped and tested the design before any coder got to work. What we didn’t see were the alterations the development teams would do to “fix” problems. By problems, I mean missed requirements and solutions that could not be implemented for any number of reasons. The final solution didn’t always match the original vision. All teams would be frustrated and the final solution would not be optimal for the user.

Unlike waterfall, the Agile Process offers a methodical approach to design and development. It holds you accountable for your time, embraces the whole team for ideas, and systematically tackles the design and development work.

What’s Design Thinking?

Design thinking is a bit of a misnomer. Because the word “design” is part of the description, people make the assumption that this is a designer’s task — something designers use to create their visions. Design thinking is a human-centered design process that helps you gain real insight into your users and their needs. There are five phases to Design Thinking.

Five Phases of Design Thinking

Empathize: Learn Your Users’ Needs

Being able to empathize with your users will help you better understand the problem you’re trying to solve. Information on your users’ needs will come from many sources. You may have a feedback mechanism like a feedback survey, or you conduct client meetings or you may even have a UX Researcher on your team. A better understanding of how users interact with your application will help you design a more user-friendly product.

Define: Write a User-Centric Problem Statement

Take your learnings from the empathize phase and define the core problem that you want to solve from the user’s perspective. Defining the problem from the user's perspective will help the team understand who the user is and what he is trying to accomplish. For example, a plausible feature for an eCommerce site could be to create a widget to display images on product pages. Defining the feature from the user’s perspective could look like, “Users want to see multiple images of a product before deciding to purchase.” This description is broad enough to allow the team to think outside of the box when trying to solve the problem.

Ideate: Propose Solutions

By now, you have learned the needs of the user, defined the problem you are trying to solve, and can now enter the ideation phase of the project. Engage your entire team from designers, developers, stakeholders, and client success representatives in the ideation step. Each person on your team will bring different perspectives from their own lives and work experiences to the ideation sessions. There are many techniques for ideating, including but not limited to, brainstorming, mind mapping, and storyboarding. There are no hard and fast rules here; you want to find solutions for the user problem.

Prototype: Draw Solutions Before Building

After everyone has thrown out possible solutions, choose the ones that best fit your system and draw them out. Today we have many avenues for trying out design concepts without having to go directly into development. Personally, many of our concepts are created as workflows in Invision or Marvel prototypes. Of course, there are others (don’t say Adobe!). I’ve worked with frugal firms and companies flush with cash. I’ve created prototypes in HTML and CSS, but making these working prototypes takes time, although they may be the Cadillac for evaluation. We often don’t have the luxury of time in this competitive environment and budgets are tight. I’ve created click-through prototypes with Invision for years, and more recently switched to Marvel. These systems give you the tools needed to create robust designs and make clickable prototypes. In the end, the approved prototype will be handed over to the development team, where they can find all the colors, fonts, spacing, sizing, etc. they need to complete development.

User Test: Test your prototypes

Now that you have prototypes, test them. When time and money are tight, use in-house folks to test your designs. I use click-through prototypes to test solutions with the development team. It’s easier when your team can see the entire flow and helps the team find unseen requirements. Then go after the client success teams. They see clients and know their pain points probably better than anyone. When you have the budget and have a UX researcher, test real users. My point here is to find users similar to the users of your end product, whether in-house or real clients.

A Little About the Agile Process

We can all agree that development is expensive. For this reason, software development teams have learned to manage the development process while maximizing productivity. As one of the most popular methodologies used in software development today, Agile allows teams to incrementally build applications, instead of trying to deliver them all at once. Built into the Agile process are accountability, communication, defining, planning, and execution.

Incremental delivery with Agile Development

Agile development teams manage projects by breaking them down into stories that sit in the backlog (a prioritized list of deliverables) until they can be developed in short periods called sprints. Development teams plan the work they do in upcoming sprints using a simple, but ingenious process called pointing which grades the complexity of each project. The team then chooses pointed stories from the backlog of stories to include within a sprint. Besides the practicality of planning work, these sessions often include folks outside of the development team. Designers, solution architects, developers, product owners, and managers all work together to research the story and design solutions before development begins.

Think of it this way: on sports teams, you have many types of players, each bringing valuable game experience. They talk through plays and strategies and offer suggestions, all with the common goal of gaining the next point. Each member of the team has a unique role, but together they formulate a plan. Now imagine that each play is a sprint: the team talks through the next play and players complete an assigned task according to their roles. Then the cycle begins again with the next play.

Integrate Design Thinking into the Agile Process

Design thinking, easily applied in the Agile Process, involves many contributors including the designers, solution architects, product owners, product managers, and developers. Your Agile team can use design thinking to better understand users, challenge assumptions, redefine problems, create innovative solutions, prototype, and user test.

Implementing Design Thinking in the Agile Process

Write User-Centric Agile Stories

Ideas for improving your platform will come from internal and external sources. When you have ideas for product updates, add these to the Agile backlog for review by the development team. When writing Agile stories, identify the type of person that will interact with the product and tasks they are trying to accomplish. Understanding that your user is a marketer, developer, buyer, etc., and identifying which tasks are associated with each role will inform your solutions and design.

Ideation and Designing

When Design works together with Development, both teams benefit. Designers can bring empathy for the user to design sessions and developers can bring solutions for proposed designs. I love this collaboration. Both teams benefit by working together, developers feel included in the designing of the product, and designers learn more about the platform’s inner workings. I believe in using the entire team when brainstorming and solving for design and development problems. Put time into the sprint schedule to include design sessions.

Planning

When sprint planning, incorporate ideation, design and prototyping into your sprints. Depending on the size of the projects, typical two-week sprints might incorporate all aspects of design thinking. But as projects get bigger, it makes sense to design and prototype in one sprint and develop and test in later sprints. The Agile sprint is a useful method to plan the time that is spent on each portion of a project from research, design, testing to development.

Schedule design thinking into Agile’s two-week sprints

Prototyping and Testing

I often prototype designs to show the development team the vision for the project. These same prototypes can also be implemented for user testing as well. Since you are working in sprint cycles, you may be user testing after development, gathering results, and identifying problems. Identified problems would then be placed into the backlog as new sprint stories, where the cycle begins again.

Key Takeaways

Using Design Thinking helps you define problems from the users’ perspective while the cyclical nature of Agile provides a time-boxed method for teams to incrementally improve their products.

--

--

Lisa Montalvo

Lisa Montalvo is Manager of User Experience and Product Design at Kibo Commerce, where she leads creative, engaging, and user-centric solutions.