Communication in Firm-Internal Global Software Development with China

Abstract: Globally distributed software development projects are on the rise. However, 69% of cross-regional projects fail completely or partially, because of lack of cross-cultural understanding. This paper presents a qualitative study of the impact of communication on Global Software Development (GSD) within firms due to cultural differences. In particular, we provide a model of problems and solutions related to communication of German/Chinese and American/Chinese collaborations in GSD. The model was derived using grounded theory to study six globally distributed software development projects. The results may not only help companies understand cultural problems, but also help them overcome these problems. To this end, we discuss the solutions adopted by the multinational software companies that we studied.

Keywords: Global software development, globally distributed software development, collaboration with China communication, trust

Reference: Bilal Zaghloul, Dirk Riehle, Minghui Zhou. “Communication in Firm-Internal Global Software Development with China.” In Proceedings of the 6th International Conference on Software Business (ICSOB 2015). Springer Verlag. Page 132-138.

The paper is available as a PDF file.

Inner Source in Platform-based Product Engineering Technical Report

Abstract: Inner source is an approach to collaboration across intra-organizational boundaries for the creation of shared reusable assets. Prior project reports on inner source suggest improved code reuse and better knowledge sharing. Using a multiple-case case study research approach, we analyze the problems that three major software development organizations were facing in their platform-based product engineering efforts. We find that a root cause, the separation of product units as profit centers from a platform organization as a cost center, leads to delayed deliveries, increased defect rates, and redundant software components. All three organizations assume that inner source can help solve these problems. The article analyzes the expectations that these companies were having towards inner source and the problems they were experiencing or expecting in its adoption. Finally, the article presents our conclusions on how these organizations should adapt their existing engineering efforts.

Keywords: Inner source, product line engineering, product engineering, software platforms

Reference: Dirk Riehle, Maximilian Capraro, Lars Horn, Detlef Kips. “Inner Source in Platform-based Product Engineering.” Friedrich-Alexander-Universität Erlangen-Nürnberg, Dept. of Computer Science, Technical Report, CS-2015-02. Erlangen, Germany, 2015.

This early technical report was superseded by the final publication on inner source in platform-based product engineering.

How Open Source is Changing the Software Developer’s Career

Abstract: Software developers with open source project experience acquire verifiable technical expertise, peer-​certified competencies, and positional power—advantages that align with companies’ need to obtain a competitive advantage. Read more…

Keywords: Software developer career, software labor economics, high-tech labor market, open source, inner source

Reference: Dirk Riehle. “How Open Source is Changing the Software Developer’s Career.” IEEE Computer vol. 48, no. 5 (May 2015). Page 51-57.

The paper is available in an unabridged HTML version or as a heavily edited PDF file.

From Developer Networks to Verified Communities: A Fine-Grained Approach

Abstract: Effective software engineering demands a coordinated effort. Unfortunately, a comprehensive view on developer coordination is rarely available to support software-engineering decisions, despite the significant implications on software quality, software architecture, and developer productivity. We present a fine-grained, verifiable, and fully automated approach to capture a view on developer coordination, based on commit information and source-code structure, mined from version-control systems. We apply methodology from network analysis and machine learning to identify developer communities automatically. Compared to previous work, our approach is fine-grained, and identifies statistically significant communities using order-statistics and a community-verification technique based on graph conductance. To demonstrate the scalability and generality of our approach, we analyze ten open-source projects with complex and active histories, written in various programming languages. By surveying 53 open-source developers from the ten projects, we validate the authenticity of inferred community structure with respect to reality. Our results indicate that developers of open-source projects form statistically significant community structures and this particular view on collaboration largely coincides with developers’ perceptions of real-world collaboration.

Keywords: Open source, social network analysis, developer networks, developer communities, respository mining, conductance

Reference: Mitchell Joblin, Wolfgang Mauerer, Sven Apel, Janet Siegmund, Dirk Riehle. “From Developer Networks to Verified Communities: A Fine-Grained Approach.” In Proceedings of the 37th International Conference on Software Engineering (ICSE 2015). IEEE Press, 563-573.

The paper is available as a PDF file.

How Developers Acquire FLOSS Skills

Abstract: With the increasing prominence of open collaboration as found in free/libre/open source software projects and other joint production communities, potential participants need to acquire skills. How these skills are learned has received little research attention. This article presents a large-scale survey (5,309 valid responses) in which users and developers of the beta release of a popular file download application were asked which learning styles were used to acquire technical and social skills. We find that the extent to which a person acquired the relevant skills through informal methods tends to be higher for free/libre/open source code contributors, while being a professional software developer does not have this effect. Additionally, younger participants proved more likely to make use of formal methods of learning. These insights will help individuals, commercial companies, educational institutions, governments and open collaborative projects decide how they promote learning.

Keywords: Competencies, informal learning, non-formal learning, open source, skills, software developer

Reference: Ann Barcomb, Michael Grottke, Jan-Philipp Stauffert, Dirk Riehle, Sabrina Jahn. “How Developers Acquire FLOSS Skills.” In Proceedings of the 11th International Conference on Open Source Systems (OSS 2015). Springer Verlag. Page 23-32.

The paper is available as a PDF file.

Improving Traceability of Requirements through Qualitative Data Analysis

Abstract: Traceability is an important quality aspect in modern software development. It facilitates the documentation of decisions and helps identifying conflicts regarding the conformity of one artifact to another. We propose a new approach to requirements engineering that utilizes qualitative research methods, which have been well established in the domain of social science. Our approach integrates traceability between the original documentation and the requirements specification and the domain model and glossary and supports adaptability to change.

Keywords: Requirements analysis, requirements traceability, qualitative data analysis

Reference: Andreas Kaufmann, Dirk Riehle. “Improving Traceability of Requirements through Qualitative Data Analysis.” In Proceedings of the 2015 Software Engineering Konferenz (SE 2015). Springer Verlag. Pages 165-170.

The paper is available as a PDF file.

Fine-grained Change Detection in Structured Text Documents (DocEng 2014)

Abstract: Detecting and understanding changes between document revisions is an important task. The acquired knowledge can be used to classify the nature of a new document revision or to support a human editor in the review process. While purely textual change detection algorithms offer fine-grained results, they do not understand the syntactic meaning of a change. By representing structured text documents as XML documents we can apply tree-to-tree correction algorithms to identify the syntactic nature of a change. Many algorithms for change detection in XML documents have been propsed but most of them focus on the intricacies of generic XML data and emphasize speed over the quality of the result. Structured text requires a change detection algorithm to pay close attention to the content in text nodes, however, recent algorithms treat text nodes as black boxes. We present an algorithm that combines the advantages of the purely textual approach with the advantages of tree-to-tree change detection by redistributing text from non-over-lapping common substrings to the nodes of the trees. This allows us to not only spot changes in the structure but also in the text itself, thus achieving higher quality and a fine-grained result in linear time on average. The algorithm is evaluated by applying it to the corpus of structured text documents that can be found in the English Wikipedia.

Keywords: XML, WOM, structured text, change detection, tree matching, tree differencing, tree similarity, tree-to-tree correction, diff

Reference: Hannes Dohrn, Dirk Riehle. “Fine-grained Change Detection in Structured Text Documents.” In Proceedings of the 2014 Symposium on Document Engineering (DocEng 2014). Page 87-96.

The paper is available as a PDF file.

Erfolgsmethoden der Open-Source-Governance und -Compliance (Best Practices of Open-Source-Governance and -Compliance, in German)

Abstract: Open-Source-Software ist weit verbreitet und wird nicht nur als alleinstehende Anwendungen eingesetzt, sondern auch als Komponenten in Produkten. Entsprechend wichtig ist es für Unternehmen, die Open-Source-Komponenten verwenden, mittels Open-Source-Governance und -Compliance sicherzustellen, dass die dem Einsatz von Open Source eigenen Risiken rechtzeitig und korrekt adressiert werden. Aufbauend auf früherer Arbeit zu den Risiken der Open-Source-Verwendung stellt dieser Artikel ein Modell und beispielhafte Erfolgsmethoden („Best Practices“) vor, mit denen Produktunternehmen diesen Risiken begegnen können. Das Modell und die Erfolgsmethoden stellen einen Auszug aus einem in Entwicklung befindlich Handbuch zur Open-Source-Governance und -Compliance dar. Weitere Information zu diesem Handbuch kann vom ersten Autor erfragt werden.

Keywords: Open-Source-Governance, Open-Source-Compliance, Open-Source-Risiken, Open-Source-Chancen, Open-Source-Zertifizierung, Softwareökosystem, Softwarelieferanten, Softwarelieferkette, Open Source, Closed Source, Open-Source-Prozess, Open-Source-Praktiken, Erfolgsmethoden.

Reference: Dirk Riehle and Benedikt Lempetzeder. Erfolgsmethoden der Open-Source-Governance und -Compliance. Friedrich-Alexander-Universität Erlangen-Nürnberg, Dept. of Computer Science, Technical Reports, CS-2014-02, May 2014.

The report is available as a PDF file and on FAU’s OPUS.

Handbuch: Falls Sie an einem Handbuch der Erfolgsmethoden der Open-Source-Governance und -Compliance interessiert sind, wenden Sie sich bitte direkt an mich.

The Five Stages of Open Source Volunteering

This technical report was superseded by a republication by Springer Verlag. Please cite and use the later publication.

Abstract: Today’s software systems build on open source software. Thus, we need to understand how to successfully create, nurture, and mature the software development communities of these open source projects. In this report, we review and discuss best practices of the open source volunteering and recruitment process that successful project leaders are using to lead their projects to success. We combine the perspective of the volunteer, looking at a project, with the perspective of a project leader, looking to find additional volunteers for the project. We identify a five-stage process consisting of a connecting, understanding, engaging, performing, and leading stage. The underlying best practices, when applied, significantly increase the chances for a successful open source project.

Keywords: Open source software, open source communities, volunteering process

Reference: Dirk Riehle. The Five Stages of Open Source Volunteering. Friedrich-Alexander-Universität Erlangen-Nürnberg, Dept. of Computer Science, Technical Reports, CS-2014-01, March 2014.

The report is available as a PDF file, on FAU’s OPUS, and as HTML.

Editorial to Special Journal Issue: The Unstoppable Rise of Open Source

(This is the editorial I wrote for the it – Information Technology, vol. 55, no. 5, journal issue, a special issue on open source that I edited.)

The Unstoppable Rise of Open Source

Dirk Riehle, Friedrich-Alexander University (of Erlangen-Nürnberg)

Open source software is software that is available for everyone to use for free, to adapt to one’s needs for free, and to pass on to other interested parties, for free as well [1]. Beyond the legal definition, the open source movement has brought the world a new way of developing software. Open source is a “development method for software that harnesses the power of distributed peer review and transparency of process. The promise of open source is better quality, higher reliability, more flexibility, lower cost, and an end to predatory vendor lock-in.” [2]

Underlying open source software development are the principles of open transparent collaboration: egalitarianism (everyone may participate, nobody is excluded a priori), meritocracy (decisions are based on the merits of the arguments) and self-organization (processes are adapted to people and project communities rather than people and project communities to processes) [3].

Continue reading “Editorial to Special Journal Issue: The Unstoppable Rise of Open Source”