oss dc 2010: software evolution and human resources: knowledge gap

Upload: dicortazar

Post on 10-Apr-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap

    1/27

    MotivationResearch Questions

    MethodologyPreliminary Results

    Further Work and Open Questions

    Software Evolution and Human Resources.Knowledge Gap left by Developers due to Turnover

    Daniel Izquierdo Cortazar

    [email protected]/Libresoft, Universidad Rey Juan Carlos

    Doctoral Consortium, OSS 2010, Notre Dame, USAMay, 30th 2010

    Daniel Izquierdo Cortazar Software Evolution and Human Resources.

    http://find/http://goback/
  • 8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap

    2/27

    MotivationResearch Questions

    MethodologyPreliminary Results

    Further Work and Open Questions

    (cc) 2010 Daniel Izquierdo Cortazar.Some rights reserved. This document is distributed under the Creative

    Commons Attribution-ShareAlike 2.5 licence, available inhttp://creativecommons.org/licenses/by-sa/2.5/

    Daniel Izquierdo Cortazar Software Evolution and Human Resources.

    http://find/http://goback/
  • 8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap

    3/27

    MotivationResearch Questions

    MethodologyPreliminary Results

    Further Work and Open Questions

    Table of contents

    1 Motivation

    2 Research Questions

    3 Methodology

    4 Preliminary Results

    5 Further Work and Open Questions

    Daniel Izquierdo Cortazar Software Evolution and Human Resources.

    http://find/http://goback/
  • 8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap

    4/27

    MotivationResearch Questions

    MethodologyPreliminary Results

    Further Work and Open Questions

    Index

    1 Motivation

    2 Research Questions

    3 Methodology

    4 Preliminary Results

    5 Further Work and Open Questions

    Daniel Izquierdo Cortazar Software Evolution and Human Resources.

    M i i

    http://find/http://goback/
  • 8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap

    5/27

    MotivationResearch Questions

    MethodologyPreliminary Results

    Further Work and Open Questions

    Introducing developers turnover

    All the projects, even the most stable have to face developersturnover.

    People tend to change their job after some years.

    Project managers have to deal with these situations.

    So, a new developer comes to fill that gap.

    Daniel Izquierdo Cortazar Software Evolution and Human Resources.

    M ti ti

    http://find/http://goback/
  • 8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap

    6/27

    MotivationResearch Questions

    MethodologyPreliminary Results

    Further Work and Open Questions

    Introducing developers turnover

    Thus, there is a natural regeneration of developers.Let us use junior for those who have just landed.

    All of that experienced and knowledge about the project ismissed when seniors are gone.

    Daniel Izquierdo Cortazar Software Evolution and Human Resources.

    Motivation

    http://find/http://goback/
  • 8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap

    7/27

    MotivationResearch Questions

    MethodologyPreliminary Results

    Further Work and Open Questions

    Introducing developers turnover

    It is estimated in around 6 months the time to be productiveas the same level as seniors.

    Even more if more sophisticated work is in progress.

    Daniel Izquierdo Cortazar Software Evolution and Human Resources.

    Motivation

    http://find/http://goback/
  • 8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap

    8/27

    MotivationResearch Questions

    MethodologyPreliminary Results

    Further Work and Open Questions

    Introducing developers turnover

    Thus, how to measure that knowledge gap left by developers?Source code lines / functions / files / modules.

    We are dealing with the idea of orphaning.

    And we are proposing a way to measure that knowledge gap.

    Daniel Izquierdo Cortazar Software Evolution and Human Resources.

    Motivation

    http://find/http://goback/
  • 8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap

    9/27

    MotivationResearch Questions

    MethodologyPreliminary Results

    Further Work and Open Questions

    Previous definitions

    Committer: Person who has the right to submit changes tothe source code management system (SCM).

    Author: In some SCMs the real author could be specified(such as Git).

    Non-active committer: That committer who left the project ina specific date.

    Orphaned line: That line owned by a non-active committer.This line will remain until this is removed or modified.

    Daniel Izquierdo Cortazar Software Evolution and Human Resources.

    Motivation

    http://find/http://goback/
  • 8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap

    10/27

    MotivationResearch Questions

    MethodologyPreliminary Results

    Further Work and Open Questions

    Intuition

    Areas with high orphaning tend to remain in time.Bugs found in orphaned areas will take more time to be fixed.

    Developers tend to work on their own source code.

    Others...

    Daniel Izquierdo Cortazar Software Evolution and Human Resources.

    Motivation

    http://find/http://goback/
  • 8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap

    11/27

    Research QuestionsMethodology

    Preliminary ResultsFurther Work and Open Questions

    Why could this be interesting?

    Using the idea of orphaning, we could answer some questions:

    Looking for abandoned areas in your project: full orphanedfiles/modules.How much orphaning is found in my project?: The higher theless knowledge over the source code.Check orphaned areas left by key developers: Then try to

    re-collocate your best developers when some other leave.

    Daniel Izquierdo Cortazar Software Evolution and Human Resources.

    Motivation

    http://find/http://goback/
  • 8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap

    12/27

    Research QuestionsMethodology

    Preliminary ResultsFurther Work and Open Questions

    Index

    1 Motivation

    2 Research Questions

    3 Methodology

    4 Preliminary Results

    5 Further Work and Open Questions

    Daniel Izquierdo Cortazar Software Evolution and Human Resources.

    Motivation

    http://find/http://goback/
  • 8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap

    13/27

    Research QuestionsMethodology

    Preliminary ResultsFurther Work and Open Questions

    Some Initial Questions

    So far, we have a new metric which provides information

    about the quantity of orphaned code in your project.(Knowledge loss due to developers turnover).

    In the following: so what?. This metric needs something moreto be validated.

    This information should be matched/correlated with someother.

    Daniel Izquierdo Cortazar Software Evolution and Human Resources.

    MotivationQ

    http://find/http://goback/
  • 8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap

    14/27

    Research QuestionsMethodology

    Preliminary ResultsFurther Work and Open Questions

    Some Initial Questions

    The first approach consists of matching orphaning and bugprediction/fixing process:

    Is there any kind of relation between orphaning and bug fixing?Is there less maintenance in orphaned areas?Is it possible to have orphaning as a metric to measuremaintainability or code decay?Detecting areas with high orphaning, means lower maintenance

    of them? (perhaps they are mature enough).

    Daniel Izquierdo Cortazar Software Evolution and Human Resources.

    MotivationR h Q i

    http://find/http://goback/
  • 8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap

    15/27

    Research QuestionsMethodology

    Preliminary ResultsFurther Work and Open Questions

    Hypothesis

    General questions:The higher the regeneration of developers, the higher thenumber of orphaned lines.The lower the regeneration of developers, the lower thenumber of orphaned lines.

    Daniel Izquierdo Cortazar Software Evolution and Human Resources.

    MotivationR s h Q sti s

    http://find/http://goback/
  • 8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap

    16/27

    Research QuestionsMethodology

    Preliminary ResultsFurther Work and Open Questions

    Specific questions: (Real relation between orphaning and bugsactivity).

    The knowledge gap tends to be absorbed by other active

    developers.The larger areas with orphaned code, the ...:

    ... larger number of remaining open bug reports.

    ... longer time to fix those bugs.

    ... longer time to be picked up.

    ... more tossing changes found.

    ... more number of predicted bugs appear.

    Daniel Izquierdo Cortazar Software Evolution and Human Resources.

    MotivationResearch Questions

    http://find/http://goback/
  • 8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap

    17/27

    Research QuestionsMethodology

    Preliminary ResultsFurther Work and Open Questions

    Index

    1 Motivation

    2 Research Questions

    3 Methodology

    4 Preliminary Results

    5 Further Work and Open Questions

    Daniel Izquierdo Cortazar Software Evolution and Human Resources.

    MotivationResearch Questions

    http://find/http://goback/
  • 8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap

    18/27

    Research QuestionsMethodology

    Preliminary ResultsFurther Work and Open Questions

    CVSAnalY: CVS Log

    [...]1.246 (pj 13-Nov-01): /* Optional arg STRING supplies menu name for the keymap1.246 (pj 13-Nov-01): in case you use it as a menu with x-popup-menu. */)1.246 (pj 13-Nov-01): (string)1.8 (rms 11-Sep-92): Lisp Object string;

    1.8 (rms 11-Sep-92): {1.8 (rms 11-Sep-92): Lisp Object tail;1.8 (rms 11-Sep-92): if (!NILP (string))1.8 (rms 11-Sep-92): tail = Fcons (string, Qnil);1.8 (rms 11-Sep-92): else1.8 (rms 11-Sep-92): tail = Qnil;1.1 (jimb 06-May-91): return Fcons (Qkeymap,1.137 (rms 13-May-97): Fcons (Fmake char table (Qkeymap, Qnil), tail));1.1 (jimb 06-May-91): }

    ...

    Daniel Izquierdo Cortazar Software Evolution and Human Resources.

    MotivationResearch Questions

    http://find/http://goback/
  • 8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap

    19/27

    Research QuestionsMethodology

    Preliminary ResultsFurther Work and Open Questions

    Orphaning

    Projects which initially offer a Git repository (e.g.: the oneused by the Linux Kernel).

    The differences between one version and next one areobtained and stored in a MySQL database.

    If a developer leaves the project, her lines become orphaned.

    Daniel Izquierdo Cortazar Software Evolution and Human Resources.

    MotivationResearch Questions

    http://find/http://goback/
  • 8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap

    20/27

    Research QuestionsMethodology

    Preliminary ResultsFurther Work and Open Questions

    Adding Bugs Information

    There are two possibilities:Try to match orphaned lines with what we know (retrievingreal information from BTS).Try to predict bugs based on existing source code and changes.

    Daniel Izquierdo Cortazar Software Evolution and Human Resources.

    MotivationResearch Questions

    http://find/http://goback/
  • 8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap

    21/27

    QMethodology

    Preliminary ResultsFurther Work and Open Questions

    Index

    1 Motivation

    2

    Research Questions

    3 Methodology

    4 Preliminary Results

    5 Further Work and Open Questions

    Daniel Izquierdo Cortazar Software Evolution and Human Resources.

    MotivationResearch Questions

    http://find/http://goback/
  • 8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap

    22/27

    MethodologyPreliminary Results

    Further Work and Open Questions

    Case Studies: GIMP and Evolution

    Both started at the same time (around 1998. At least usingthe Source Code Management system)

    Both are included by default in the GNOME desktop (usingthe same process and release cycle)

    Daniel Izquierdo Cortazar Software Evolution and Human Resources.

    MotivationResearch Questions

    http://find/http://goback/
  • 8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap

    23/27

    MethodologyPreliminary Results

    Further Work and Open Questions

    Orphaned Lines vs Size

    1998-02-28 2000-02-28 2002-03-28 2004-03-28 2006-03-28

    Time

    0

    200000

    400000

    600000

    800000

    1000000

    1200000

    NumberofLines

    Ev. Total Lines

    Ev. Orph. LinesGIMP Total LinesGIMP Orph. Lines

    Size an Orp ane Lines Evo ution

    Daniel Izquierdo Cortazar Software Evolution and Human Resources.

    MotivationResearch Questions

    M h d l

    http://find/http://goback/
  • 8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap

    24/27

    MethodologyPreliminary Results

    Further Work and Open Questions

    Index

    1 Motivation

    2

    Research Questions

    3 Methodology

    4 Preliminary Results

    5 Further Work and Open Questions

    Daniel Izquierdo Cortazar Software Evolution and Human Resources.

    MotivationResearch Questions

    M th d l

    http://find/http://goback/
  • 8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap

    25/27

    MethodologyPreliminary Results

    Further Work and Open Questions

    Work in Progress

    Still working on the tool to extract information: the examples

    shown are based on an older version.

    Also, understanding the bug prediction based on source code.

    Improving the tool to extract information from BTS.

    Analyzing results at file granularity.

    Daniel Izquierdo Cortazar Software Evolution and Human Resources.

    MotivationResearch Questions

    Methodology

    http://find/http://goback/
  • 8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap

    26/27

    MethodologyPreliminary Results

    Further Work and Open Questions

    Open Questions

    We still do not know what exactly means orphaning: matchingthat with bug prediction/bug fixing is expected to help.

    Limitations:Mature areas could be wrong validated as orphaned areas.Communities such as PostgreSQL are quite restrictive: Thecommit rights are owned by few people.Working at the level of line could avoid from getting richer

    information.Blank lines, changes such as spaces, adding licensesinformation, etc.

    Daniel Izquierdo Cortazar Software Evolution and Human Resources.

    MotivationResearch Questions

    Methodology

    http://find/http://goback/
  • 8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap

    27/27

    MethodologyPreliminary Results

    Further Work and Open Questions

    Questions?

    Thanks for your attendance!Questions?

    Daniel Izquierdo Cortazar Software Evolution and Human Resources.

    http://find/http://goback/