According to IDC, 30-to-35% of IT projects fail. Other research puts the figure upwards of 50%. Regardless of the exact numbers, the consistent reason cited for the failure of software development projects to deliver intended outcomes is misalignment of user and business needs.
Many IT leaders believe that adopting agile methodologies like Scrum will address this problem. After all, applied correctly, agile helps development teams iterate towards optimal outcomes by developing solutions incrementally, with a focus on greater communication and collaboration. Research from the Standish Group shows that, particularly for medium and large projects, the failure rate for agile projects is half that of waterfall projects.
Despite these merits, agile alone is no guarantee that teams will consistently deliver truly engaging, impactful solutions. While agile can provide a highly effective way of solving problems, it doesn’t guarantee that you’re solving the right problems.
Use design thinking to find the right problems to solve
A growing number of enterprises have begun leveraging agile development in conjunction with design thinking. Whereas agile is an approach for problem solving, design thinking is an approach for problem finding. It calls for a high degree of empathy and understanding of end users, and an iterative process for developing new ideas, challenging assumptions, and redefining problems.
There are five stages of design thinking:
- Empathize – Understand people, their behaviors, and motivations. Because people often don't know, or can’t articulate, these things explicitly, understanding emerges through techniques such as close observation of users and their behaviors in context, and open, unstructured interviewing.
- Define – Create an actionable problem statement to define the right challenge to address, as well as the set of needs that are important to fulfill, based on the organization, its goals, and the perspective of end users.
- Ideate – Leverage techniques such as brainstorming, mind mapping, sketching, or creating paper prototypes to step back, go wide, and come up with more innovative solutions.
- Prototype – Bring ideas to life by showing, not telling; quickly create working prototypes to put something into users’ hands and begin to collect real-world feedback.
- Test – Learn from users’ experience, iterate, and repeat the process as needed until reaching a Minimum Viable Product (MVP).
Use agile to iteratively build solutions that solve problems
Once you’ve identified the true nature of the problem to be solved, your team can leverage agile to incrementally build out the solution, taking it from MVP to pilot and on to large-scale production. Agile becomes the mechanism to enhance the solution over time, making it a “living product” that evolves.
Like design thinking, a key tenet of effective agile is seeking frequent input from end users to iterate to the right outcomes. Early on, this includes establishing the project business goals, writing user stories, and creating backlogs. Throughout the development process, this input should manifest itself in other ways. For instance, the development team should ideally be collocated with the business to facilitate frequent interaction. The team must share working demos at the end of each sprint to gather feedback and uncover unanticipated needs.
Another important similarity between design thinking and agile is frequent iteration. By creating regular interaction points, the development team can continually gather new insights that help them adapt and better align the software being developed with both user and business goals. Users should be able to submit issues, suggestions, and ideas through embedded feedback mechanisms within the apps, both during development and once in production. Ideally, there’s a closed feedback loop.
Damco, a global provider of supply chain management services, is a great example of an enterprise that has adopted this approach. Damco needed to develop a sourcing application for a customer in the chemical industry to allocate items to the right ports and carriers at the right time, optimizing inventory. The app was intended to replace manual spreadsheets and emails with a centralized tool. Rather than starting with a list of requirements, Damco conducted what it calls a Sprint 0: a face-to-face design thinking workshop with the customer to understand users and business context. The team then built and iterated upon a prototype, and is about to enter a full-on agile development process to build an MVP.
Design thinking and agile: Better together
While design thinking and agile can be applied alone, the two approaches are better together, creating a mutually reinforcing environment focused on user-centricity and rapid iteration to reach optimal outcomes. Design thinking brings a strong user focus while agile is an excellent way to incrementally deliver solutions, ensuring user needs are kept front and center throughout the entire process. Tips for success:
- Start small. Focus on high-value, low-risk opportunities to gain experience using design thinking and agile together. As your capability matures, take on more challenging initiatives.
- Create cross-functional teams. To facilitate the required creativity, create cross-functional teams that work together to design and develop solutions. The team should be physically collocated with end users to promote frequent collaboration.
- Balance design and development. Because agile teams are often inclined to “just start coding,” mixing agile and design thinking for the first time may create tension. Make sure the team understands the value of the empathy, definition, and ideation phases, and that design thinking is not leveraged only at the front end of the process. The team should be prepared to jump to the beginning at any point to uncover new user insights and reframe the problem, and then continue development with a renewed sense of “why.”
Ed Hadley is Senior Director, Content and Product Marketing at Mendix, where he is responsible for helping IT leaders understand—and realize—the benefits of low-code app development. He writes regularly about a variety of IT-related topics, including digital transformation, bimodal IT, design thinking, agile development, and user experience. Prior to Mendix, Ed held marketing and communications roles with Neolane (acquired by Adobe), Netage Solutions, and PAN Communications. Follow him on Twitter @edhadley.