According to IDC, 30-35 percent of IT projects still fail. Other research puts the figure upwards of 50 percent. Regardless of the study, the main reason consistently cited for the failure of software development projects to deliver their intended outcomes is misalignment with user and business needs.
According to IDC, 30-35 percent of IT projects still fail. Other research puts the figure upwards of 50 percent.”
Many IT leaders believe that adopting agile methodologies like Scrum will fundamentally address this issue. After all, applied correctly, agile helps development teams iterate towards optimal outcomes by developing new solutions incrementally, with a focus on greater communication and collaboration. Indeed, 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 your 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 in the first place. That’s because humans have an innate tendency to accept suboptimal environments, and often can’t see the possibilities for technology to create radically new or better outcomes. As such, asking end users what they need typically results in incremental improvements, not breakthrough solutions, greatly blunting the potential value.
Use Design Thinking to Identify the Right Problems to Solve
For these reasons, a growing number of enterprise IT organizations have begun leveraging agile in conjunction with design thinking. Whereas agile is an approach to problem-solving, design thinking is an approach to problem finding. It calls for a high degree of empathy and understanding of end users, and an iterative process of developing new ideas, challenging assumptions, and redefining problems, with the goal of identifying alternative solutions that might not necessarily be apparent.
There are five stages of design thinking through which this is accomplished:
- Empathize – Understand people, their behaviors, and motivations. Because people often don’t know, or can’t articulate, these things explicitly, understanding emerges through viewing users and their behaviors in context to identify patterns, ask questions, and challenge assumptions.
- 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 or impactful solutions that weren’t originally envisioned.
- 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 Those Problems
Once you’ve stepped back and 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 to large-scale production. Moreover, agile becomes the mechanism to enhance the solution over time, making it a “living product” that evolves with user feedback and new business or market needs.
Like design thinking, a key tenet of effective agile is seeking frequent input from end users in order 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 physically collocated with the business to facilitate frequent meetings and interaction. Moreover, the team must share working demos at the end of each sprint to gather feedback and uncover unanticipated needs. Low-code development platforms are particularly helpful, as they create a common language for developers and users to discuss functionality and validate assumptions while enabling changes to be made and previewed right there on the spot.
This leads to another important similarity between design thinking and agile: frequent iteration. By creating regular interaction points through meetings and demos, 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. In addition, 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 loop that brings feedback directly into the development environment enabling ongoing iteration.
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 as a means of reaching 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 design and development process.
For teams looking to leverage agile and design thinking for the first time, here are three recommendations to keep in mind:
- Start small. Focus on high-value, low-risk opportunities to gain experience using design thinking and agile together. Then, 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. As mentioned above, 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 about how much time to spend on design thinking before beginning development. Make sure the team understands the value of the empathy, definition, and ideation phases, in particular, and that design thinking is not leveraged only at the front end of the process. In fact, 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”.