Sprinting with The Big Picture: UX Meets Agile

It is well known that software engineers and user experience (UX) professionals tend to meet with a lot of conflict – specifically with front-end components that require user interaction. UX professionals want to implement marketable ideas into creative solutions, inherently making them future-oriented in their approach which requires extensive research and testing. On the other hand, software engineers are focused on meeting deadlines with as little room for error as possible. These priorities will naturally make the software engineers apprehensive about creating untested feature that may add days of reworking and delay.

As much as these two priorities conflict, neither can succeed without insight from the other. Software that is not innovative and is missing key features is unlikely to sell well. On the same note, software that pushes back deployment or that is rushed and full of bugs can go over budget, jeopardizing profitability. It is imperative that both focuses work together to create software that offers consumers value using the iterative approach of Agile methodologies.

How Apple Pioneered User Experience

One of the pioneers of UX for technology was Donald Norman, former Vice President of the Advanced Technology Group at Apple, who in the 1990s advocated a process of directing system designs to meet the needs, wants, and limitations of the end-users.1 Donald’s ideas were revolutionary in creating an iterative process using these design principles to develop user-centered software.

Prior to the iterative process, UX was mainly used in the planning phases of development to blueprint interfaces. With Donald’s iterative approach to user UX involves a continuous cycle of design-test-refine with each cycle creating a more ergonomic experience for the end-user. While it may seem that Agile and iterative approached UX were destined to fit, they aren’t without their challenges.

Agile Methodologies: The Importance of Collaboration

Although Agile has become a widely popular amongst software development teams, newer teams may find themselves having a difficult time integrating UX into their Agile sprints. This difficulty is largely self-imposed by the software development teams, because don’t prioritize the collective ownership of all members through each software iteration.

Bringing The Team Together

In Agile methodologies, collective ownership is practiced through knowledge transfer – Scrum, informal meetings, and reviews. Whether your team has a dedicated UX professional or is multi-disciplinary becomes irrelevant if they aren’t involved throughout the entire development process, discussing progress and requirements with the software engineers. This is especially important in Agile where a key principle is “working software over comprehensive documentation”2, which uses “short stories” to determine requirement progress instead of a backlog. To align design with the build, there needs to be a comprehensive understanding of both – the software engineer’s blueprint and the UX expectations.

The majority of conflict between less experienced software development teams and the application of UX designs stems from a lack of understanding in the role that UX designs have. In software development, the system requirements act as the formal guide for the build. However, the system requirements only describe the functional aspects of how the features are meant to work. Clarifying the importance of creating software that not only functions well, but is attractive to users will help onboard the software development team into thinking about design.

Integrating User Experience Design into Agile Methodologies

While fostering better communication about UX design through sprints may seem like a simple solution, the most benefit will only be seen if UX design has actionable ownership in the software development. To help integrate UX design into Agile, we’ve highlighted key opportunities of co-responsibility:

Shaping User Experience Design into an Iterative-Agile Approach

1. UX designers should perform the fundamental parts of their research during iteration 0 (otherwise known as sprint zero), where engineers do the majority of their research, prioritize features and stories. Work alongside the software development to ensure you have designs for what it is they are working on.

2. UX designers should regularly meet with the project leader(s) to communicate their translations of the system requirements. Ultimately it is the project lead who be making the final decisions. Involving them in the design process will help direct expectations.

3. UX designs should be done in small chunks, focusing on the user’s tasks of components being built by the software engineers. This better allocates your time by building a foundation for iterations in parallel with the engineers.

Software Engineers Must Involve User Experience Design Throughout Development

1. Software engineers must understand the limitations of the system requirements. Engineers should not only know how a feature should work, but how the feature should interact with the user.

2. It is imperative that UX design is involved throughout the entire software development lifecycle. This includes testing to ensure that key interactions are occurring between the software and users.

Although UX design and Agile have different focuses, both seek to create the most value for the end-user. Software development team will benefit from discussions about user expectations, collaborating and refining key features that bring the most value to their work. The best approach to integrating UX design into Agile is to prioritize the collective ownership of all talents, keeping everyone on board through sprints and new iterations for effective collaboration.

Tiempo Development offers clients over 10-years of experience in nearshore software development using Agile methodologies. Our engineers are highly experienced in their practice, building creative solutions for clients of all industries. For more information about Tiempo Development’s experience in software development, read our case-studies on our most recent clientele.

1. Christina G. “History of UX Design”. The Wunderland Group. http://blog.wunderlandgroup.com/history-of-ux-design

2. Ward C. “Manifesto for Agile Software Development”. Agile Manifesto. http://www.agilemanifesto.org/