UX Magazine logoThe Magazine of the Usability Professionals' Association

Agile Teams: Best Practices for Agile Development

By By Cindy Lu, Thyra Rauch, and Lynn Miller

Based on the belief that a final product evolves through quick and multiple iterations (“sprints”), diverse organizations are increasingly applying Agile development to small and large projects. The content of each short iteration is not decided until a planning meeting held just before the iteration starts. At that time, new requirements can be added and requirements can be swapped out for others with higher priority. This approach enables teams to respond quickly to customers by adjusting the content through incremental, collaborative, and iterative work.

With Agile, there are unique opportunities (such as more collaboration) and unique challenges (such as short cycle time). How the Agile team reacts to the opportunities and challenges will affect how the team works together in a positive or negative way, which impacts product delivery. Similarly, the UX professional working on an Agile team also needs to “get Agile,” or practice Agile UX.

A workshop at UPA 2009 continued previous discussions at both UPA and CHI on Agile and user-centered design. Workshop participants exchanged best practices, success factors, challenges, and solutions. They ultimately arrived at benefits of Agile for user experience professionals.

Best Practices
Best practices include the following:

Fig. 1

Success Factors
Success factors include the following:

Defining a clear user experience vision and design goal is critical for the design to be successful. How do you expect end users to use the product in the next five years? How does the product fit into end user’s life? The UX vision and product vision need to be aligned. Design principles are defined based on UX vision and can guide the team to create and evaluate designs. This is an area where the UX professional can take a leading role.

A positive relationship among team members before the Agile process starts contributes to the team success. Agile cannot fix a dysfunctional development team. Furthermore, the UCD/UX professionals have the responsibility to help the team understand how user research, design, and testing can contribute to the product success. For the UX team in particular, understanding how many of the discount UX methods can easily be adapted to the process is important. Realistically, you won’t have six months to do user research up front—it likely will have changed by then, and the release probably will be out the door before you finish. However, you can and should do user research and evaluations early and often.

One of the things that made a significant positive difference for many of the teams was training in the Agile process and the ongoing presence of an Agile coach or mentor. Agile is a new way of working for many folks that does not come easily or naturally. An Agile coach is someone who might conduct the initial Agile training or who might act as a ScrumMaster during the sprints. Their responsibility is to ramp up the team so they can really practice Agile in the shortest time possible. Having the entire team on the same page in terms of the processes, language, and expectations will make this much easier. Having the Agile coach part of the team or on call in an ongoing manner will help the team get out of any ruts that may occur. Having a strong Agile champion on the team (for example, a senior developer) can also help move the team forward.

The team will gel when the roles and responsibilities are clearly defined, collaboration methods are well understood, and team members open their mind to change how they used to work before.

Fig 2

Challenges
The waterfall method (a sequential, linear development process) has deep roots in most organizations and has been practiced for many years. One of the biggest downsides of the waterfall method is that it makes changes in requirements difficult if not impossible. Agile, on the other hand, makes it easy to incorporate changing requirements at each new sprint. But Agile is still relatively new, and it requires time for organizations to understand it and make it work. Teams also need time to gel. Based on the experience of workshop participants, it takes six to twelve months for the process to work. However, once teams make the process work, nobody is willing to go back to the waterfall method.

When Agile is not officially adopted by the organization, there may be no executive support. This can lead to only partial adoption of Agile. For example, the developers are Agile where quality assurance is not. This makes it particularly challenging for these teams to succeed since the Agile process requires that all participants buy into the concept. Fixed dates and feature lists mixed into the Agile process will cancel the benefits that Agile offers.

Some organizations do not fully implement the Agile process. Symptoms here include no daily meetings, no cycle planning, no changes allowed, long cycles, features are not done at the end of cycle, and others. Another challenge is a by-the-book strict Agile process without considering the organization’s specific needs. For example, in complex domains such as the financial industry, more detailed documentation is necessary to help the team understand terminologies and functions needed to support user stories. Oversimplifying the requirements may result in functions that deviate from requirements derived from user stories.

Applying the Agile method to new system versus legacy system development has different challenges. When working on legacy systems, there are many interconnected systems and history that cannot be changed easily. The Agile team may not have the influence on other teams that support systems closely connected to the system being changed.

To UCD and UX professionals, the biggest challenges are when to conduct user research, how to make user research Agile, and to have enough time to do quality design. If the product team thinks that Agile is about speed, they sometimes complain that “usability slows us down.”

Sample Solutions
Based on the above challenges collected from the group, workshop participants brainstormed successful solutions. Here are a few examples:

1.Virtual Team Room with Online Cards
Challenge: Distributed resources (multiple team members, multiple projects, multiple geographies)
Solution: Set up a virtual team room with online cards representing stories in the backlog. This online backlog helps story prioritization and sprint planning. All the story metadata are also tracked in this log. The reality is that distributed teams may have to work harder to communicate and the collaboration may have to be a bit more formal and documented.

2.Warm Handoffs
Challenge: Not enough time to write UI specifications. Implementation may deviate from the designs.
Solution: When handing off the design to development, don’t just hand over the document. Instead, post the document where the team can access it, and have a meeting to discuss it with the team, keeping the communication channel open at all times. It’s important to help developers understand the designs and support them. Staying in touch allows you to detect any possible design drift during implementation and to supplement the information, such as error message designs, during development. Some UX professionals walk around regularly to see how things are being implemented.

3.The “Little Things” Card
Challenge: Design flaws and desired improvements are noticed during implementation but there is no time to fix them during the sprint. Or, they are so little that they are not really considered a feature.
Solution: Don’t panic if there is an inconsistency when the product is released. Record the problems and desired improvements on the “Little Things” cards, also called UI change log, UI debt, or even UI placeholder. Create a new feature (that combines all these little items) in the next sprint to address these issues.

Fig. 3

How UCD Contributes to Agile Success
The UX team can play a huge role in making an Agile project a successful one. One of the items of the Agile Manifesto (see sidebar) is to deliver a product that will satisfy the customer. UX professionals have a lot of experience to contribute in this area.

Fig. 4

What UX Gains from Agile
While all of this may seem a bit daunting, there are some real benefits that a UX professional gains from working on an Agile team.

Fig. 5

Final Summary and Parting Words
Before you go running out excited to get started with Agile UX, remember, none of this comes quickly. In general, the teams represented say it takes around six to twelve months for the teams and the processes used to gel and be comfortable and productive. The good news here is that once you have had this positive experience, no one wants to go back to their previous methods. The other good news is that you don’t have to do it alone—there are many of us out here working to build an Agile UX community who are happy to share both the good and the bad.UX

Cindy Lu leads a user experience team to support various iNautix USA products and services in the financial services industry. In 2007, a product team adopted the Agile process. Cindy has more than fifteen years of experience applying human factors in product designs and conducting user research in various industries such as financial, telecommunications, pharmaceutical, education, and consumer products. Cindy received her Ph.D. and MS from Louisiana State University in Engineering Science with concentration on Human Factors.

Thyra Rauch has worked at IBM for twenty-three years and currently works on enterprise search technologies and analytics. Over the past two years, she had been working on Agile teams, and has had both successes, and “learning experiences.” Thyra has been an active member of UPA since 1992, serving the organization in a variety of positions. She has a Ph.D. in experimental psychology from NCSU.

Lynn Miller is the leader of the user experience team at Autodesk where she oversees a group of interaction and graphic designers who create innovative interfaces for complex 3D graphics applications. A UX practitioner for more than fifteen years, she is responsible for founding the team and bringing User Centered Design into the company. She has been a strong proponent of Agile development since being introduced to it in 2002, and has been successful at modifying interaction design to work seamlessly with it.

UPA logo
Usability Professionals' Association

promoting usability concepts and techniques worldwide

User Experience Magazine is by and about usability professionals, featuring significant and unique articles dealing with the broad field of usability and the user experience.
http://www.usabilityprofessionals.org/upa_publications/user_experience/

This article was originally printed in User Experience Magazine, Volume 9, Issue 1, 2010.
http://www.usabilityprofessionals.org/upa_publications/past_issues/2010-1.html.

© Usability Professionals' Association
Contact UPA at http://www.usabilityprofessionals.org/about_upa/contact_upa.html