25
When Users Become Collaborators: Towards Continuous and Context-Aware User Input Walid Maalej (TU München) Hans-Jörg Happel , Asarnusch Rashid (FZI Karlsruhe) OOPSLA Onward! Orlando, FL, October 29 th , 2009

When Users Becom Collaborators: Towards Continuous and Context-Aware User Input

Embed Size (px)

DESCRIPTION

Current requirements engineering practices for gathering user input are characterized by a number of communication gaps between users and engineers which might lead to wrong requirements. The problem situations and context which underlie user input are either gathered back in time, or submitted with wrong a level of details. We think that making user input a first order concern of both software processes and software systems harbours many innovation opportunities. We propose and discuss a continuous and context-aware approach for communicating user input to engineering teams and other users, by a) instrumenting the problem domain, b) proactively recommending to share feedback and c) annotating graphical interfaces.

Citation preview

Page 1: When Users Becom Collaborators: Towards Continuous and Context-Aware User Input

When Users Become Collaborators: Towards Continuous and Context-Aware User Input

Walid Maalej (TU München)Hans-Jörg Happel, Asarnusch Rashid (FZI Karlsruhe)

OOPSLA Onward! Orlando, FL, October 29th, 2009

Page 2: When Users Becom Collaborators: Towards Continuous and Context-Aware User Input

Motivation

A Benchmarking

A New Approach

Technical Enablers

Next Steps

Outline

2

Page 3: When Users Becom Collaborators: Towards Continuous and Context-Aware User Input

Reasons for project failure

Incomplete Requirements

No customer requirements

Lack of resources

Unrealistic expectations

Uncontrolled changes of

requirements

User involvement is critical for the success of software development projects

13%

12%

11%

10%

9%

Reasons for project success

Customer/User involvement

Ex. Management support

Clear Statement of

requirements

Proper planning

Realistic expectations

16%

14%

13%

10%

8%

[Standish Group 2003, recent studies with similar results] 3

Page 4: When Users Becom Collaborators: Towards Continuous and Context-Aware User Input

Various concepts to address end users in software development

4

Page 5: When Users Becom Collaborators: Towards Continuous and Context-Aware User Input

Motivation

A Benchmarking

A New Approach

Technical Enablers

Next Steps

Outline

5

Page 6: When Users Becom Collaborators: Towards Continuous and Context-Aware User Input

Various types of user input

??Perpetual Beta

Legacy Documents

Usage Data

Implicit Explicit

Pull

PushIssue and Bug Report

Enhancement Request

Feature Request

Workshop

Interview, Survey

Clarification Request

Field Observation

Lead Users

(Not used in SE)

Communication

Feed

back

6

Page 7: When Users Becom Collaborators: Towards Continuous and Context-Aware User Input

Various realizations of user input

7

Page 8: When Users Becom Collaborators: Towards Continuous and Context-Aware User Input

Mysterious stack traces

8

Page 9: When Users Becom Collaborators: Towards Continuous and Context-Aware User Input

Bug reports from within a program

9

Page 10: When Users Becom Collaborators: Towards Continuous and Context-Aware User Input

Application usage data

10

Page 11: When Users Becom Collaborators: Towards Continuous and Context-Aware User Input

Discussions in user communities

11

Page 12: When Users Becom Collaborators: Towards Continuous and Context-Aware User Input

Various realizations of user input

…but most applications stilldo not consider feedback at all…

12

Page 13: When Users Becom Collaborators: Towards Continuous and Context-Aware User Input

• Gaps through fragmented streams of user interaction – feedback cross-cuts proceses

• User input difficult to understand

• No frameworks for systematic integration into application

• Gaps through fragmented streams of user interaction – feedback cross-cuts proceses

• User input difficult to understand

• No frameworks for systematic integration into application

Problems of the status quo

13

How can we make user Input as a first-orderconcern in both processes and architectures?

For EngineersFor Engineers For UsersFor Users

User input is usually…•Tedious to provide (e.g. writing detailed context information)

• Incomplete or imprecise• Focussed on one particular

step (e.g. bug reporting)• Uni-directional and singular

User input is usually…•Tedious to provide (e.g. writing detailed context information)

• Incomplete or imprecise• Focussed on one particular

step (e.g. bug reporting)• Uni-directional and singular

Page 14: When Users Becom Collaborators: Towards Continuous and Context-Aware User Input

Streams of interaction

14

RequirementsRequirements

EngineersEngineers UsersUsers

RealizationRealization

ProvisionProvision DeploymentDeployment

ProblemProblem

UsageUsageEvolutionEvolution

FixFix

QuestionQuestionSupportSupport

Page 15: When Users Becom Collaborators: Towards Continuous and Context-Aware User Input

Motivation

A Benchmarking

A New Approach

Technical Enablers

Next Steps

Outline

15

Page 16: When Users Becom Collaborators: Towards Continuous and Context-Aware User Input

A Continuous Feedback Model

Prospectiv

e

Observatio

n

Assisted Feedback

Improvement

Decision

Back-Feedback

System

atic

An

alysis

Application

User

Engineering Team

Development Infrastructure

Community

Sharing

16

Page 17: When Users Becom Collaborators: Towards Continuous and Context-Aware User Input

Motivation

A Benchmarking

A New Approach

Technical Enablers

Next Steps

Outline

17

Page 18: When Users Becom Collaborators: Towards Continuous and Context-Aware User Input

Technical building blocks

Makinguser input a

1st order concern

Visual Annotation

Recommend end user to share their experience with engineering

teams end other end users

Observation & Context Elicitation

Allow user to annotate and „paint“ on the GUI

in the work context

Proactive Assistance

Detect user intention and problem situations through observation of user and application

18

Page 19: When Users Becom Collaborators: Towards Continuous and Context-Aware User Input

TeamWeaver Context Framework

problem problem problem problem

ExecutionOntology

Interaction Ontoloy

Feedback Reporting Interface

OS sensors

User Profile

Elicitation

Problem Problem

events

update

trigger

Application sensors

Execution Env. sensors

Additional feedback

interact

Session-ization

Context Observer

http://www.teamweaver.org 19

Page 20: When Users Becom Collaborators: Towards Continuous and Context-Aware User Input

Visual Annotation with OpenProposal

End user applicationEnd user application OpenProposalOpenProposal

plus Username, Application, Version, Date, etc.

Issue Tracker

Issue Tracker

20http://www.openproposal.de

Page 21: When Users Becom Collaborators: Towards Continuous and Context-Aware User Input

Inverse Search to recommend usersto share their experience

Conventional recommendation systems:

1. Match interests of users against a given set of information

2. Push information to the user Users providing information are not part of

this model although they are potential sources for additional information

Recommendation using inverse search:

3. Matches the private/local information of users (information providers) against a given set of needs

4. Identify information (e.g. experiences and interactions) worth sharing

User Information Provider

Experiences

Needs 3. iSearch3. iSearch

4. Share4. Share

1. Query1. Query

2. Results2. Results

21

Engineer / User Information Seeker

Page 22: When Users Becom Collaborators: Towards Continuous and Context-Aware User Input

Motivation

A Benchmarking

A New Approach

Technical Enablers

Next Steps

Outline

22

Page 23: When Users Becom Collaborators: Towards Continuous and Context-Aware User Input

Conclusion

• Feasability– Technical building blocks are there– Further technologies to enable tighter collaboration between users

and developers emerge (e.g. Microblogging)– Communication and transparency in Open Source projects– Several services on the web decide on realization options based on

implicit feedback– Users are motivated by feedback

• Challenges– Privacy– Development culture– Non-intrusiveness– Context-similarity

23

Page 24: When Users Becom Collaborators: Towards Continuous and Context-Aware User Input

Summary

• Results– Comparing different types of user input– Identification of technology and process enablers

for feedback-driven development

• User input deserves to become a first order concern in development processes and architectures– How can users become prosumers instead of

mere consumers of applications?– How to give engineering teams more

continuous, direct and rich input for development?

• Tools– www.teamweaver.org– www.openproposal.de

24

Page 25: When Users Becom Collaborators: Towards Continuous and Context-Aware User Input

References

• Walid Maalej and Hans-Joerg Happel: A Lightweight Approach for Knowledge Sharing in Distributed Software Teams. In Proceeedings of the 7th International Conference on Practical Aspects of Knowledge Management (PAKM2008).

• Happel, H.-J. and Maalej, W.: Potentials and Challenges of Recommendation Systems for Software Development. In Proceedings of the International Workshop on Recommendation Systems for Software Engineering (RSSE 2008).

• Rashid, A., Wiesenberger, J., Meder, D. Baumann , J.: Bringing Developers and Users closer together: The OpenProposal story. In: Multikonferenz Wirtschaftsinformatik 2008 (MKWI 2008), 26.2. - 28.2.2008, München.

• Standish Group: The 2003 CHAOS Chronicles report.• Walid Maalej: Task-First or Context-First? Tool Integration Revisited. In: 24th

IEEE/ACM International conference on Automated Software Engineering (ASE 2009) Auckland, New Zealand. 16th-20th November 2009.

25