The following experts have contributed answers to this edition of Ask UXmatters:
- Leo Frishberg—Principal Architect, User Experience at Tektronix Inc.
- Pabini Gabriel-Petit—Publisher and Editor in Chief, UXmatters; Principal User Experience Architect at BMC Software; Founding Director of Interaction Design Association (IxDA); UXmatters columnist
- Peter Hornsby—Senior Information Architect at Friends Provident; UXmatters columnist
- Mike Hughes—User Assistance Architect at IBM Internet Security Systems; UXmatters columnist
- Shanshan Ma—Senior Analyst, User Experience at BusinessOnLine; UXmatters columnist
- Catalina Naranjo-Bock—User Experience Consultant; UXmatters columnist
- Robert Reimann—Lead Interaction Designer at Sonos, Inc.; Past-President, Interaction Design Association (IxDA)
- Jim Ross—Principal of Design Research at Electronic Ink; UXmatters columnist
- Yury Vetrov—Head of User Experience at Mail.Ru
Q: I want to know to what extent User Experience is integrated with software development in practice. Does the job of the UX professional usually terminate once the design process is complete, or is the designer involved in some part of the development process? How can a UX designer have a greater impact on development?—From a UXmatters reader
“To achieve the best results, it’s absolutely essential that UX professionals be part of a product team throughout the software development process,” replies Pabini. “Great products come out of the synergy that the collaboration of multidisciplinary product teams engenders. I wrote about this in depth in my UXmatters article ‘Sharing Ownership of UX.’” UX professionals form a bridge between Product Management and Software Development through the collaboration we engender during ideation and the UX design specifications we provide, which ideally capture the wisdom and creativity of the entire product team.
- Discovery Phase—defining what a product will be through generative user research, user modeling, task analysis, and requirements definition
- Design—creating a product’s user interface through conceptual modeling, ideation, detailed design, and specification
- Development Support—iteratively refining a design and adding detail, throughout the development cycle
“As a UX professional, if you want your designs to get built, you need to be there when issues arise and scope changes during development,” advises Pabini. “Software development has a lot of moving parts. You may need to refine your design or add details to your specifications. You should provide error messages when developers discover additional error conditions that need handling—and developers should rely on you for that support. Keep your specifications up to date, so they represent the agreement that exists among all of the members of your product team about what’s going to get built. Quality Assurance should be able to write their test cases relying on your specifications as their reference document. If you’re a UX professional, your product team should see you as an indispensable member of the team throughout all phases of product development.”
“Ideally, UX professionals should be involved in the entire software development lifecycle,” answers Shanshan, “from foundational user research, to concept development and prototyping, then to interface design, on to iterative design and usability testing, and when a product is about to launch, usability testing—even after the product is on the market, for user experience evaluation. At different stages, the spirit of user experience manifests through people with different job titles such as user researcher, interface designer, interaction designer, visual designer, and usability engineer. Based on each UX professional’s specialty, they contribute to the project in their own way, working toward a good product.”
What Sometimes Happens in Practice
“If the UX professional’s job ends at the end of the design phase, something is wrong with the process,” responds Robert. “Unfortunately, this is more often than not what actually happens when UX design firms or consultants get hired for a project. The designers create the framework, but the client is unwilling or unable to—or unaware that they should—continue to pay for ongoing consulting services during development.
“The reason for making the extra investment is simple: no matter how diligent the designer or complete the design, there are always unanswered UX questions that arise, whether due to gaps in design deliverables or unforeseen technical limitations that require design workarounds. Leaving these design decisions to the implementation team can, in the worst case, lead to serious inconsistencies and usability problems in the final product.
“Most non-dysfunctional, in-house UX departments do work closely with developers throughout the development, quality assurance, and—when appropriate—manufacturing process to ensure adherence to the design and, when necessary, to make mid-course corrections or answer unanticipated questions.”
“In most cases—because of time, budget, technical constraints, or even lack of clarity in the UX documentation—some things get changed during product development,” says Catalina. “Therefore, it is the job of the UX professional to follow the development process all the way through to its completion to make sure the final product reflects the original design ideas. If there is a real need for modifications during the development process, the UX professional needs to revisit the initial design documentation and provide clear information about how to address needed modifications from the user experience point of view.”
“The answer to your question really depends on a whole stack of variables, including the experience of the people concerned, the size of the team and project, and how UX professionals provide their expertise in an organization,” replies Peter. “While, in theory, the stages of design and development can have a clear separation, in practice, the boundaries between the stages are often fuzzy.
“A UX designer with a greater understanding of software engineering knows to consider the developer in their design. Often, small changes to a design can provide significant benefits for the implementation. For example, supporting reuse of components can make development faster, freeing up software engineering resources to focus on more complex areas. On small teams, people often perform multiple roles, so the UX designer might get involved in other activities. On large projects with complex requirements, teams sometimes revisit issues, requiring the UX designer to make changes to a design after implementation. If the implementation has changed the design, this can be very frustrating.”
“Ideally, UX designers and researchers should remain involved in the development process to ensure that what’s finally developed matches the intended design,” recommends Jim. “No matter how thorough the design deliverables are, I’m often surprised to see the final product and wonder, How did they come up with that?
“If you leave a project before implementation, you’re not there to answer the developers’ questions, and they can only make their best assumptions about your intentions. Once a design is complete, things always seem to come up—whether technical issues, unforeseen business requirements, last-minute changes, or timeline crunches. Developers and business stakeholders may cut corners in the design to meet deadlines.”