Investigating the Impact of Experience and Solo/Pair Programming on Coding Efficiency: Results and Experiences from Coding Contests
Dietmar Winkler, Martin Kitzler, Christoph Steindl, and Stefan Biffl
Developing working software is a key goal of software development. Beyond software processes, following traditional or agile approaches, coding strategies, i.e., solo and pair programming, are important aspects for constructing high quality software code. In addition developer experience has a critical impact on coding efficiency and code quality. Pair programming aims at increasing coding efficiency, code quality, and supports learning of development team members. Several controlled experiments have been conducted to investigate benefits of different development strategies, learning effects, and the impact on code quality in academia and industry. Nevertheless, reported study limitations and various results in different contexts require more studies to fully understand the effects of experience and programming strategies. Coding contests can be promising approaches to (a) involve different participant groups, e.g., junior and senior programmers and professionals, and (b) can represent a well-defined foundation for planning and executing large- scale empirical studies. In this paper we present coding contests as a promising strategy for conducting empirical studies with heterogeneous groups of participants and report on a set of findings from past coding contests. Main results are (a) that the concept of coding contests is a promising way for supporting empirical research and (b) the results partly confirm previous studies that report on the benefits of pair programming and development experience.
Dietmar Winkler is working as researcher and lecturer at the Christian Doppler Laboratory for “Software Engineering Integration for Flexible Automation Systems” (CDL-Flex) and the Institute of Software Technology and Interactive Systems at the TU Vienna. In 2003 he received an MS in computer science from TU Vienna, Austria. He worked as a guest researcher at the Czech Technical University, Department of Cybernetics in 2007 and received a PhD research scholarship at Fraunhofer IESE in Kaiserslautern, Germany, in 2008. Since 2010 he is researcher for quality management and software process improvement at the CDL-Flex at TU Vienna. Moreover, he is working as software engineering and process and quality management consultant in software and systems engineering industry. His research interests include Software Engineering, Engineering Processes, Quality Management, and Empirical Software Engineering.
Laboratory for Software Engineering Integration for Flexible Automation Systems, Vienna University of Technology, Institute of Software Technology and Interactive Systems, Favoritenstrasse 9-11/188, 1040 Vienna, Austria, firstname.lastname@example.org, http://qse.ifs.tuwien.ac.at/~winkler and http://cdl.ifs.tuwien.ac.at
Martin Kitzler is a student in the computer science masters-program of the Vienna University of Technology. In his master thesis he writes about the using coding contests to evaluate benefits and drawbacks of pair programming. Since 2011 he is working for Catalysts GmbH as a software engineer, specialized on Java Enterprise Solutions in agile environments.
Catalysts GmbH; Huemerstraße 23, 4020 Linz, Austria, email@example.com
After earning his PhD at the Johannes Kepler University Linz, Christoph Steindl joined IBM Global Services as an IT Architect. Soon he became a core member of the (IBM internal) community Agile@IBM. In 2005 he quit his job and started working as an agile consultant. His company Catalysts fully embraces agile and lean practices. In 2007 organized the first Catalysts Coding Contest (http://contest.catalysts.cc). By now, several hundred software developers participate 3 times per year.
Founder and CEO of Catalysts, Catalysts GmbH; Huemerstraße 23, 4020 Linz, Austria, firstname.lastname@example.org
Stefan Biffl is an associate professor of software engineering at the Institute of Software Technology and Interactive Systems, TU Vienna. He received MS and PhD degrees in computer science from TU Vienna and an MS degree in social and economic sciences from the University of Vienna in 2001. He received an Erwin-Schrödinger research scholarship and spent one year as researcher at the Fraunhofer IESE, focusing on quality management and empirical software engineering. Also, in 2001 he received the Habilitation degree Venia Docendi for his work on empirical software engineering in project management and quality management. In 2006 he worked as guest researcher at Czech Technical University, Department of Cybernetics. Since 2010 Stefan Biffl is the head of the Christian Doppler research laboratory “CDL-Flex”.
Laboratory for Software Engineering Integration for Flexible Automation Systems, Vienna University of Technology, Institute of Software Technology and Interactive Systems, Favoritenstrasse 9-11/188, 1040 Vienna, Austria, email@example.com, http://qse.ifs.tuwien.ac.at/~biffl and http://cdl.ifs.tuwien.ac.at