After our thoughts on having a great concept model from the last blog post of this series, I want to focus on agile user experience design. Agile was not conceived having the user experience or design in mind, but the changing nature of web and app development has led to a shift in the way of thinking that has forced these disciplines together. A lot has been talked about Agile UX so far. I joined a UX team about a year ago, at that time, we were just slightly integrated into the development cycle. I can say that both worlds have a lot in common: UX Design is not about making art, it is more than just a few UI sketches lying on top of each other.
UX design is designing experiences through visualization and, therefore, developing appropriate forms and optimize them having an adequate visual design taking into account schedules and processes – underlining an understanding of the product through a clear product vision statement, the flow of information and the user’s job to be done. Agile, on the other hand, is fast, transparent and cost effective; it has rituals like daily stand-ups, iteration planning and retrospectives, as well as four core values, such as individuals and interactions over processes and tools, working software over comprehensive documentation, customer collaboration over contract negotiation and responding to change over following a plan.
So, what is UX design in an agile world?
Agile UX Design is an attempt to integrate user experience design and software development methodology, inspired by the Agile Manifesto. Well, working as a designer and front-end web developer, an iterative and user centric approach for designing rich user experiences in a dynamic environment is not really something new. With more digital information and different forms of informational output, the resulting interactions with that information force an iterative and user-centric approach, envisioning solutions holistically where UX design teams and developer teams should plan, work and talk together; therefore, for me, in application building, everything is design and everything is development. So what’s the story?
Focus: No more upfront design considering the entire UX worked out, but a clear project vision with opportunities to update, improve and resolve the UX through iterations and conversations! For me, project vision and defined requirements work like formal guidelines to prove that an approach is valid or not, validate its potential and iterate from there – this not only reduces workload and costs, but also works as a benchmark for your user research to finally meet customer needs. In projects, I always look after clear UX goals for each sprint and to include UX criteria in the definition of done. I also use tools like Jira for tracking design work and doing estimations. Reports and charts help me to evaluate the need for additional headcount and better estimations.
Collaboration & integration: No more upfront design means that your UI concepts and PSD files are not the end of the project. Designers are not the only ones designing; this is where collaboration comes into place – consider to get your users, customers and developers involved early and often, particularly in iterations. So, team up! Include your developers in your UX practices, processes and thinking to evaluate usability and functionality issues, to demystify work approaches, to increase transparency and a to ensure a better contribution of everyone to the design.
Constant feedback and iterations: Agile is iterative, but, in my opinion, both disciplines share this aspect very well. I realized that design decisions should further be incorporated in an early stage of conception to give conceptual thinking direction, inspiration and to later associate user stories with specific personas. You shouldn’t separate creative thinking and visualization from other areas. Agile UX design is an iterative and therefore collaborative process, fundamentally seen as a dialog among designers, developers and your stakeholders to ensure a proper exchange of approaches – resulting in collected learning, increased creativity thus decreasing costs, as well as lack of performance and ideas. For me, asking the dev team’s opinion on the design results in mostly great insights, especially around technological limitations and effort estimates.
Thoughts & Recommendations
Considering UX strategy and conception, my approach includes both worlds: An UX strategy process based on understanding the jobs users are trying to get done for defining requirements, personas and overall concept development outside the sprint framework to create a backlog and then later paring up with developers and project owners doing detailed design tasks embracing agile rituals. Agile needs help particularly in defining design requirements and concept development; this is not an easy task, but for developing a sound concept, you should have an idea of what kind of user behavior impacts which factors of the user experience. Agile is a great way to execute on this solid design research and concept development, but putting agile UX design alone into this field brings up serious considerations next to the benefits mentioned above:
Lack of research: Advocate for your users! Agile is fast – where companies and organizations forget about user research and forming a fast architecture and structure for the overall application which might lead to
Impulsive design decisions for building the wrong application faster: Great applications are defined by their user experience which spans multiple features. But keeping up in time with the development team within the same iteration can lead to shortsighted design decisions and features implementation leaving conceptual exploration, usability issues and user testing behind which might result in a poor user experience, flaw products or services and, often, in belated iterations to arrive at an appropriate solution. This can put your overall company’s products and, therefore, reputation at risk. Putting user experience design into place means integrating design at the beginning of each project while working alongside the project team and developers for the rest of the sprints. Have your daily stand-ups for about 15 minutes, in which you will discuss past work, efforts and everything that has been blocking the project’s progress and to bond, teach and learn from each other.
For me, designing rich user experiences that keep users engaged and productive is based on a solid conceptual exploration. Uncover functional and related jobs your users are trying to get done and what features you should consider to incorporate to address those jobs with a coherent design and consistency across the application. This is(!) an iterative process (and agile deals best with it) which involves talking to users, giving them a fair hearing through visiting them in their environments to create user models and personas and it, well, takes time. But don’t get me wrong, to me, it is a wrong approach to build the entire experience in front and to never touch it again. Understanding this aspect as a way to better meet customer needs will give you opportunities to update, work again restrictions, improve and resolve the UX.
Working ahead of the development team is mostly needed to have enough time to do research & conception and to not waste your organization’s time and resources. Believe me – you’ll need that time for a solid UX conception and to pre-visualize UX patterns in your head. But don’ t stick with that. As the word conception says: take your time out to think and pitch your approaches, to ensure you’re on the right track and to focus on design centric issues again and again for not creating interfaces that look and feel poor and that don’t align with the goals and needs of your users. Consider sufficient time being allocated for UX design when working to stay ahead of development and practices that have been used elsewhere like design spikes where you should focus primarily on design questions.
There have been a lot of words on how to practice agile but I focus more on its intent rather than the specific way it’s practiced:
1. Don’t build products without at least some up-front planning.
2. Advocate for your users and their jobs to be done. Do research, faster!
3. Fill your backlog: Design strategy decisions before development and not within the sprint framework. Head for target outcomes shared with all teams then start sprinting.
4. Get into more frequent and interactive contact with your teammates.
5. Work hard, enjoy life.