148,527 research outputs found
Recommended from our members
A Large-Scale Study of Modern Code Review and Security in Open Source Projects.
Why Modern Open Source Projects Fail
Open source is experiencing a renaissance period, due to the appearance of
modern platforms and workflows for developing and maintaining public code. As a
result, developers are creating open source software at speeds never seen
before. Consequently, these projects are also facing unprecedented mortality
rates. To better understand the reasons for the failure of modern open source
projects, this paper describes the results of a survey with the maintainers of
104 popular GitHub systems that have been deprecated. We provide a set of nine
reasons for the failure of these open source projects. We also show that some
maintenance practices -- specifically the adoption of contributing guidelines
and continuous integration -- have an important association with a project
failure or success. Finally, we discuss and reveal the principal strategies
developers have tried to overcome the failure of the studied projects.Comment: Paper accepted at 25th International Symposium on the Foundations of
Software Engineering (FSE), pages 1-11, 201
Video Game Development in a Rush: A Survey of the Global Game Jam Participants
Video game development is a complex endeavor, often involving complex
software, large organizations, and aggressive release deadlines. Several
studies have reported that periods of "crunch time" are prevalent in the video
game industry, but there are few studies on the effects of time pressure. We
conducted a survey with participants of the Global Game Jam (GGJ), a 48-hour
hackathon. Based on 198 responses, the results suggest that: (1) iterative
brainstorming is the most popular method for conceptualizing initial
requirements; (2) continuous integration, minimum viable product, scope
management, version control, and stand-up meetings are frequently applied
development practices; (3) regular communication, internal playtesting, and
dynamic and proactive planning are the most common quality assurance
activities; and (4) familiarity with agile development has a weak correlation
with perception of success in GGJ. We conclude that GGJ teams rely on ad hoc
approaches to development and face-to-face communication, and recommend some
complementary practices with limited overhead. Furthermore, as our findings are
similar to recommendations for software startups, we posit that game jams and
the startup scene share contextual similarities. Finally, we discuss the
drawbacks of systemic "crunch time" and argue that game jam organizers are in a
good position to problematize the phenomenon.Comment: Accepted for publication in IEEE Transactions on Game
Are Delayed Issues Harder to Resolve? Revisiting Cost-to-Fix of Defects throughout the Lifecycle
Many practitioners and academics believe in a delayed issue effect (DIE);
i.e. the longer an issue lingers in the system, the more effort it requires to
resolve. This belief is often used to justify major investments in new
development processes that promise to retire more issues sooner.
This paper tests for the delayed issue effect in 171 software projects
conducted around the world in the period from 2006--2014. To the best of our
knowledge, this is the largest study yet published on this effect. We found no
evidence for the delayed issue effect; i.e. the effort to resolve issues in a
later phase was not consistently or substantially greater than when issues were
resolved soon after their introduction.
This paper documents the above study and explores reasons for this mismatch
between this common rule of thumb and empirical data. In summary, DIE is not
some constant across all projects. Rather, DIE might be an historical relic
that occurs intermittently only in certain kinds of projects. This is a
significant result since it predicts that new development processes that
promise to faster retire more issues will not have a guaranteed return on
investment (depending on the context where applied), and that a long-held truth
in software engineering should not be considered a global truism.Comment: 31 pages. Accepted with minor revisions to Journal of Empirical
Software Engineering. Keywords: software economics, phase delay, cost to fi
Motivation, Design, and Ubiquity: A Discussion of Research Ethics and Computer Science
Modern society is permeated with computers, and the software that controls
them can have latent, long-term, and immediate effects that reach far beyond
the actual users of these systems. This places researchers in Computer Science
and Software Engineering in a critical position of influence and
responsibility, more than any other field because computer systems are vital
research tools for other disciplines. This essay presents several key ethical
concerns and responsibilities relating to research in computing. The goal is to
promote awareness and discussion of ethical issues among computer science
researchers. A hypothetical case study is provided, along with questions for
reflection and discussion.Comment: Written as central essay for the Computer Science module of the
LANGURE model curriculum in Research Ethic
- …