Computing, School of

 

School of Computing: Technical Reports

Accessibility Remediation

If you are unable to use this item in its current form due to accessibility barriers, you may request remediation through our remediation request form.

Date of this Version

2012

Document Type

Article

Citation

Department of Computer Science & Engineering, University of Nebraska-Lincoln, Technical Report, TR-UNL-CSE-2012-0002

Comments

Copyright 2012 University of Nebraska-Lincoln.

Abstract

Understanding the basic structure of a code base and a development team are essential to get new developers up to speed in a software development project. Developers do so through the process of early experimentation with code and the creation of mental models of technical and social structures in a project. However, getting up-to-speed in a new project can be challenging due to difficulties in: finding the right place to begin explorations, expanding the focus to determine relevant resources for tasks, and identifying dependencies across project elements to gain a high-level overview of project structures. In this thesis, I first identified six challenges that developers face during the process of developer onboarding from recent research studies and informal interviews with developers. To address these challenges, I implemented automated tool support with enhanced resource finding and visual exploration. Specifically, I proposed six functional requirements for supporting developers onboarding. I then extended the project tool Tesseract to support these functionalities to help novice developers and relevant resources (files, developers, bugs, etc.) and understand project structures when joining a new project. To understand how the onboarding functionalities work in supporting developers' onboarding process, I conducted a user study with typical onboarding tasks requiring early experimentation and internalizing project structures. The results indicated that enhanced search features, the ability to explore semantic relationships across repositories, and network-centric visualizations of project structures were very effective in supporting onboarding.

Share

COinS