540 likes | 685 Views
Workplace studies with software teams. Integrating Agile development with User Experience design Jennifer Ferreira jen.ferreira@ucalgary.ca Helen Sharp, Hugh Robinson. Outline. Integrating Agile development with UX design. Outline. Integrating Agile development with UX design
E N D
Workplace studies with software teams Integrating Agile development with User Experience design Jennifer Ferreira jen.ferreira@ucalgary.ca Helen Sharp, Hugh Robinson
Outline • Integrating Agile development with UX design
Outline • Integrating Agile development with UX design • Problem?
Outline • Integrating Agile development with UX design • Problem? • Workplace studies
Outline • Integrating Agile development with UX design • Problem? • Workplace studies • Achieving integration
Outline • Integrating Agile development with UX design • Problem? • Workplace studies • Achieving integration • Implications
Intro Agile development + UX design
Agile development XP Scrum FDD ASD
*Design • interaction design [Patton 2002a] • usage centered design [Patton 2002b] • discount usability engineering [Kane 2003] • rapid contextual design [Beyer et al. 2004] • user experience design [Hodgetts 2005] • user centered design [Miller 2005] • scenario-based design [Lee and McCrickard 2007] • goal-directed design [Cho 2009]
User Experience (UX) Design • ISO CD 9241-210 • “all aspects of the user’s experience when interacting with the product, service, environment or facility.”
User Experience (UX) Design indicative of the collection of methods, tools, techniques, etc. for involving and maintaining focus on the end user in software development • - understand users • - design • - evaluate
User Experience (UX) Design WORK indicative of the collection of methods, tools, techniques, etc. for involving and maintaining focus on the end user in software development • - understand users • - design • - evaluate
Combination Agile development + UX design
Debates • The place of UX design in Agile development • When what happens
Debates • The place of UX design in Agile development • When what happens • - Up front • - In the Agile iterations
Debates • The place of UX design in Agile development • When what happens • - Up front BDUF • - In the Agile iterations
Debates • The place of UX design in Agile development • When what happens • - Up front BDUF • - In the Agile iterations BAD
Debates • The place of UX design in Agile development • When what happens • - Up front BDUF • - In the Agile iterations too short BAD
Debates • The place of UX design in Agile development • When what happens • - Up front BDUF • - In the Agile iterations too short BAD BAD
Simplistic view comparisons of values and principles process e.g. both Agile and UX are iterative and both focus on the customer/end user
Simplistic view “The two-track organization is what we aimed for, although in reality it was a little more complex. Some designs needed longer than a single cycle to complete. For example, one particularly troublesome feature took us over 5 cycles before the design passed all of its goals.” Lynn Miller, "Case Study of Customer Input For a Successful Product," Agile Development Conference, pp. 225-234, Agile Development Conference (ADC'05), 2005.
Workplace studies PhD thesis
How are Agile development and UX design combined? • How is integration accomplished on a day-to-day basis? • Singer et al. “… little is known about how software engineers perform their work. In order to improve software engineering tools and practice, it is therefore essential to conduct field studies, i.e., to study real practitioners as they solve real problems.” • Janice Singer, Susan E. Sim, and Timothy C. Lethbridge (2008) Software Engineering Data Collection for Field Studies. Guide to Advanced Empirical Software Engineering. Forrest Shull, Janice Singer, Dag I.K. Sjøberg Editors. Pages 9—34, ISBN-13: 978-1-84800-043-8.
How are Agile development and UX design combined? • How is integration accomplished on a day-to-day basis? • Only 4 of 23 empirical studies included observations of practice in work settings
How are Agile development and UX design combined? • How is integration accomplished on a day-to-day basis? • Only 4 of 23 empirical studies included observations of practice in work settings • Study practitioners in the workplace
Same same but different • all three organisations • successful at delivering software • highly valued UX design • used Scrum different experiences of practice
Same same but different • all three organisations • successful at delivering software • highly valued UX design • used Scrum different experiences of practice • the best way to create software
How are Agile development and UX design combined? • Integration • On-going – negotiated, day-to-day, individuals • Achieved – variety of conditions: • Developers and designers were kept apart • Developers and designers were working closely together • Developer designers were trialling working closely together
Integration as… • Expectations about acceptable behaviour • Mutual awareness • Negotiating progress • Engaging with each other
Integration as… • Expectations about acceptable behaviour • Mutual awareness • Negotiating progress • Engaging with each other
Expectations about acceptable behaviour • expectations about how the other group behaves • what developers expect • -- due to Scrum commitments • what UX designers expect • -- due to UX design commitments
Expectations about acceptable behaviour “Could we have a meeting to give you some feedback?” “What kind of feedback do you want to give?” designers: expected to hand over designs and move onto the next project developers: expected to provide feedback as issues arose developers: expected designers to provide timely redesigns designers: not expecting on-going conversations Apart
Expectations about acceptable behaviour “Which would be easier to implement?” “Either would be fine.” designers: expected developer to answer their questions developer: expected that the designers would have questions designers: expected that the developercould answer their questions designers: expected developer to have useful input Together
Integration as… • Expectations about acceptable behaviour • Mutual awareness • Negotiating progress • Engaging with each other
Mutual awareness • UX designers being aware of what constitutes work for Agile developers • Agile developers being aware of what constitutes work for UX designers • levels vary between the teams
Mutual awareness “Are the designs ready?” “We're moving desks today.” Agile developers and UX designers seated on different floors rigid role boundaries Agile developers and UX designers on separate teams tense Apart
Mutual awareness fluid role boundaries bonded team on-going conversations relaxed Together
Integration as… • Expectations about acceptable behaviour • Mutual awareness • Negotiating progress • Engaging with each other
Negotiating progress • Maintaining workflow under uncertainty • client expectations? (market, dependencies on other projects) • requirements • decision-makers are not always available • teams make progress in spite of this – they HAVE to
Negotiating progress “Could we have a meeting to give you some feedback?” “What kind of feedback do you want to give?” reluctant phased formal a set of activities constrained Apart
Negotiating progress “What do you remember from the client meeting?” “I think they wanted more pop.” on-the-fly informal agreed together Together
Integration as… • Expectations about acceptable behaviour • Mutual awareness • Negotiating progress • Engaging with each other
Engaging with each other • developers and designers do 2 types of work: • own • together • input • decision-making • expertise switch
Engaging with each other “Could we have a meeting to give you some feedback?” “What kind of feedback do you want to give?” explicit require design expertise to proceed designers leading, developers releasing software developers approaching designers Apart
Engaging with each other “What do you remember from the client meeting?” “I think they wanted more pop.” implicit status updates solution is negotiated clarifications Together
Achieving integration • Systematic, separatist approach • walking around, finding • meetings, logistics • communicating via documents, up to date “Are the designs ready?” “We're moving desks today.” Apart
Achieving integration • Subtle, on-going effort • shared awareness of design values and technical constraints • shared decision-making Together
Findings • Not just about process • Teams are not isolated • Not just about seating the developers with designers (i.e. colocation) • Integration is shaped by organisational and team-level factors • views on how best to create software