free hugs — praising developers for their actions [icse2015]

Post on 28-Jul-2015

35 Views

Category:

Software

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Free HugsPraising Developers For Their Actions

Roberto Minelli, Andrea Mocci, Michele Lanza REVEAL @ Faculty of Informatics — University of Lugano, Switzerland @robertominelli

What is a game?

“Playing a game is the voluntary attempt to overcome unnecessary obstacles.”

Goal

Rules

Feedback system

Voluntary participation

Reality is Broken J. McGonigal

Penguin, 2011

“Playing a game is the voluntary attempt to overcome unnecessary obstacles.”

Goal

Rules

Feedback system

Voluntary participation

Reality is Broken J. McGonigal

Penguin, 2011

“Playing a game is the voluntary attempt to overcome unnecessary obstacles.”

Goal

Rules

Feedback system

Voluntary participation

Reality is Broken J. McGonigal

Penguin, 2011

“The use of game thinking and game mechanics in non-game

contexts to augment the engagement of users.”

Gamification|ˌgāmifəˈkāSHən|

Boost the performance through gamification

gamification software engineering

software engineeringgamification in

For the Win K. Werbach and D. Hunter

Wharton Digital Press, 2012

Language Quality Game

Thousands of participants reviewed over half a million dialog boxes, logging 6,700

bug reports, resulting in hundreds of fixes

Stackoverflow and GitHub: Associations between software development and crowdsourced knowledge

B. Vasilescu, V. Filkov, and A. Serebrenik Proceedings of SocialCom 2013

Integrated Development Environment (IDE)

“The programmer, like the poet, works only slightly removed

from thought-stuff.

He builds his castles in the air, from air,

creating by exertion of the imagination.”

The Mythical Man-Month F. Brooks

2nd ed. Addison-Wesley, 1995

developer

developer

What can be done about it?

developer

gamification in the IDE

“If you do this you’ll get that.”

Reflections on Behaviorism and Society B. Skinner

Prentice Hall, 1978

The Alter Ego

The Alter Ego

Short-term

The Alter Ego

Short-term Long-term

Session Digest

What? When?

1 class3 methods

3 class4 methods

1 class1 method

navigationinspectionedit

mouse

keyboard

Top

Act

ivit

y

Profile

232,321 pts. 12

Lv.4

1 2

How do you feel?

NavigationUnderstandingEditingUser Interface

browsing inspecting searching

2h09m25s duration

6m22s navgation time

11m06s editing time

20m16s user interface time

1h31m40s understanding timeTi

mel

ine

time

Session Digest

What? When?

1 class3 methods

3 class4 methods

1 class1 method

navigationinspectionedit

mouse

keyboard

Top

Act

ivit

y

Profile

232,321 pts. 12

Lv.4

1 2

How do you feel?

NavigationUnderstandingEditingUser Interface

browsing inspecting searching

2h09m25s duration

6m22s navgation time

11m06s editing time

20m16s user interface time

1h31m40s understanding timeTi

mel

ine

time

Session Digest

What? When?

1 class3 methods

3 class4 methods

1 class1 method

navigationinspectionedit

mouse

keyboard

Top

Act

ivit

y

Profile

232,321 pts. 12

Lv.4

1 2

How do you feel?

NavigationUnderstandingEditingUser Interface

browsing inspecting searching

2h09m25s duration

6m22s navgation time

11m06s editing time

20m16s user interface time

1h31m40s understanding timeTi

mel

ine

time

Session Digest

What? When?

1 class3 methods

3 class4 methods

1 class1 method

navigationinspectionedit

mouse

keyboard

Top

Act

ivit

y

Profile

232,321 pts. 12

Lv.4

1 2

How do you feel?

NavigationUnderstandingEditingUser Interface

browsing inspecting searching

2h09m25s duration

6m22s navgation time

11m06s editing time

20m16s user interface time

1h31m40s understanding timeTi

mel

ine

time

The Development Empire

“A system that rewards complex actions and best practices of a developer with badges, achievements, and trophies of different types.”

Profile

232,321 pts. 12

Lv.4

1 2

How do you feel?

The Development Empire

A new community, where people can observe, challenge, and

interact with other developers

PSN

Session Digest

When?

NavigationUnderstandingEditingUser Interface

browsing inspecting searching

2h09m25s duration

6m22s navgation time

11m06s editing time

20m16s user interface time

1h31m40s understanding time

Profile

232,321 pts. 12

Lv.4

1 2

What?

1 class3 methods

3 class4 methods

1 class1 method

navigationinspectionedit

mouse

keyboard

Top

Act

ivit

y

Tim

elin

etime

How do you feel?

Roberto Minelli, Andrea Mocci, Michele Lanza REVEAL @ Faculty of Informatics — University of Lugano, Switzerland

FREE HUGS

@robertominelli

Praising developers for their actions

Nothing in life is free

love is.

FREE HUGS Praising Developers for Their ActionsREVEAL @ Faculty of Informatics, University of Lugano, Switzerland

R E V E A L

Universitàdella Svizzeraitaliana

@robertominelli

roberto.minelli@usi.chinf.usi.ch/phd/minelli

Roberto Minelli, Andrea Mocci, Michele Lanza

Session DigestWhen?

Navigation

UnderstandingEditing User Interface

browsing inspecting searching

2h09m25sduration

6m22s navgation time11m06s editing time20m16s user interface time1h31m40s understanding time

Profile

232,321 pts.

12

Lv.4

1 2

What?

1 class3 methods

3 class4 methods

1 class1 method

navigationinspectionedit

mouse keyboard

Top

Act

ivit

y

Tim

elin

e

time

How do you feel?

A sunburst visualization that shows activities and time componentsA tree visualization of the entities involved in the last session with the intensity of the interactions

An activity view that decomposes a single activity into its low-level events

A summary of the developer’s profile that goes towards an application of gamification

A sentiment feedback on the last development session

A timeline of activities, divided per category

A table that shows the last diffs

Session Digest A short-term gratification, similar to the one present in fitness apps, offered to developers for their last development session. It summarizes the last session from various perspectives, e.g., how was time used, how much was achieved from a coding point of view, which program entities were involved, etc. It also enables to dig into the fine-grained recorded data and acquire a deeper understanding.

Alter Ego A developer is like a character in a role-playing game: She moves her first steps, evolves, acquires new skills, and unlocks new ach ievements . In our v i s ion developers possess an avatar that they can evolve, providing them short- and long-term satisfactions to turn software development into a more engaging activity.

Development Empire The long-term vision is a comprehensive gamification layer on top of the IDE. It is not all about assigning points to developers, but the development of a ramified system that rewards complex actions and best practices of a developer with badges, achievements, and trophies. The history and the evolution of the alter ego of a developer is a key factor. When this mechanism is in place, all the alter egos will originate a new community, where people can observe, challenge, and interact with other developers.

Bug-tracking systems

Coding style and guidelines

Questions & answers services (Q&A)

User study

DFLOW

Smalltalk IDE

Recorder Analyzer …

HTTP

DFLOW

Server

DFLOW

Smalltalk IDE

Recorder Analyzer …

HTTP

DFLOW

Server

MetaOpening a Finder UI Selecting a package, method, or class in the code browser Opening a system browser on a method or a class electing a method in the Finder UI Starting a search in the Finder UI Inspecting an object Browsing a compiled method Do-it/Print-it on a piece of code (e.g., workspace) Stepping into/Stepping Over/Proceeding in a debugger Run to selection in a debugger Entering/exiting from an active debugger Browsing full stack/stack trace in a debugger Browsing hierarchy, implementors or senders of a class Browsing the version control system Browse versions of a method Creating/removing a class Adding/removing instance variables from a class Adding/removing a method from a class Automatically creating accessors for a class

User Interface

Low-Level

Opening/closing a window Activating a window, i.e., window in focus Resizing/moving/minimize/maximize a window class

Mouse button up/down Scroll wheel up/down Mouse move Mouse-out/in Keystroke pressed

top related