integrating agile software development and user-centered design

28
Prof. Cl. Müller-Birn, Human-Centered Computing, FU Berlin Workshop „Usability in Forschungsinfrastrukturen in den digitalen Geisteswissenschaften“ Berlin, September 22-23, 2014 neonion | Collaborative Semantic Annotation Integrating Agile Software Development with User-Centered Design

Upload: mueller-birn-claudia

Post on 05-Dec-2014

106 views

Category:

Software


0 download

DESCRIPTION

Workshop "Usability in Forschungsinfrastrukturen in den digitalen Geisteswissenschaften"

TRANSCRIPT

Page 1: Integrating agile software development and user-centered design

Prof. Cl. Müller-Birn, Human-Centered Computing, FU Berlin Workshop

„Usability in Forschungsinfrastrukturen in den digitalen Geisteswissenschaften“ Berlin, September 22-23, 2014

neonion | Collaborative Semantic Annotation Integrating Agile Software Development

with User-Centered Design

Page 2: Integrating agile software development and user-centered design

Prof. Cl. Müller-Birn, Human-Centered Computing, FU Berlin Workshop

„Usability in Forschungsinfrastrukturen in den digitalen Geisteswissenschaften“ Berlin, September 22-23, 2014

neonion | Collaborative semantic annotation Integrating Agile Software Development

with User-Centered Design

Annotation

Descriptor (body)

Context (target)

semantic tag

Page 3: Integrating agile software development and user-centered design

Prof. Cl. Müller-Birn, Human-Centered Computing, FU Berlin Workshop

„Usability in Forschungsinfrastrukturen in den digitalen Geisteswissenschaften“ Berlin, September 22-23, 2014

neonion | Collaborative semantic annotation Integrating Agile Software Development

with User-Centered Design semantic tag <foaf:Person>!

<foaf:name>Claudia Müller-Birn</foaf:name>! <foaf:mbox rdf:resource="mailto:[email protected]"/>! <foaf:homepage rdf:resource=http://www.clmb.de/>!</foaf:Person>!

Page 4: Integrating agile software development and user-centered design

Prof. Dr. Cl. Müller-Birn | Human-Centered Computing | Institute of Computer Science | FU Berlin | Sep 2014 4

neonion | collaborative semantic annotation

Make digital content understandable by humans and by machines Create various knowledge layers on top of a document by allowing scholars to collaboratively annotate texts Integrate seamlessly hyper reading with machine reading capabilities Explore new concepts for human-machine interaction in the area of annotation Create an adaptable user interface

Page 5: Integrating agile software development and user-centered design

Prof. Dr. Cl. Müller-Birn | Human-Centered Computing | Institute of Computer Science | FU Berlin | Sep 2014 5

neonion | history

neonion adopts concepts of loomp, a semantic content management system, created by members of the NBI group @ FU loomp allows users to enrich texts semantically by using a controlled vocabulary neonion is now developed in collaboration with scholars from Humanities from the Max Planck Institute for the History of Science

Page 6: Integrating agile software development and user-centered design

Integrating Agile Software Development with User-Centered Design

neonion | Collaborative semantic annotation

Page 7: Integrating agile software development and user-centered design

Prof. Dr. Cl. Müller-Birn | Human-Centered Computing | Institute of Computer Science | FU Berlin | Sep 2014 7

Visual Design

User Researchgoals

scope

structure

skeleton

surface

Determine Functional

Specification

DetermineContent

Requirements

InteractionDesign

Information Architecture

Information Design

Navigation DesignInterface Design

software as functionality software as informationconcrete

abstract

Garrett, J.J. (2011) The elements of user experience.

Page 8: Integrating agile software development and user-centered design

Principles of good interaction design

Integrating Agile Software Development with User-Centered Design

Page 9: Integrating agile software development and user-centered design

Prof. Dr. Cl. Müller-Birn | Human-Centered Computing | Institute of Computer Science | FU Berlin | Sep 2014 9

Cooper et al. (2007) About Face 3: The Essentials of Interaction Design

Software interfaces should be designed to help users build productive mental models of a system (Preece, 1994).

Page 10: Integrating agile software development and user-centered design

Prof. Dr. Cl. Müller-Birn | Human-Centered Computing | Institute of Computer Science | FU Berlin | Sep 2014 10

Norman's execution evaluation cycle

•  Very intuitive approach of interaction design

•  Goals do not specify particular actions

•  Goals and intentions do not have a one-to-one-relationship

•  Each intention involves a sequence of actions

•  Evaluate Results •  Perceive new state •  Interpret what we perceive •  Evaluate new state with goal

Norman, D.A. (2002): The Design of Everyday Things. Basic Books, pp. 45-53

Page 11: Integrating agile software development and user-centered design

Prof. Dr. Cl. Müller-Birn | Human-Centered Computing | Institute of Computer Science | FU Berlin | Sep 2014 11

User interface problems Problems can be described in terms of Gulf of execution – difference between user determined action formulation and the actions allowed by system Gulf of evaluation – difference between physical presentation of system state and user expectation These gulfs can be “bridged” in two ways a)  Users can change to suit the interface and designers can design “knowing the

user” b)  Users can change their interpretation of system responses and designers can

change output characteristics

Norman, D.A. (2002): The Design of Everyday Things. Basic Books, pp. 45-53

Page 12: Integrating agile software development and user-centered design

Prof. Dr. Cl. Müller-Birn | Human-Centered Computing | Institute of Computer Science | FU Berlin | Sep 2014 12

Principles of good interaction design

The aim of a good design for a software is to minimize the gulfs of execution and evaluation. In order to do this the design should •  Help the user build the correct conceptual model of the system •  Provide memory aids to the user •  Make the right parts visible •  Provide good feedback •  Accommodate errors

We adapt principles of user-centered design to realize good interaction design.

Norman, D.A. (2002): The Design of Everyday Things. Basic Books, pp. 45-53

Page 13: Integrating agile software development and user-centered design

How do we use user-centered design activities

in our own development practice?

Integrating Agile Software Development with User-Centered Design

Page 14: Integrating agile software development and user-centered design

Prof. Dr. Cl. Müller-Birn | Human-Centered Computing | Institute of Computer Science | FU Berlin | Sep 2014 14

Benefits of integrating agile development and UCD

Development effort is not wasted on programming features that eventually would turn out to be wrong Usability testing and evaluation are conducted throughout the entire project The concept of time-boxed sprints (aka iteration) helps developers to focus on features that are important to users and to test these features with a specific set of user tasks Timely feedback is always available and developers get a better understanding of existing user needs within the development project

More: Rannikko, P. (2011) User-Centered Design in Agile Software Development. Tampere.

Page 15: Integrating agile software development and user-centered design

Our process

How do we use User Centered Design in our own development practice?

Page 16: Integrating agile software development and user-centered design

Prof. Dr. Cl. Müller-Birn | Human-Centered Computing | Institute of Computer Science | FU Berlin | Sep 2014 16

Basic process in educational software projects Iteration 1 Iteration 2 Iteration 3 Iteration 4 Iteration n

vision/ objective analysis

data collection

inquiry

interviews

ideation

project start kick-off Final presentation

persona

Project Pitch brainstorming

Project pitch

Paper prototype

UI design

user research

usability testing

Paper prototype

UI design

user research

Usability testing

development/ test

development/ test

development/ test

Page 17: Integrating agile software development and user-centered design

Prof. Dr. Cl. Müller-Birn | Human-Centered Computing | Institute of Computer Science | FU Berlin | Sep 2014 17

Scrum activities

sprint (iteration) sprint planning meeting

sprint review

sprint retrospective

weekly status emails

t

0 2 weeks

Adapted scrum process in the neonion project

Page 18: Integrating agile software development and user-centered design

Our tools

How do we use user-centered design in our own development practice?

Page 19: Integrating agile software development and user-centered design

Prof. Dr. Cl. Müller-Birn | Human-Centered Computing | Institute of Computer Science | FU Berlin | Sep 2014 19

Defining the main user interactions

Based on user research a shared understanding of user interactions with the software are defined between the project owner and project lead

Page 20: Integrating agile software development and user-centered design

Prof. Dr. Cl. Müller-Birn | Human-Centered Computing | Institute of Computer Science | FU Berlin | Sep 2014 20

Jira scrum board

Page 21: Integrating agile software development and user-centered design

Prof. Dr. Cl. Müller-Birn | Human-Centered Computing | Institute of Computer Science | FU Berlin | Sep 2014 21

HCI guidelines

Page 22: Integrating agile software development and user-centered design

Prof. Dr. Cl. Müller-Birn | Human-Centered Computing | Institute of Computer Science | FU Berlin | Sep 2014 22

Usability inspection based on heuristics

Is based on an analytical evaluation process An existing software interface and the interaction concept is analyzed by a predefined set of heuristics Heuristics are rules and design guidelines for the design of user interfaces The aim of the analysis is to identify difficult or problematic areas in the recent interface design

Page 23: Integrating agile software development and user-centered design

Prof. Dr. Cl. Müller-Birn | Human-Centered Computing | Institute of Computer Science | FU Berlin | Sep 2014 23

Low fidelity mockups based on Balsamiq

Page 24: Integrating agile software development and user-centered design

Prof. Dr. Cl. Müller-Birn | Human-Centered Computing | Institute of Computer Science | FU Berlin | Sep 2014 24

Applied procedure by usability testing of software

Traditional approach Our approach

one-way mirrored pane

camera (face)

observers

test lead

camera (screen)

proband proband

test lead

laptop

Page 25: Integrating agile software development and user-centered design

Prof. Dr. Cl. Müller-Birn | Human-Centered Computing | Institute of Computer Science | FU Berlin | Sep 2014 25

Applied procedure by usability testing of paper prototypes

Page 26: Integrating agile software development and user-centered design

Prof. Dr. Cl. Müller-Birn | Human-Centered Computing | Institute of Computer Science | FU Berlin | Sep 2014 26

My lessons learned in this process …

Page 27: Integrating agile software development and user-centered design

Prof. Dr. Cl. Müller-Birn | Human-Centered Computing | Institute of Computer Science | FU Berlin | Sep 2014 27

Apply Discuss Learn Adapt

Be patient

Page 28: Integrating agile software development and user-centered design

Prof. Dr. Cl. Müller-Birn | Human-Centered Computing | Institute of Computer Science | FU Berlin | Sep 2014 28

http://www.neonion.org