Developing sustainable software for the scientific community requires expertise in software engineering and domain science. This can be challenging due to the unique needs of scientific software, the insufficient resources for software engineering practices in the scientific community, and the complexity of developing for evolving scientific contexts. While open‐source software can partially address these concerns, it can introduce complicating dependencies and delay development. These issues can be reduced if scientists and software developers collaborate. We present a case study wherein scientists from the SuperNova Early Warning System collaborated with software developers from the Scalable Cyberinfrastructure for Multi‐Messenger Astrophysics project. The collaboration addressed the difficulties of open‐source software development, but presented additional risks to each team. For the scientists, there was a concern of relying on external systems and lacking control in the development process. For the developers, there was a risk in supporting a user‐group while maintaining core development. These issues were mitigated by creating a second Agile Scrum framework in parallel with the developers' ongoing Agile Scrum process. This Agile collaboration promoted communication, ensured that the scientists had an active role in development, and allowed the developers to evaluate and implement the scientists' software requirements. The collaboration provided benefits for each group: the scientists actuated their development by using an existing platform, and the developers utilized the scientists' use‐case to improve their systems. This case study suggests that scientists and software developers can avoid scientific computing issues by collaborating and that Agile Scrum methods can address emergent concerns.
more » « less- PAR ID:
- 10445443
- Author(s) / Creator(s):
- ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; more »
- Publisher / Repository:
- Wiley Blackwell (John Wiley & Sons)
- Date Published:
- Journal Name:
- Software: Practice and Experience
- Volume:
- 52
- Issue:
- 10
- ISSN:
- 0038-0644
- Format(s):
- Medium: X Size: p. 2077-2096
- Size(s):
- p. 2077-2096
- Sponsoring Org:
- National Science Foundation
More Like this
-
null (Ed.)This RESEARCH paper examines faculty perceptions regarding the use of Scrum for departmental operations. Scrum is an agile methodology that applies processes and procedures that encourage transparency, inspection, and adaptation in the creation of a product. Across the literature for engineering education change, there has been a focus on identifying the barriers and affordances to cultural change in engineering departments. The objective of this paper is to examine the driving factors and barriers to implementing Scrum for departmental operations. The paper will specifically address how a group of faculty about to adopt Scrum perceive the impact of that adoption on potential changes to departmental operations and culture. Findings indicate concerns with the traditional barriers of time and workload. However, they also indicate that there is some expectation for Scrum to decrease elements of the faculty workload and reduce time to complete tasks. These findings also build on the understanding of how faculty collaboration is perceived as both a barrier and affordance to departmental change.more » « less
-
With the emergence of social coding platforms, collaboration has become a key and dynamic aspect to the success of software projects. In such platforms, developers have to collaborate and deal with issues of collaboration in open-source software development. Although collaboration is challenging, collaborative development produces better software systems than any developer could produce alone. Several approaches have investigated collaboration challenges, for instance, by proposing or evaluating models and tools to support collaborative work. Despite the undeniable importance of the existing efforts in this direction, there are few works on collaboration from perspectives of developers. In this work, we aim to investigate the perceptions of open-source software developers on collaborations, such as motivations, techniques, and tools to support global, productive, and collaborative development. Following an ad hoc literature review, an exploratory interview study with 12 open-source software developers from GitHub, our novel approach for this problem also relies on an extensive survey with 121 developers to confirm or refute the interview results. We found different collaborative contributions, such as managing change requests. Besides, we observed that most collaborators prefer to collaborate with the core team instead of their peers. We also found that most collaboration happens in software development (60%) and maintenance (47%) tasks. Furthermore, despite personal preferences to work independently, developers still consider collaborating with others in specific task categories, for instance, software development. Finally, developers also expressed the importance of the social coding platforms, such as GitHub, to support maintainers, and contributors in making decisions and developing tasks of the projects. Therefore, these findings may help project leaders optimize the collaborations among developers and reduce entry barriers. Moreover, these findings may support the project collaborators in understanding the collaboration process and engaging others in the project.more » « less
-
null (Ed.)What might it mean to be an agile academic department? An agile college? An agile university? “Agile”, as used here, refers to practices and frameworks in software development and deployment, such as Scrum, Extreme Programming, and Crystal Clear. The Agile movement’s founding documents, the Agile Manifesto and its accompanying Agile Principles [https://agilemanifesto.org/], were published by leading software engineering researchers in February of 2001. The Manifesto staked out distinction with the prevailing software development approach at the time, called planned development and otherwise known as waterfall. The Agile Manifesto states, "We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: "Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan "That is, while there is value in the items on the right, we value the items on the left more.” Since the Manifesto’s publication, Agile use has expanded from its then primarily application in software development into a wide range of activities, from rocket motors (Space X), to race car development (Wikispeed), to finance (World Bank), to human resources (ING). Denning postulates Three Laws of the Agile Mindset: (1) The Law of the Small Team, in which small cross-functions teams work in short iterations receiving regular customer feedback; (2) The Law of the Customer, in which delighting the customer is taken as the ultimate purpose for any enterprise; and (3) The Law of the Network, in which networks of small teams act, having trust in the competency of each other, act like small teams in themselves [The Age of Agile: How Smart Companies Are Transforming the Way Work Gets Done. AMACOM, 2018]. Academic enterprises have unique attributes — recurring, months long, instructional terms; “customers” (students) whose short-term dissatisfaction can be part of the path to long-term success; industrial stakeholders who influence program direction and focus to satisfy hiring needs; generation of new knowledge, often with financial support from government agencies and industry; service to the profession and to our institutions. Using Denning’s Laws as a framing, we present possible approaches to employing agile within an academic department and discuss potential expansion of such to the level of a college and even an entire university.more » « less
-
Barnard, Daron (Ed.)Open educational resources, or OER, are teaching materials that reside in the public domain and are available under an open license. While the creation of high-quality materials and cyberinfrastructure to share these resources is important, OER are much more than static resource repositories. Vibrant OER communities function as collaboration hubs and often include librarians, instructional technologists, instructors, education researchers, funders, open-source software developers, and college administrators. Together, these individuals work as a community to respond to changes in the education landscape, support student learning impacts both in terms of cost savings and student retention, and solve issues related to broadly sharing open resources on the web. This essay provides general information about OER, describes communities developing OER for science, technology, engineering, and mathematics education, and presents insights about sustainability challenges. The sustainability challenges are organized according to multiple dimensions: cultural and social, economic and financial, and technological and environmental. In addition, OER provide important opportunities to address and promote social justice and open and accessible education philosophies. Knowing more about the OER landscape, sustainability challenges, and educational justice opportunities can help instructors use and contribute to this growing movement to reshape the landscape of undergraduate education.more » « less
-
Traditionally, safety-critical projects have been developed using the waterfall process. However, this makes it costly and challenging to incrementally introduce new features and to certify the modified product for use. As a result, there has been increasing interest in adopting agile development paradigms within the safety-critical domain. This in turn introduces numerous challenges. In this paper we address the specific problems of discovering, analyzing, specifying, and managing safety requirements within the agile Scrum process. We propose SafetyScrum, a methodology that augments the Scrum life-cycle with incrementally applied safety-related activities and introduces the notion of ``safety debt'' for incrementally tracking the current safety status of a project. We demonstrate the viability of SafetyScrum for managing safety stories in an agile development environment by applying it to a project in which our existing Unmanned Aerial Vehicle system is enhanced to support a River-Rescue scenario.more » « less