Agile Software Development Agile UX Work. Kati Kuusinen TUT / Pervasive / IHTE

Similar documents
App Development. Mobile Media Innovation Module 6

Requirements and User-Centered Design in an Agile Context

Collaboration at Scale: Prioritizing a Backlog. 13-Dec-2017

Lecture 7: Software Processes. Refresher: Software Always Evolves

Testing in an Agile Environment Understanding Testing role and techniques in an Agile development environment. Just enough, just in time!

MELISSA CRADDOCK USER EXPERIENCE PRODUCT DESIGN LEAD

Chapter 12 INTERACTION DESIGN IN PRACTICE

CS3205 HCI IN SOFTWARE DEVELOPMENT PROTOTYPING STRATEGIES. Tom Horton. * Material from: Floryan (UVa) Klemmer (UCSD, was at Stanford)

Passionate designer with a love for solving design problems using feasible and creative solutions

Designing. Simon Wilson Interaction designer, DWP Digital

CS 350 COMPUTER/HUMAN INTERACTION

Software Quality in a Modern Development Team. Presented by Timothy Bauguess and Marty Lewis

The Case: Danske Bank

Story Refinement How to write and refine your stories so that your team can reach DONE by the end of your sprint!

Agile Accessibility. Presenters: Ensuring accessibility throughout the Agile development process

Testing Agile Projects Stuart Reid

Lecture 16. Will spend Thursday setting up group projects No exams. 10% added to in-class/homework. 10% added to final group project.

Topic 01. Software Engineering, Web Engineering, agile methodologies.

How Can a Tester Cope With the Fast Paced Iterative/Incremental Process?

Up and Running Software The Development Process

An Intro to Scrum. Agile (Iterative) Project Development. Written in 2001 Can be read in its entirety at:

Overview of the course. User-Centred Design. Group. Practical issue. Writting the report. Project work. Fang Chen

Best Practices for Collecting User Requirements

USERINTERFACE DESIGN & SIMULATION. Fjodor van Slooten

2 days. Certified UX & Usability Professional User Experience & Interaction Design with Lean UX & Agile UX

Testing in the Agile World

Software Engineering I (02161)

Get Good at DevOps: Feature Flag Deployments with ASP.NET, WebAPI, & JavaScript

Sukanya Sarkar. Visual Designer and User Experience Designer

Agile Project Management with Primavera

SM 3511 Interface Design. Institutionalizing interface design

DESIGN. (Chapter 04)

Mobile UX or WHITEPAPER

l e a n Lean Software Development software development Faster Better Cheaper

Vision, Roadmap, and Release Planning

The LUCID Design Framework (Logical User Centered Interaction Design)

Architecture and Design Evolution

Adopting Agile Practices

INTRODUCTION. 2. User-centred interface design.

SE420 - Software Quality Assurance

Software Development Process Models

Test Driven Development. René Barto SES Agile Development - Test Driven Development

Mendix Agile UX Integration

Testing. in A Large scale agile Development Environment

Requirement Engineering within an Agile Environment BY KEJI GIWA. Digital Bananas Technology

Business Analysis for Practitioners - Requirements Elicitation and Analysis (Domain 3)

The Power to Prototype

AALTO VENTURES PROGRAM

Prototyping. Unit 5. Zeno Menestrina, MSc Prof. Antonella De Angeli, PhD

Evolutionary Architecture and Design

UI/UX BASICS. What is UX?

What is a prototype?

Agile Software Development. Software Development Methodologies. Who am I? Waterfall. John York JOHN YORK EECS 441 FALL 2017 A BRIEF LOOK

Morgan Landis

Integrated Design & Development

Agile Software Development. Software Development Methodologies. Who am I? Waterfall. John York JOHN YORK EECS 441 WINTER 2018 A BRIEF LOOK

dt+ux Design Thinking for User Experience Design, Prototyping & Evaluation Autumn 2016 Prof. James A. Landay Stanford University

Saqib Mughal Senior UX Architect

Optimize tomorrow today.

CMSC434. Introduction to Human-Computer Interaction. Week 07 Lecture 12 Mar 8, 2016 Prototyping III. Jon

Exam Questions

Living With Agility

James Pownall. UX and UI Design. Mobile:

Design Iteration: From Evidence to Design. Slides originally by: Dick Henneman

Certified Software Quality Engineer Preparation On Demand, Web-Based Course Offered by The Westfall Team

Lecture Notes CPSC 491 (Fall 2018) Topics. Peer evals. UI Sketches. Homework. Quiz 4 next Tues. HW5 out. S. Bowers 1 of 11

Agile Manifesto & XP. Topics. Rapid software development. Agile methods. Chapter ) What is Agile trying to do?

To practice UCSD Usability Design

LESSONS LEARNED: BEING AGILE IN THE WATERFALL SANDBOX

Agile vs Fragile. Susmit Bhattacharya, Solution Architect, Asia Pacific. - The need for Automation in Agile Tricentis GmbH. All Rights Reserved.

interaction design Thanks to JoEllen Kames

Module 4 Designing, Planning & Estimating

Incorporating User Centered Requirement Engineering into Agile Software Development

User Experience. How to Thrive (Not Just Survive) in the Industry

Development Processes Agile Adaptive Planning. Stefan Sobek


A CONFUSED TESTER IN AGILE WORLD

Chapter 2 Web Development Overview

Kanban In a Nutshell. Bob Galen President & Principal Consultant RGCG, LLC

Agile Testing Course: 15 16/11

SWEN 444 Human Centered Requirements and Design Project Breakdown

The Kanban Applied Guide

Microsoft Office Fluent User Interface Design. Guidelines >>>CLICK HERE<<<

Inverting the Pyramid

CONFERENCE PROCEEDINGS QUALITY CONFERENCE. Conference Paper Excerpt from the 28TH ANNUAL SOFTWARE. October 18th 19th, 2010

SEGUE DISCOVERY PARTICIPATION IN DISCOVERY DISCOVERY DELIVERABLES. Discovery

Anirudha Joshi IDC, IIT Bombay

Shane Olivo. Selected UX Project Portfolio. Phone

THE SCRUM FRAMEWORK 1

UX Runway ensuring teams take off successfully. User Experience (UX) Owner: Natalie Warnert

Ready for Scrum? Steve Hutchison DISA T&E

Shift Left, Automation, and Other Smart Strategies for Getting Ahead in QA

SWEN 444 Human Centered Requirements and Design Project Breakdown

Value & Role of Business Analyst in Agile. Presented by: Jagruti Shah Associate Business Consultant Mastek Ltd

Prototyping. Oct 3, 2016

The Analysis and Proposed Modifications to ISO/IEC Software Engineering Software Quality Requirements and Evaluation Quality Requirements

Ingredients Nokia 2

02291: System Integration

This Thing Called Kanban

UX and Fresh Thinking

Transcription:

Agile Software Development Agile UX Work Kati Kuusinen Researcher @ TUT / Pervasive / IHTE kati.kuusinen@tut.fi

Contents 1. Introduction / Motivation 2. Agile software development 3. User experience work as integral part of SW development 4. How is it done in practice experiences from industrial development projects 2

What does AGILE mean in software development? How can you produce good User Experience in an Agile software project? 3

Can you make money with it? Will people want it? Can you deliver it? Product triangle edited from Cooper.com and Hyysalo, S. 2009 Technology Business UX What is desirable? 4

Will people want it? How do we know? Let s research it thoroughly and design it well Big design upfront I have an idea let s just implement it and see No design upfront Let s do some research and test it soon in practice we can always change it Some/little design upfront 5

Waterfall Development Sequential Phase ready and correct when moving to next one Big design upfront: basically everything designed before implemented Requirements Design Implementation Verification Maintenance 6

Agile Methods Born in 1990 s when noticed that in some cases, 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 7

Agile Manifesto we have come to value: Individuals and interactions Working software Customer collaboration over over over Processes and tools Comprehensive documentation Contract negotiation Responding to change over Following a plan while there is value in the items on the right, we value the items on the left more. 8

Agile Methods TRUE: üiterative üincremental ücooperative üshort feedback cycles FALSE: No planning Just coding No rules No documentation 9

Scrum Framework Four ceremonies Three artifacts 10

Scrum Team Members (adopted from Marie-Elise Kontro) Product Owner (PO) owns the product (backlog) Scope vs. schedule Scrum Master (ScM) owns the process Team servant Development Team Delivers product increments Cross-functional and self-organizing Other roles are stakeholders 11

Lean Development Maximize the ability to create customer value, work less Seven principles: 1. Eliminate waste 2. Amplify learning 3. Decide as late as possible 4. Deliver as fast as possible 5. Empower the team 6. Build integrity in 7. See the whole 12

Kanban Agileproductdesign.com Visualize Limit WIP Manage Flow Make policies explicit Implement feedback loops Improve collaboratively, evolve experimentally 13

Standard for HCD Vision Concept creation Evaluation Design & Development ISO 9241-210:2010 14

Contents 1. Introduction / Motivation 2. Agile software development 3. User experience work as integral part of SW development 4. How is it done in practice experiences from numerous development projects 15

Agile User Experience Development in General Agile UX is user experience work that is conducted in accordance with Agile (and Lean) principles and methods, thus integrating (or merging) 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 leads to 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 and support each other 16

Agile User Experience Development 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 unneeded features etc.) Systematic and early UX work increases product quality 17

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 :) 18

A Commonly Recommended Agile UX Model D. Sy 2007 19

U-Scrum Involving a UX-PO (Adapted from M. Singh 2008) Developers UX Designers Architects Scrum master Testers Backlog UX vision PO UX-PO Customer Stakeholders 20

Scrum Process with UX Tasks Daily Scrum Product backlog 24 h Retrospective Sprint backlog Pyrähdyksen Sprint suunnittelupalaveri planning meeting 1-2 weeks Sprint New functions that can be demonstrated Tasks generated from sprint backlog Sprint review Vision V, Evaluation E, Concept creation C, Design and Development D&D, and Shipping S Katu guest lecture Kati Kuusinen Spring 2014 21-March- 2014 21

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 22

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 fix with 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 23

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 to excellent outcome, no one single right way exists 24

Contents 1. Introduction / Motivation 2. Agile software development 3. User experience work as integral part of SW development 4. How is it done in practice experiences from numerous development projects 25

Some Tasks UX Specialists commonly 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 26

Communicating UX Design for Development High fidelity or photorealistic images of UI screens (such as PhotoShop) Wireframe images with explanation texts (interaction and navigation presented 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 approximate model with simulated functionality. E.g. PowerPoint, MS Visio, Axure RP, Omnigraffle) High-fidelity software prototypes (detailed graphics with some actual functionality (often simulated back-end), such as AppSketcher, FluidUI, Adobe Flash Catalyst) Working software, source code (such as HTML and CSS) 27

Research Example Multiple case study of three mobile development projects supervised by a single product owner in a company Reported in: Kuusinen, K., Mikkonen, T. Designing User Experience for Mobile Apps: Long-Term Product Owner Perspective. In Proc. of the 20th Asia-Pacific Software Engineering Conference 2013 (APSEC'13), pp. 535-540, IEEE Computer Society Order Number E5158, December 2013 28

Project team locations Katu guest lecture Kati Kuusinen Spring 2014 21-March- 2014 29

Setting in project 1 Developer Communication Developer Backlog PO Developer Developer UX-PO Developer UX on product level Early work Has power of decision Learning between PO and UX-PO PO able to do UX tasks UX able to do PO tasks High overhead costs Two POs coordinating a distributed team Whom to contact, PO or UX-PO Scrum Master 30

Setting in project 2 Android Developer WP Developer Visual Designer ios Developers Backlog PO Shared UX tasks User studies (PO) Visual design (UX) Platform style (Developer) Everyone can be a UX person Shared ownership Everybody participated to ideation Developers (WP and Android) had face-to-face communication with UX person Easy to get immediate answer UX vision should be quite clear when using this approach 31

Setting in project 3 Android Developer WP Developer ios Developer UX Designer Backlog PO Shared UX tasks UX vision, user studies (PO) Visual design and HTML style (UX) Platform style (Developer) Design task allocation between developer and UX designer UX designer role needs to be stronger in distributed project Ensuring UX implementation quality Higher cost of communication due to distribution of the team 32

Summary UX work should be included in software development practices Some design upfront (DUF) is usually needed Studying and concepting before starting development UX, business, and technical goals should be aligned Agile principles should be applied on UX work also: short feedback cycles (iterations), constant communication, limited DUF etc. 33