Integrating design principles into the development process improves customer and user experiences. Credit: ThinkStock For many developers, QA automation engineers, and site reliability engineers participating in agile development teams, the delivery work starts by defining user stories and committing to complete them in sprints. Sometimes, the user story calls for a “back-end” implementation, such as configuring a data integration, coding a microservice API, addressing technical debt, or improving application performance. These are still user stories because their implementations provide business value, but the product owner can specify the target user experience with technical criteria. When the feature or user story calls for a “front-end” implementation that impacts the usability and requires a design, agile teams must decide when and how to incorporate design thinking, wireframing, user experience, and design specifications into the requirements. There isn’t a one-size-fits-all answer on when and how agile teams should define user experiences and design specifications. These considerations are the most critical to an application, workflow, or mobile app’s success because, ultimately, ensuring customer satisfaction and ease of use can significantly impact the target business outcomes. Agile user stories define the problem statement To see how design thinking and agile methodologies intersect, let’s review how product owners capture requirements on an agile team’s backlog. A product owner usually breaks down goals into a hierarchy of epics, features, and user stories. The user stories help define the problem statement and answer questions like: Who is the customer or end-user? What problem or opportunity needs to be addressed? What benefits should the implementation seek to achieve? Why is this important to the customer? What acceptance criteria define “done” for this user story? You can see here that user stories define the problem statement and opportunity from a customer perspective. It’s a best practice to empower the development team to recommend and implement a solution that addresses the goal and acceptance criteria defined in the user story. This best practice isn’t always followed, and many agile product owners and business analysts prescribe elements of how to implement the solution in the user story’s requirements. Sometimes, the product owner has a specific implementation in mind and can’t separate the problem statement from the solution specifications. Prescribing the implementations of user stories is a bad practice for product owners and suggests a lack of trust and collaboration with the team. But there’s a practical question to consider. Is user experience part of the problem definition or is it an element of the implementation? User experience and design can be both problem and solution depending on the nature of the experience, whether or not user experience and designers are members of the agile teams, and how development teams use platforms in the implementation. The design thinking process Let’s add a second dimension to this discussion about how design thinking practices aim to define and iteratively improve customer experiences. Business-to-consumer industries, including retail, e-commerce, media, gaming, and personal banking, rank customer experience, consistent design, and usability very high in strategic importance because those factors can be a critical differentiator on where customers shop, buy, read, or consume services. Today, most business-to-business companies also consider customer and employee experiences strategically important in digital transformation. People don’t want to go through clunky workflows, use tools with inconsistent designs, struggle with hard-to-understand instructions or error messages, or take too long to get a job done. Design thinking is a top-down process that starts with the customer or end-user goals in mind. Like agile methodologies, there are several design thinking practices, and many utilize the following design phases: Empathize with customers on their needs and attempt to walk in their shoes Define the problems, opportunities, values, and competitive factors surrounding end-user needs Ideate different scenarios, concepts, and innovations Prototype flows, develop a proof of concept, or pilot with a small user segment Test solutions, capture feedback, discover insights, and prioritize improvement areas Design thinking touches on other disciplines and tools, including developing customer segments, identifying user personas, and defining value propositions. Behaviors are studied using tools like journey mapping and empathy maps, which are especially useful when designing applications to accomplish specific tasks such as making a purchase on an e-commerce site or registering for a subscription. Designing and developing products, epics, and features Are designs done before agile development teams start their work, or are user experience and design considerations factored into user stories and implementations? The last thing digital and technology organizations want is a disconnected or conflicting process, with user experience specialists and designers following design thinking practices, and developers following an independent scrum process. Most organizations will apply a full innovation, brainstorming, or design thinking process when developing new products, complex workflows, or mobile applications. In these situations, prototyping may be limited to mockups, wireframes, and other visual tools to get end-user feedback. Teams should discuss the following: When to bring developers, engineers, and testers into design thinking processes What design artifacts get created, and how agile teams should use them when defining features and user stories How should implementation considerations factor into user experience and design Taking into account the implementation considerations is deeply important, otherwise organizations may specify experiences and designs that are overly complex or too costly to engineer and support. Designing experiences on features may require a more tactical approach. It’s beneficial to have user experience specialists and designers as members or consultants to the agile teams in these cases. They play a role in defining requirements around the experience, responding to developer questions, and reviewing the implementations during the sprint. Sandy McCarron, senior director at Moody’s Analytics, has been using design sprints with innovation teams. She says, “Design sprints have been very effective for us when we have a strong hunch about an idea but cross-functional teams need to provide input. The real power of a design sprint is the small investment of time and money to validate your hunch.” How agile frameworks and tools enable design thinking Agile frameworks handle design thinking differently. SAFe prescribes three dimensions of agile product delivery, with customer centricity and design thinking leading into cadenced development and on-demand releases. The Project Management Institute’s approach to design thinking in agile is that teams apply design thinking to empathize, define, and ideate, then use agile to build and deliver the product iteratively. StarCIO Agile incorporates design thinking into continuous planning practices applied to products, epics, and features and prioritized by multidisciplinary teams that include user experience and design specialists. Selecting, integrating, and applying collaboration tools between product management, designers, developers, QA, and IT operations also helps establish customer-centricity. Consider tools such as: Jira Align and Aha! that help product managers define personas and road maps SurveyMonkey and Qualtrics to capture customer feedback Balsamiq and InVision for wireframing and creating designs AccessiBe, AudioEye, and UsableNet to validate against accessibility standards Testlio, UserTesting, and UXCam for user experience testing Jira Software, Asana, and Monday.com for capturing requirements and facilitating a scrum process Optimizely and LaunchDarkly for feature flagging and A/B testing DataDog, Dynatrace, Micro Focus AppPulse Suite, and ThousandEyes for digital experience monitoring The key takeaway for agile teams is that developing a customer-centric mindset and incorporating design thinking practices into the development process are critical practices for improving customer and employee experiences. Related content feature 14 great preprocessors for developers who love to code Sometimes it seems like the rules of programming are designed to make coding a chore. Here are 14 ways preprocessors can help make software development fun again. By Peter Wayner Nov 18, 2024 10 mins Development Tools Software Development feature Designing the APIs that accidentally power businesses Well-designed APIs, even those often-neglected internal APIs, make developers more productive and businesses more agile. By Jean Yang Nov 18, 2024 6 mins APIs Software Development news Spin 3.0 supports polyglot development using Wasm components Fermyon’s open source framework for building server-side WebAssembly apps allows developers to compose apps from components created with different languages. By Paul Krill Nov 18, 2024 2 mins Microservices Serverless Computing Development Libraries and Frameworks news Go language evolving for future hardware, AI workloads The Go team is working to adapt Go to large multicore systems, the latest hardware instructions, and the needs of developers of large-scale AI systems. By Paul Krill Nov 15, 2024 3 mins Google Go Generative AI Programming Languages Resources Videos