38
Free Hug s Praising Developers For Their Actions Roberto Minelli , Andrea Mocci, Michele Lanza REVEAL @ Faculty of Informatics — University of Lugano, Switzerland @robertominelli

Free Hugs — Praising developers for their actions [ICSE2015]

Embed Size (px)

Citation preview

Page 1: Free Hugs — Praising developers for their actions  [ICSE2015]

Free HugsPraising Developers For Their Actions

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

Page 2: Free Hugs — Praising developers for their actions  [ICSE2015]

What is a game?

Page 3: Free Hugs — Praising developers for their actions  [ICSE2015]

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

Goal

Rules

Feedback system

Voluntary participation

Reality is Broken J. McGonigal

Penguin, 2011

Page 4: Free Hugs — Praising developers for their actions  [ICSE2015]

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

Goal

Rules

Feedback system

Voluntary participation

Reality is Broken J. McGonigal

Penguin, 2011

Page 5: Free Hugs — Praising developers for their actions  [ICSE2015]

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

Goal

Rules

Feedback system

Voluntary participation

Reality is Broken J. McGonigal

Penguin, 2011

Page 6: Free Hugs — Praising developers for their actions  [ICSE2015]

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

contexts to augment the engagement of users.”

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

Page 7: Free Hugs — Praising developers for their actions  [ICSE2015]
Page 8: Free Hugs — Praising developers for their actions  [ICSE2015]
Page 9: Free Hugs — Praising developers for their actions  [ICSE2015]
Page 10: Free Hugs — Praising developers for their actions  [ICSE2015]
Page 11: Free Hugs — Praising developers for their actions  [ICSE2015]

Boost the performance through gamification

Page 12: Free Hugs — Praising developers for their actions  [ICSE2015]

gamification software engineering

Page 13: Free Hugs — Praising developers for their actions  [ICSE2015]

software engineeringgamification in

Page 14: Free Hugs — Praising developers for their actions  [ICSE2015]

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

Page 15: Free Hugs — Praising developers for their actions  [ICSE2015]

Stackoverflow and GitHub: Associations between software development and crowdsourced knowledge

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

Page 16: Free Hugs — Praising developers for their actions  [ICSE2015]

Integrated Development Environment (IDE)

Page 17: Free Hugs — Praising developers for their actions  [ICSE2015]

“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

Page 18: Free Hugs — Praising developers for their actions  [ICSE2015]

developer

Page 19: Free Hugs — Praising developers for their actions  [ICSE2015]

What can be done about it?

developer

Page 20: Free Hugs — Praising developers for their actions  [ICSE2015]

gamification in the IDE

Page 21: Free Hugs — Praising developers for their actions  [ICSE2015]

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

Reflections on Behaviorism and Society B. Skinner

Prentice Hall, 1978

Page 22: Free Hugs — Praising developers for their actions  [ICSE2015]

The Alter Ego

Page 23: Free Hugs — Praising developers for their actions  [ICSE2015]

The Alter Ego

Short-term

Page 24: Free Hugs — Praising developers for their actions  [ICSE2015]

The Alter Ego

Short-term Long-term

Page 25: Free Hugs — Praising developers for their actions  [ICSE2015]

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

Page 26: Free Hugs — Praising developers for their actions  [ICSE2015]

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

Page 27: Free Hugs — Praising developers for their actions  [ICSE2015]

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

Page 28: Free Hugs — Praising developers for their actions  [ICSE2015]

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

Page 29: Free Hugs — Praising developers for their actions  [ICSE2015]

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?

Page 30: Free Hugs — Praising developers for their actions  [ICSE2015]

The Development Empire

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

interact with other developers

PSN

Page 31: Free Hugs — Praising developers for their actions  [ICSE2015]
Page 32: Free Hugs — Praising developers for their actions  [ICSE2015]
Page 33: Free Hugs — Praising developers for their actions  [ICSE2015]
Page 34: Free Hugs — Praising developers for their actions  [ICSE2015]

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?

Page 35: Free Hugs — Praising developers for their actions  [ICSE2015]

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

[email protected]/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.

Page 36: Free Hugs — Praising developers for their actions  [ICSE2015]

Bug-tracking systems

Coding style and guidelines

Questions & answers services (Q&A)

User study

Page 37: Free Hugs — Praising developers for their actions  [ICSE2015]

DFLOW

Smalltalk IDE

Recorder Analyzer …

HTTP

DFLOW

Server

Page 38: Free Hugs — Praising developers for their actions  [ICSE2015]

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