In this paper we reflect on our decade-long journey of creating, evolving, and evaluating a number of software design concepts and technical debt management technologies. These include: a novel maintainability metric, a new model for representing design information, a suite of design anti-patterns, and a formalized model of design debt. All of these concepts are rooted in options theory, and they all share the objective of helping a software project team quantify and visualize major design principles, and address the very real maintainability challenges faced by their organizations in practice. The evolution of our research has been propelled by our continuous interactions with industrial collaborators. For each concept, technology, and supporting tool, we embarked on an ambitious program of empirical validation—in “the lab”, with industry partners, and with open source projects. We reflect on the successes of this research and on areas where significant challenges remain. In particular, we observe that improved software design education, both for students and professional developers, is the prerequisite for our research and technology to be widely adopted. During this journey, we also observed a number of gaps: between what we offer in research and what practitioners need, between management and development, and between debt detection and debt reduction. Addressing these challenges motivates our research moving forward.
more »
« less
Software development data for architecture analysis: expectations, reality, and future directions
Recently we have worked with a dozen industrial collaborators to pinpoint and quantify architecture debts, from multi-national corporations to startup companies. Our technology leverages a wide range of project data, from source file dependencies to issue records, and we interacted with projects of various sizes and characteristics. Crossing the border between research and practice, we have observed significant gaps in terms of data availability and quality among projects of different kinds. Compared with successful open source projects, data from proprietary projects are rarely complete or well-organized. Consequently, not all projects can benefit from all the features and analyses we provide. This, in turn, made them realize they needed to improve their development processes. In this talk, we categorize the commonly observed differences between open source and proprietary project data, analyze the reasons for such differences, and propose suggestions to minimize the gaps, to facilitate advances to both software research and practice.
more »
« less
- Award ID(s):
- 1816594
- PAR ID:
- 10194575
- Date Published:
- Journal Name:
- Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering: Software Engineering in Practice
- Page Range / eLocation ID:
- 231 to 232
- Format(s):
- Medium: X
- Sponsoring Org:
- National Science Foundation
More Like this
-
-
Attracting and retaining new developers is often at the heart of open-source project sustainability and success. Previous research found many intrinsic (or endogenous) project characteristics asso- ciated with the attractiveness of projects to new developers, but the impact of factors external to the project itself have largely been overlooked. In this work, we focus on one such external factor, a project’s labor pool, which is dened as the set of contributors active in the overall open-source ecosystem that the project could plausibly attempt to recruit from at a given time. How are the size and characteristics of the labor pool associated with a project’s attractiveness to new contributors? Through an empirical study of over 516,893 Python projects, we found that the size of the project’s labor pool, the technical skill match, and the social connection be- tween the project’s labor pool and members of the focal project all signicantly inuence the number of new developers that the focal project attracts, with the competition between projects with overlapping labor pools also playing a role. Overall, the labor pool factors add considerable explanatory power compared to models with only project-level characteristics.more » « less
-
The diffusion of information about open-source projects is a key factor influencing the adoption of projects and the allocation of developer efforts. Developers learn about new projects, and evaluate their quality and importance by accessing the related information. Social media is an important channel for information diffusion about open-source projects, with previous research suggesting the existence of a social media ecosystem that consists of multiple platforms and collectively supports information diffusion in open source. With different features supporting information diffusion, the same piece of information likely reaches different developer communities on different platforms, which attracts the attention and contribution of different developers and thus influences the success of open-source projects. Despite its importance, few works looked at the identity of the developer community that projectrelated information reaches on social media platforms and its associated impact on the discussed project. In this work, we track social media discussions on open-source projects on three different platforms: Twitter, HackerNews, and Reddit. We first describe the dynamics of project-related information diffusion across platforms, and we analyze the association between the number of posts on each platform, and the number of developers attracted to the discussed project from different communities. We find that posts about open-source projects first appear on Twitter and HackerNews, then move more towards Reddit. The number of project-related posts on Twitter mostly associate with the attracted developers from communities that are close to the project’s main contributor, while posts on other platforms associate more with the attention from remote communities.more » « less
-
Open source software represents an important form of digital infrastructure as well as a pathway to technical careers for many developers, but women are drastically underrepresented in this setting. Although there is a good body of literature on open source participation, there is very little understanding of the participation trajectories and contribution experiences of women developers, and how they compare to those of men developers, in open source software projects. In order to understand their joining and participation trajectories, we conducted interviews with 23 developers (11 men and 12 women) who became core in an open source project. We identify differences in women and men's motivations for initial contributions and joining processes (e.g. women participating in projects that they have been invited to) and sustained involvement in a project. We also describe unique negative experiences faced by women contributors in this setting in each stage of participation. Our results have implications for diversifying participation in open source software and understanding open source as a pathway to technical careers.more » « less
-
null (Ed.)Background. It is well recognized that current graduate education is too narrowly focused on thesis research. Graduate students have a strong desire to gain skills for their future career success beyond thesis research. This obvious gap in professional skill training in current graduate study also leads to the common student perception that professional skills beyond academic knowledge should only be gained after completion of thesis research. Purpose. A new program is being developed to rigorously integrate professional skills training with thesis research. The approach is to establish learning communities of Graduates for Advancing Professional Skills (GAPS) to incorporate project management skill training from industry into academic research. The GAPS program seeks to address two fundamental education research questions: How can project management skill training be integrated with thesis research in graduate education? What is the role/value of learning communities in enhancing the training and retention of professional skills and the effectiveness of thesis research? Our proposed solution is that graduate student learning communities engaging in a blended online and classroom approach will promote learning of professional skills such as project and time management in thesis research activities. The purpose of this session is to establish the connection between project management and thesis research, and demonstrate the beginning progress of the GAPS program towards. Methodology/approach. The following progress is being made to establish GAPS learning communities through which to teach and practice professional skills. A website has been developed to introduce the program, recruit participants, provide information on the online modules, and survey results of participants’ current levels of knowledge and skills related to project management. A new course, “Introduction of Project Management for Thesis Research”, has been added to the course catalog and open to enrollment for students from different majors. In addition, learning modules including project charter, scheduling, communication, teamwork, critical path method, and lean concept are developed. Case studies and examples have been developed to help students learn how to utilize project management skills in their thesis research. Conclusions. The concept of integrating professional skills training with thesis research through learning communities has been demonstrated. There are multiple advantages of this approach, including efficient utilization of the current resources, and faculty buy-in. Preliminary data from the first cohort are being collected and analyzed to identify students’ needs, benefits of the program, and areas of improvement for future cohort iterations. Implications. The GAPS program will improve professional skill training for graduate students through communities of practice. This new learning model has the potential to fundamentally change the culture of graduate education. We believe the method demonstrated here can be broadly applied to different engineering majors, and even broadly to all thesis research.more » « less
An official website of the United States government

