Onboarding, Finding experts, maintaining awareness Kun Niu Spring, 2011

advertisement
Onboarding, Finding experts,
maintaining awareness
Kun Niu
Spring, 2011
Feb. 22nd
05-899D Human Aspects of Software
Development (HASD)
The Information Networking Institute
is a cooperative endeavor of:
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
College of Engineering
School of Computer Science
Tepper School of Business
Heinz College
1
Agenda
 Overview
 Paper discussion



Onboarding
Finding experts
Maintaining awareness
 Summary
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
2
Agenda
 Overview
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
3
Concepts
Onboarding
- The process of helping new employees become productive members
of an organization
Finding expert
- The process of finding the person who is expert in a specific part of the
software project
Awareness
- An understanding of the activities of others to provide a context for
one’s own activities
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
4
Why do people do research in these
fields?
• Find different facts hindering newcomers in joining the
project efficiently – Onboarding
• Find experts in the software development group and
make best use of them – Find experts
• Keep track of what software developers did in order to
know what the developers have done to the code and
why they did that – Maintaining awareness
All in all, make software development team more
productive.
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
5
Sample target for studies
• Students in the university who are ready to work in a
software intensive company
• Developers who work in a collaborative environment
(open source software or commercial software or
academic research, etc.)
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
6
Agenda
 Overview
 Paper discussion
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
7
Agenda
 Overview
 Paper discussion

Onboarding
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
8
Struggle of New College Graduates in
their First Software Development Job
• Andrew Begel, 2008
• Discover what occurs during the beginning of the
transition period from college graduate to experienced
software engineer
• Spent 85 hours observing 8 new software developers
(NSDs) in their first six months of employment at
Microsoft Corporation
• Result
•
Five ways in which recent graduates struggle to be effective:
communication, collaboration, technical, cognition, and orientation
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
9
Moving into a New Software Project
Landscape [Barthélémy, 2010]
• Grounded Theory
•
A qualitative research approach that employs theoretical sampling
and open coding to formulate a social theory “grounded” in the
empirical data (exploratory study)
• Three instruments for research
•
•
•
Initial Survey (of people in IBM Quality of Software Engineering)
Project Sketch (Asked them to describe their projects)
Phone interview (One-hour semi-structured)
• Participants
•
3 women and 15 men, experienced programmers and novices
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
10
Landscape features related
to orientation aids and
obstacles
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
11
Comparison Between Papers
• Similarities
•
•
•
Coupled with orientation and collaboration
Struggle in using document to gather information
Difficulty in working in a corporate environment
• Differences
•
•
•
•
•
Field study vs. multiple stages
Novice vs. Novice mixed with Experienced programmers
Where Novices get stuck
Without feedback vs. with feedback
Microsoft vs. IBM
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
12
Agenda
 Overview
 Paper discussion


Onboarding
Finding experts
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
13
A Degree-of-Knowledge Model to Capture
Source Code [Thomas Fritz, 2010]
• The degree-of-knowledge (DOK) Model
•
The DOK values are computed for a developer automatically by
combining authorship data from the source revision system and
interaction data from monitoring the developer's activity in the
development environment.
• Goals
•
•
Investigate whether DOK values can support finding who is an
expert in particular parts of a code.
Investigate whether DOK values can help familiarize (onboard) a
new team member onto a particular part of the development project.
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
14
Exploratory Case Studies
•
•
Site 1 involves seven professional developers building a Java
client/server system and using IBM Rational Concert as the source
repository
Site 2 involves 2 developers building open source frameworks for
Eclipse as part of their work and using CVS as source repositories
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
15
Factors that might correlate with
expertise
• Degree-of-Authorship (DOA)
Determined by three factors: first authorship (FA), the number of
deliveries (DL) and the number of acceptances (AC)
• Degree-of-Interaction (DOI)
The amount of interaction — selections and edits — a developer has had
with a source code element
• Degree-of-Knowledge (DOK)
Formula linearly combines the factors contributing to DOA and DOI:
DOK = α FA * FA+ αDL * DL+ α AC * AC + βDOI * DOI
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
16
Analysis and Results
• Formula factor computation
•
•
DOK = 3.293 + 1.098 * FA + 0.164 * DL – 0.321 * ln(1 + AC) + 0.19 *
ln(1 + DOI)
Negative values of DOI indicate usage that is not recent
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
17
Case study results: Finding experts
• Method
•
•
•
•
Two projects from Site 1
Most members of the team interacted with these two projects
Calculate DOK for class-developer pair
Calculate DOK for package-developer pair
• Results
•
All six developers stated that the result was reasonable, using
phrases like it is “close” and it reflects [reality] correctly.
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
18
Case study results: Onboarding
• Method
•
•
Three randomly-chosen developer
Interview and survey
• Results
•
•
Elements with high DOK values are not considered useful
Elements with high DOK may be a good starting point to find useful
elements
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
19
Expert Recommendation with Usage
Expertise [David, 2009]
• Assess the viability of usage expertise concept
• Evaluate expert recommendations for the ASPECTJ
and ECLIPSE projects
• Collect data according to usage context, depth,
breadth….
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
20
Experiment
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
21
Results
• Context improves accuracy of usage expertise
•
This means only a handful of developers contribute the bulk of
contributions for most methods.
• On Recommending Across Projects
•
There must be sufficient overlap in the calls to external libraries. By
extension this means that recommendations are at the very least,
possible.
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
22
Expertise Browser: A Quantitative Approach
to Identifying Expertise [Audris, 2002]
 Application range


Locate experts in a particular technology or tool
Locate experts in a particular part of product
 Interviews with members of distributed project teams
 Calculation using EA (“experience atom”)


Elementary units of experience
The simplest unit of experience that could be observed in projects
using change management systems is the atomic change (delta)
made to source code or to documentation.
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
23
Learning curve
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
24
Expertise Browser (Java Applet)
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
25
Analysis of Expertise Finding
• All of the papers try to quantify expertise analysis
• Are the selected data really helpful?
• Does change of code really reflect the expertise in the
code?
• Does it apply to other parts of the software
development group? (product design, QA, customer
service…)
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
26
Agenda
 Overview
 Paper discussion



Onboarding
Finding experts
Maintaining awareness
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
27
Hipikat: A Project Memory for Software
Development [Davor, 2005]
•
•
•
•
Provide developers efficient and effective access to the project
memory
Focus on open-source software projects, a subset of virtual teams
that typically have extensive public archives of all artifacts
relevant to the project
The tool forms a project memory from artifacts that were created
during a software development project (source code,
documentation, and electronic communication records)
Hipikat recommends to a developer artifacts selected from the
project memory that it considers to be relevant to the task being
performed
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
28
HipiKat Server Architecture
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
29
Eclipse newcomer case study
• Goals
•
•
•
If project memory about past modifications helpful to the developers
When and from which artifacts are queried
Evaluate the recommendation result
• Sample
•
•
Have adequate programming experience in the programming
language of the system under study
Have no previous experience as developers on the system itself
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
30
Eclipse newcomer case study (cont)
• Design
 Easy task – Display break points property
 Difficult task – Interactive modification during version operations on a
group of files
• Procedure
 Training
 Programming
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
31
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
32
Results
• Less access during the easy task than the difficult task
• Focusing on solving task rather than understanding
code
• Using recommendations to find the code could be
reused
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
33
FASTDash: A Visual Dashboard for Fostering
Awareness in Software Teams [Jacob, 2007]
• Use electronic tools to operate in a shared virtual
environment
•
Hard to observe activities
• Lack adequate tools to support sufficient ongoing
awareness
•
Hard to determine who is working on which file
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
34
Fastdash Interface
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
35
Field Study
•
•
Observational study of a software team’s collaborative behavior before and after
the introduction of FASTDash
Leverage the earlier work to develop a new coding that was a synthesis of the
most relevant parts of existing schemes and basic requirements
Coding categories and classificatoin
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
36
Observation Log
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
37
Result
Communication category distribution for pre- and postconditions
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
Use of shared artifacts
School of Computer Science
Heinz College
38
Group Awareness in Distributed
Software System [Carl, 2004]
•
•
•
•
•
•
A study of open source teams to determine whether developers need to stay
aware of one another
Interviewed fourteen developers on three different well-established OSS projects,
examined email and chat archives, and analyzed project artifacts such as sourcecode repositories, web pages, and official project documentation
Expected that projects would be set up to reduce awareness requirements, with
each software module carefully partitioned and protected from others.
Found that official partitioning is limited, and that developers can contribute to any
part of the code – an organizational approach that increases awareness
requirements
Found that the developers were able to maintain a good general awareness of
other developers and their activities, and were able to find more detailed
information about people’s activities when they needed to
The main mechanisms for maintaining group awareness were simple text
communication tools – developer mailing lists and text chat
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
39
Situational Awareness Support to Enhance
Teamwork in Collaborative Environments
• [Olga, 2008]
• Situational Awareness (SA) definition
•
•
•
Previous knowledge and understanding of the situation
Detection of relevant information from the environment
Interpretation of these information and reconfiguration
• Research Approach (Exploratory study)
•
Included contextual observations, interviews and task analysis, have
been translated into requirements for support of multidisciplinary
teamwork in life sciences
• Conclusion
•
Designing systems that support situational awareness is of great
importance to ensure that a collaborative environment enables
efficient and effective team coordination and decision making.
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
40
A Comprehensive Evaluation of Workspace
Awareness in Software Configuration
Management Systems [Anita, 2007]
• Workspace tool – Palantir
•
Tool used to monitor code, which is usually manually merged,
change
• Method – Experiment
•
•
Eclipse & CVS vs. Eclipse & CVS & Palantir
The same as above plus UML diagram
• Result
•
•
Subjects clearly monitor awareness cues
Filters are useful
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
41
Palantir
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
42
Conflict Detection and Resolution for Direct and Indirect Conflicts for Control and Experimental Groups
Time to completion
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
43
Indirect conflicts detection
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
44
Empirical Evidence of the Benefits of
Workspace Awareness in Software
Configuration Management [Anita, 2008]
• Method – Experiments ( two-stage)
•
•
Edit text file experiment
Edit Java code experiment
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
45
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
46
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
47
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
48
Results
• The tool is helpful in many ways
• Threats
•
•
How to generalize the result
How to make the experiment closer to real development
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
49
Comparison of Papers:
Awareness & Collaboration
• Awareness improves collaboration
• Collaboration needs communication interface (Partial
awareness?)
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
50
Agenda
 Overview
 Paper discussion



Onboarding
Finding experts
Maintaining awareness
 Summary
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
51
Session Summary
• Onboarding & Finding expert & Awareness
•
•
•
Tools tend to provide quantitative data to help manager’s judgment
How to generalize the result is still a problem (Can be solved?)
How to improve the accuracy of result?
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
52
Thank you! ^_^
The INI is a cooperative endeavor of:
College of Engineering
Tepper School of Business
School of Computer Science
Heinz College
53
Download