Agile Software DevelopmentAgile UX Work
Kati KuusinenResearcher @ TUT / Pervasive / IHTE
Contents
1. Introduction / Motivation2. Agile software development3. User experience work as integral part of SW
development4. How is it done in practice – experiences
from numerous development projects
21-March-2013Katu guest lecture – Kati Kuusinen – Spring 2013 2
What does AGILE mean in softwaredevelopment?
How can you produce good UserExperience in an Agile software project?
21-March-2013Katu guest lecture – Kati Kuusinen – Spring 2013 3
Waterfall Development
• Sequential• Phase ready and
correct when movingto next one
• Big design upfront:basically everythingdesigned beforeimplemented
21-March-2013Katu guest lecture – Kati Kuusinen – Spring 2013 4
Requirements
Design
Implementation
Verification
Maintenance
Agile Methods
• Born in 1990’s when noticed that in somecases, waterfall is not an ideal model– You cannot get everything right beforehand– More lightweight methods were needed– Waterfall is still a good model for e.g. in
industries where iterative work is costly
21-March-2013Katu guest lecture – Kati Kuusinen – Spring 2013 5
Agile Manifesto
21-March-2013Katu guest lecture – Kati Kuusinen – Spring 2013 6
Individuals andinteractions
Working software
Customercollaboration
Responding to change
Processes and tools
Comprehensivedocumentation
Contract negotiation
Following a plan
over
over
over
over
while there is value in the items on the right, we value the items on the left more.
…we have come to value:
Agile Methods
TRUE:IterativeIncrementalCooperativeShort feedback cycles
21-March-2013Katu guest lecture – Kati Kuusinen – Spring 2013 7
FALSE:No planningJust codingNo rulesNo documentation
Lean Development
Maximize the ability to create customer value,work less
21-March-2013Katu guest lecture – Kati Kuusinen – Spring 2013 9
Seven principles:1. Eliminate waste2. Amplify learning3. Decide as late as possible4. Deliver as fast as possible5. Empower the team6. Build integrity in7. See the whole
Kanban
21-March-2013Katu guest lecture – Kati Kuusinen – Spring 2013 10
Agileproductdesign.com
• Visualize• Limit WIP• Manage Flow• Make policies
expedit• Implement
feedback loops• Improve
collaboratively,evolveexperimentally
Contents
1. Introduction / Motivation2. Agile software development3. User experience work as integral part of
SW development4. How is it done in practice – experiences
from numerous development projects
21-March-2013Katu guest lecture – Kati Kuusinen – Spring 2013 11
In Some Companies You StillMight Need to Justify UX work(usually not in sw industry)Just some thoughts . . .• Even an engineer does not want to use crappy products
and services – why would anyone else?• UX is spreading out:
– Consumer -> business -> engineering tools
• If you don’t invest in UX, your competitors will for sure• Costs of losing customers vs. getting revenue by
increased (add-on) sales• Reputation and brand image, what is ROI for them? (ROI
= return on investment, a commonly used business performance factor)
21-March-2013Katu guest lecture – Kati Kuusinen – Spring 2013 12
21-March-2013Katu guest lecture – Kati Kuusinen – Spring 2013 13
Source: Innes 2011Why enterprises cannot innovate:helping companies learn design thinking
Agile User ExperienceDevelopment in General• Agile UX is user experience work that is conducted in accordance
with Agile (and Lean) principles and methods, thus integrating (ormerging) UX work and human-centered design practices with Agile(and Lean) development practices
• The goal is to adapt an efficient way of working that constantly leadsto desired user experience of the outcome– The desired level of outcome quality and project effort naturally varies
• Business, user, and technical requirements should be in line andsupport each other
21-March-2013Katu guest lecture – Kati Kuusinen – Spring 2013 14
Agile User ExperienceDevelopment in General• UX work aims to Lean development; less unneeded features, less
expensive correcting work• Leads to cumulative savings in time, in maintenance costs, in
development costs, training and manual costs• Leads to better usability, efficiency, effectiveness and satisfaction• Leads to better reputation, increased customer loyalty• Systematizing UX work is not a cost, it is an investment• Less repeated work by templates, guidelines, heuristics, metrics…• Systematic and early work decreases development and
maintenance costs (rework, refactoring, maintaining unneededfeatures etc.)
• Systematic and early UX work increases product quality
21-March-2013Katu guest lecture – Kati Kuusinen – Spring 2013 15
UX Work
• Is iterative• Emphasizes early phases• Is cooperative• Quality over quantity• Aims at lean process & outcome• less wasteful features, less expensive
wasteful work• Aims at happy people :)
21-March-2013Katu guest lecture – Kati Kuusinen – Spring 2013 16
Common Agile UX Practices
• Little/Some Design Up Front, LDUF (inherently an agile practice)• Close collaboration• Prototyping (particularly lowFi)
– at early phases, also as a communication tool• User stories• User testing• Inspection evaluation / usability inspection• Refining the UI for the next iteration• UX one or two sprints ahead of development• Big picture of the project needs to be maintained• Scenarios & Personas are commonly in use
21-March-2013Katu guest lecture – Kati Kuusinen – Spring 2013 17
A Commonly RecommendedAgile UX Model
21-March-2013Katu guest lecture – Kati Kuusinen – Spring 2013 18
D. Sy 2007
Recommended Practices
• Cooperation is a key issue• ”All together from early on” (J. Coplien)
• UX, architects, developers, customers, business…
• Emphasizing early work, it is affordable• Parallel design with short feedback cycles
• Best way to have a good idea is to have lots of ideas, don’t fixwith one idea too early
• UX team should be agile too, e.g. UX sprints• However, some upfront design is needed• Good UX comes from the process and cooperation. UX team
should lead the UX work, not serve development on order-basis• Keeping the big picture in mind is essential
21-March-2013Katu guest lecture – Kati Kuusinen – Spring 2013 19
General Advice
• Heavier studies conducted outside project work• Generalize & reuse
• Define & understand ’good user experience’• Easy to use, fun, efficient, aesthetic, convincing, reliable…
• Fail and learn quickly, waste cheap time• Cooperate! Business, UX, architects, developers…
• Early and continuous feedback• From users, developers, customers, other stakeholders
• Many methods and ways of working may lead toexcellent outcome, no one single right way exists
21-March-2013Katu guest lecture – Kati Kuusinen – Spring 2013 20
Contents
1. Introduction / Motivation2. Agile software development3. User experience work as integral part of SW
development4. How is it done in practice – experiences
from numerous development projects
21-March-2013Katu guest lecture – Kati Kuusinen – Spring 2013 21
Some Tasks UX Specialistscommonly Participate• Design: determining HOW the system should work
– not what it should look like (graphical design)
• Sales, budgeting / pricing• Feasibility studies, roadmap planning• Design upfront (planning, doing user studies and design work before
implementation is started)• Backlog and feature creation, clarifying user requirements• Planning, conducting and analyzing user studies and tests• Designing the user interaction or user flow (the core of UX designer’s work)
• Doing graphic design for the user interface• Implementing the user interface• Reviewing user interface designs or implementation
21-March-2013Katu guest lecture – Kati Kuusinen – Spring 2013 22
UX Specialist Titles
• UX / UI / interaction designer, designer• Graphic / visual / industrial designer• Service designer• UX consult, UI support, User researcher• UX manager, UX lead• UX engineer• UI developer• UX architect• UX specialist, Usability specialist
21-March-2013Katu guest lecture – Kati Kuusinen – Spring 2013 23
Varying Habits of UX WorkManagement in Companies• UX included already during sales / just after architect
has made UI design / when we have major problems
• UX is customers’ concern, it is up to them if they want toget UX work, it is an additional cost for them / Wealways take care of UX, customer requirements areanother thing
• It is not in our process, everyone can decide whether tothink about the user. I always try to. / UX work isincluded in our processes, we involve UX from earlyon
21-March-2013Katu guest lecture – Kati Kuusinen – Spring 2013 24
Communicating UX Design forDevelopment• High fidelity or photorealistic images of UI screens (such as PhotoShop)
• Wireframe images with explanation texts (interaction and navigationpresented with e.g. text and arrows)
• References to style guides (guidance for selecting UI components and styles)
• Paper prototypes (physical low-fidelity models. E.g. cardboard, post-it)
• Low-fidelity software prototypes (sketches of screens, mockups, storyboards.E.g. Balsamiq)
• Mid-fidelity software prototypes (fairly detailed but simple and approximatemodel with simulated functionality. E.g. PowerPoint, MS Visio, Axure RP, Omnigraffle)
• High-fidelity software prototypes (detailed graphics with some actualfunctionality (often simulated back-end), such as AppSketcher, FluidUI, Adobe FlashCatalyst)
• Working software, source code (such as HTML and CSS)
21-March-2013Katu guest lecture – Kati Kuusinen – Spring 2013 25
• The results section is removed from publicslides
21-March-2013Katu guest lecture – Kati Kuusinen – Spring 2013 26
Summary
• UX work should be included in softwaredevelopment practices
• Some design upfront (DUF) is usually needed– Studying and concepting before starting development
• UX, business, and technical goals should bealigned
• Agile principles should be applied on UX workalso: short feedback cycles (iterations), constantcommunication, limited DUF etc.
21-March-2013Katu guest lecture – Kati Kuusinen – Spring 2013 27