Agile development is collaboration…
Being a newbie to User Experience Design (UX), I find myself working very hard to gain a greater understanding of software development and the needs of the development team. Now, of course, in more recent years I’ve also seen a significant focus on the application of agile development methodologies. In an effort to familiarize myself with Principles of Agile Development, I researched modern applications. My understanding is that the focus of these principles is on these attributes: collaboration, expedition, simplicity, adaptability, viability and sustainability; all of course in the name of exceeding the needs of the client. Seems like common sense doesn’t it? But guess what? It took a team of developers about 10 years ago to verbalize what we, as children of technology, should all be consciously doing as we continue to strive for excellence. As I aspire to mastery of User Experience Design and personal excellence, understanding these methodologies has become essential to my growth. In a very general way, these principles have very practical applications, but let’s examine how these can apply specifically to the practices and processes of the UX team member(s).
Ways to Apply Principles of Agile Development to UX
Direct Collaboration Throughout the Development Lifecycle
At its very root, agile development is collaboration. It would not be possible to do so much, so quickly and so efficiently without a collaborative team effort and constant open communication. Face-to-face communication and collaboration for overall and constant assessment is integral with the:
Client – to discover needs and gain insight, develop objectives mindful of end-users, get regular input on ideas, designs, etc.
Project management team – to review and understand requirements, stay focused on short-term goals (sprints), and remain in scope.
UX team members – to understand project needs, expectations, plans, optimal delegation and execution of sprint tasks delegate and quickly execute elements of the sprints.
Development team – to understand limitations and feasibility of UX proposals, and to plan and synchronize implementation of various portions of the sprints. Less time will be spent documenting, since rationale can be communicated directly to dev. According to UXer Austin Govella, this collaboration with dev also affords the opportunity to sync the current UX sprint to developments next planned sprint.
Frequent and Expeditious Delivery
Let’s face it: UX work can be very tedious and not so time friendly. Many of UX deliverables consist of some form of detailed documentation. A favored tool of UXers is the digital wireframe, meticulous in detail with tons of screens rendered to convey user stories and the minutest of interactions. Thus, our work can be quite contrary to agile processes, which are about maximizing communication in order to minimize unnecessary documentation and misplaced work efforts. Agile Coach and fellow UXer JC Grosjean puts heavy emphasis on choosing the most appropriate tools that are not just effective and allow for the quickest execution, but are also highly collaborative and great for communicating design elements. Tool selection will also aid in the development of milestone timetables.
Let me emphasize, as pointed out by Kathrin Peek, CURTIS Digital’s Lead UX and one of my mentors, this process of selecting tools is done once you have gone through the preceding process of uncovering who the user is and what their needs are. Below are a few options:
User flows – I am a believer and huge proponent of this step. It allows you to map the entire flow of your objectives, and clearly distinguish processes that may require high or low fidelity tools to further assist the UX design process.
Paper Prototypes – It’s the quickest way to communicate an idea. Prototypes can also be interactive depending on the software and methods chosen to prototype; i.e. sticky notes in conjunction with a whiteboard vs. Axure RP.
Whiteboard wireframes – An exercise that might be the most collaborative and adaptive tool in the agile UX design process.
Balsamiq sketches – This software allows for rapid low-fidelity digital sketching with an easily accessible library of common UI components.
Flexible, Easily Adaptable Work and Processes
This goes hand in hand with the tool selection to ensure expeditious delivery. The tools are paramount in determining the flexibility of your processes for development and work output. “Modular Web Design” is an interesting book from Nathan A. Harris about establishing a design system whereby there are foundational elements of designs and assets that can be reused, adapted and updated as needed. There is definitely something to be said about not always working from a blank canvas. Obviously UX work is not something that can be standardized similarly to McDonald’s processes, but there are ways to make our work consistent as well as reusable.
- Research – from the steps used to conduct the research, to who will conduct it and which tools are used.
- Diagrams – Adaptive Path’s Jesse James Garrett clearly outlined “a visual vocabulary” for the flow diagram process. Let this idea of having a “visual vocabulary” be the foundation to determine design standards.
- Documentation – Consistent language, formatting, and usage goes a long way. Establishing templates for ALL forms of documentation leaves little room for confusion.
- Wireframes & prototypes – Everybody has their own method for creation, their own patterns, and libraries to which they refer. However, pooling resources of the team and agreeing on the best standards, and thereby establishing and adopting a universal standard will create a harmonious synergy within the UX team as well as between UX and development.
Thoughtful UX Designing for Viability
The great thing about agile principles is that they are congruous. I say this because thoughtful design is far beyond artistic creativity and even design literacy. It is more about being knowledgeable in all areas relevant to the experience design. And for us, if you have truly worked collaboratively, then you have discovered from:
Your client – What they see the potential enhancements are, what they envision and if they can articulate this vision as well as what their expectations are of you to translate this vision. Stakeholder interviews hopefully will also unearth valuable information about their end-users.
Project management – what is expected from the UX Team,and the parameters to help guide the project schedule and production.
Your UX team – their findings on who the user truly is and, their ideas on how best to cater to that user’s experience, and finally their design strengths and most effective ways to contribute to the team.
Development team – which UX ideas can be developed and which require potential alternatives and offer explanations for what, why and how ideas will be executed.
Simple to Understand = Simple to Use
Ultimately, the goal of UX is to enhance the end-users’ experiences of websites and software apps by:
- Clearly and intuitively guiding them to desired objective/goal.
- Making the paths to meet user objectives as quick as possible to navigate.
- Creating an enjoyable journey.
What if we used these goals as guiding principles for our work and processes as UXers in general? Imagine that our approach to collaboration with the team and cross-functional teams was simplicity; simple rationale, documentation, methods and processes.
Is Sustainable UX Possible?
What does sustainable even mean, right? Essentially, it is something that is built to last. Indubitably, there is a paradox in having the mindset of endurance, as obsolescence is an inevitable occurrence in fields related to technology. However, the hardest part of UX is the actual organization (architecting) of information to ensure its “findability .” This part of our work is what I believe can be relatively sustainable. Surely there will be needs to edit, add, modify, etc. But the most prevalent change are the methods and technology by which we design this path to finding the information, as they most certainly will evolve. Think of it this way: You can look at a map and see where something is in relation to everything else, but the methods that enable you to get there today, may be very different tomorrow. This notion isn’t concrete, but you get the idea.
Effortless Execution of Agile UX
No. Not really. Organizations are cutting back. Let’s be real. There are many UXers that are freelancers or consultants. Human resources are running low, so having a project manager may even be a luxury. Having such close, regular communication with the development team may not be realistic either, especially if they are outsourced. Language barriers can also come into play with a remote team. With collaboration of multiple teams being such a significant part of Agile Development, these common challenges already make application of its principle another a hurdle. How practical is frequent and regular delivery of portions of your work? It seems like such fragmental thinking. I imagine that for development, it may be easier since they can look at something in terms of code snippets. But, for User Experience Designers, we consider the whole picture; not just the technology, but the business and marketing aspects as well. Agile UX is definitely something to be mastered, but it has its place and time for appropriate usage.