Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Minor blog edits #29

Merged
merged 5 commits into from
Aug 30, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 12 additions & 12 deletions WorkshopResources/WorkshopSlidesNotes/Day1-Blog.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,26 +3,26 @@
### Contributors
- Todd Munson, Argonne National Laboratory, GitHub: tmunson
- Anshu Dubey, Argonne National Laboratory, GitHub: adubey64
- Sam Yates, Swiss National Supercomputing Centre; GitHub: halfflat
- Sam Yates, Swiss National Supercomputing Centre, GitHub: halfflat
- Barry Smith, Argonne National Laboratory, GitHub: BarrySmith
- Sarah Knepper, Intel Corporation; GitHub: sknepper
- Ulrike Meier Yang, Lawrence Livermore National Laboratory; GitHub: ulrikeyang
- Reed Milewicz, Sandia National Labs, GitHub: rmmilewi
- Jacob Moxley, Sandia National Labs, jmox0351
- Sarah Knepper, Intel Corporation, GitHub: sknepper
- Ulrike Meier Yang, Lawrence Livermore National Laboratory, GitHub: ulrikeyang
- Reed Milewicz, Sandia National Laboratories, GitHub: rmmilewi
- Jacob Moxley, Sandia National Laboratories, GitHub: jmox0351
- Ben Cowan, Pilot AI, GitHub: benc303
- Sarah Osborn, Lawrence Livermore National Laboratory, GitHub: osborn9
- Robert Jacob, Argonne National Laboratory, GitHub: rljacob
- Jim Pivarski, Princeton and IRIS-HEP, GitHub: jpivarski
- Gerasimos Chourdakis, Technical University of Munich, GitHub: MakisH
- Jay Lofstead, Sandia National Labs, GitHub: gflofst
- Cody Balos, Lawrence Livermore National Laboratory, GitHub: balos1
- Lois Curfman McInnes, Argonne National Laboratory, Github: curfman
- Lois Curfman McInnes, Argonne National Laboratory, GitHub: curfman
- Jed Brown, CU Boulder, GitHub: jedbrown
- James Willenbring, Sandia National Labs, GitHub: jwillenbring
- James Willenbring, Sandia National Laboratories, GitHub: jwillenbring
- Vadim Dyadechko, ExxonMobil, GitHub: vdyadechko
- Elaine Raybourn, Sandia National Labs, GitHub: elaineraybourn
- Elaine Raybourn, Sandia National Laboratories, GitHub: elaineraybourn
### Editors:
- Michael A. Heroux, St. John's University, Sandia National Labs, GitHub: maherou
- Michael A. Heroux, St. John's University, Sandia National Laboratories, GitHub: maherou
- Johanna Cohoon, UT Austin, GitHub: jlcohoon

## Background: The Collegeville Workshop Series
Expand All @@ -32,7 +32,7 @@ What do multi-million dollar HPC projects have in common with a PI and their soo
The Collegeville 2021 theme was software teams. Research software and scientific discovery is often advanced by collaborative teams rather than individuals. Yet, scientific software teams are often conducting their work with little knowledge of how to best take advantage of their collective experience. A new frontier for scientific software can be met with a better understanding of how software teams function and how teamwork can be improved. As we focus on improving software teams, we see value in augmenting the traditionally-valued expertise of computer scientists, mathematicians, and software engineers with the expertise of social, information, and cognitive scientists.

### Workshop Small Group Discussions
Each day of the workshop focused on different aspects of software teamwork. The first day of live discussion focused on software team experiences and challenges; the second day on technical strategies for improvement; the third day on cultural approaches for improvement. Small groups gathered live over video conference to discuss the topic of the day, each group creating a shared notes file. Because the workshop participants come from different work settings and have varying experiences with scientific software (see below) these discussions were a rare opportunity to identify shared concerns and recognize differences among scientific software teams. More than *representing* their shared knowledge, however, our intention is for these discussions to *impact* the diverse communities that participated in them.
Each day of the workshop focused on different aspects of software teamwork. The first day of live discussion focused on software team experiences and challenges; the second day on technical strategies for improvement; the third day on cultural approaches for improvement. Small groups gathered live over video conference to discuss the topic of the day, each group creating a shared notes file. Because the workshop participants come from different work settings and have varying experiences with scientific software (see below), these discussions were a rare opportunity to identify shared concerns and recognize differences among scientific software teams. More than *representing* their shared knowledge, however, our intention is for these discussions to *impact* the diverse communities that participated in them.

## Day 1: Software Team Experiences and Challenges
To provide a framework for discussing software team improvement, we spent Day 1 of Collegeville 2021 learning about each other, our backgrounds, and what we see as the greatest challenges to improving software teams.
Expand All @@ -54,7 +54,7 @@ In the remainder of this article, we summarize the key challenges identified dur

**Curating and maintaining knowledge:** Teams observing best practices may have many conversations and tools that support maintenance of the software product, such as regression testing or continuous integration. However, our discussion groups agreed that less attention is paid to ensuring that knowledge about the product is curated and maintained. As teams grow in size or diversity, knowledge maintenance becomes more complex. Growth is likely to occur across disciplines and institutions, meaning that vocabularies and infrastructure must be aligned. Knowledge curation and maintenance will also differ depending on a team’s purpose. For instance, software development teams will need different approaches from software deployment and support teams. Preparing for staff departure, creating paths for long-term membership, and otherwise committing to the long-term viability of a scientific software project represent opportunities for reducing tacit knowledge and improving knowledge transfer among team members. However, some attempted solutions to these challenges that our discussants have tried, such as teach-ins, are hard to justify when deadlines loom.

**Evolving team practices and structure in sync with the software:** The initial practices, tools, and infrastructure adopted by a team will need to evolve to take advantage of emerging approaches and tools and to improve effectiveness and efficiency as the team grows. Evolution includes enabling bottom up change, and giving individual contributors autonomy to explore new approaches and receive recognition for their contributions. Additionally, as the teams grow in size and diversity, their communication efforts become more difficult; one discussion group described domain scientists and computer scientists as working with people speaking different languages. While modern tools can facilitate communication across even non-collocated teams, they cannot reconcile differences in vocabulary, priorities, or conceptions of software-quality.
**Evolving team practices and structure in sync with the software:** The initial practices, tools, and infrastructure adopted by a team will need to evolve to take advantage of emerging approaches and tools and to improve effectiveness and efficiency as the team grows. Evolution includes enabling bottom up change, and giving individual contributors autonomy to explore new approaches and receive recognition for their contributions. Additionally, as the teams grow in size and diversity, their communication efforts become more difficult; one discussion group described domain scientists and computer scientists as working with people speaking different languages. While modern tools can facilitate communication across even non-collocated teams, they cannot reconcile differences in vocabulary, priorities, or conceptions of software quality.

**Collaborating across software teams:** For a healthy software ecosystem, software development teams must communicate and collaborate with one another but they may approach their work from different viewpoints. Application teams, for instance, develop software that is targeted for a specific computational problem. In contrast, teams that develop libraries and other reusable components focus on a broader set of uses which are based on characteristic examples derived from interaction with their user community. Our discussants noted that application teams have design concerns on one end (dependencies), library teams have concerns on both (dependencies and dependents), but both team types have a joint responsibility to work through APIs. Collaborations between application and library teams require determining how to design and develop capabilities in the spaces between software providers and clients. Challenges include how to integrate the library team with the application user community, how to foster software ecosystem perspectives (especially around collaborative development of APIs), and designating concrete staffing roles for shepherding API development and adoption.

Expand All @@ -63,4 +63,4 @@ In the remainder of this article, we summarize the key challenges identified dur
**Improving business models for research software sustainment:** All scientific software teams have a business model, even if it is implicit. Making the business model explicit and actively managing toward sustainability is much less common. Having a good business model is important for all kinds of software, but critical where there is a distributed and evolving community involved in its development. Each of the above challenges is affected by funding, and our discussion groups recognized this. Seeing the need for more money is easy. However, seeing how funding can affect your teamwork in one, five, or ten years is far more difficult, but crucial to establishing sustainable scientific software.

## Final Remarks from Day 1 Discussions
Day 1 discussions at the Collegeville 2021 Workshop represent the input of a diverse and experienced group of scientific software developers and leaders, and their colleagues from the social, information, and cognitive sciences. We hope that the challenges summarized in this blog resonate with you and help the scientific software community when prioritizing efforts to improve the quality and impact of software in the pursuit of scientific discovery. We look forward to addressing these challenges with creativity and community-developed insight.
Day 1 discussions at the Collegeville 2021 Workshop represent the input of a diverse and experienced group of scientific software developers and leaders, and their colleagues from the social, information, and cognitive sciences. We hope that the challenges summarized in this blog resonate with you and help the scientific software community when prioritizing efforts to improve the quality and impact of software in the pursuit of scientific discovery. We look forward to addressing these challenges with creativity and community-developed insight.
10 changes: 5 additions & 5 deletions WorkshopResources/WorkshopSlidesNotes/Day2-Blog.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
- Charles Ferenbaugh, Los Alamos National Laboratory, GitHub: cferenba
- Sarah Osborn, Lawrence Livermore National Laboratory, GitHub: osborn9
- Ulrike Meier Yang, Lawrence Livermore National Laboratory, GitHub: ulrikeyang
- Sameer Shende, University of Oregon, GitHub: (sameershende)
- Sameer Shende, University of Oregon, GitHub: sameershende
- James Willenbring, Sandia National Laboratories, GitHub: jwillenbring
- Jacob Moxley, Sandia National Laboratories, GitHub: jmox0351
- Weslley Pereira, CU Denver, GitHub: weslleyspereira
Expand All @@ -25,7 +25,7 @@
### Editors
- Sarah Knepper, Intel Corporation, GitHub: sknepper
- Lois Curfman McInnes, Argonne National Laboratory, GitHub: curfman
- Michael A. Heroux, St. John's University, Sandia National Labs, GitHub: maherou
- Michael A. Heroux, St. John's University, Sandia National Laboratories, GitHub: maherou

## Background: The Collegeville Workshop Series
What do multi-million dollar HPC projects have in common with a PI and their soon-to-be graduating doctoral student? What are the most pressing concerns of teams on the bleeding edge of scientific discovery? The Collegeville Workshop Series on Scientific Software brings together three communities of scientific software contributors: academia, industry, and laboratories. While there are existing exchanges between these communities, this workshop series is dedicated to improving the awareness of common needs, unique contributions, and career paths. Workshop contributions include short white papers and video interviews. The three-day live event includes panels, small-group discussions, and teatime sessions for themed conversations. This blog is the second of three that summarize the output from the small-group discussions in 2021.
Expand All @@ -34,10 +34,10 @@ What do multi-million dollar HPC projects have in common with a PI and their soo
The Collegeville 2021 theme was software teams. Research software and scientific discovery is often advanced by collaborative teams rather than individuals. Yet, scientific software teams are often conducting their work with little knowledge of how to best take advantage of their collective experience. A new frontier for scientific software can be met with a better understanding of how software teams function and how teamwork can be improved. As we focus on improving software teams, we see value in augmenting the traditionally-valued expertise of computer scientists, mathematicians, and software engineers with the expertise of social, information, and cognitive scientists.

### Workshop Small Group Discussions
Each day of the workshop focused on different aspects of software teamwork. The first day of live discussion focused on software team experiences and challenges; the second day on technical strategies for improvement; the third day on cultural approaches for improvement. Small groups gathered live over video conference to discuss the topic of the day, each group creating a shared notes file. Because the workshop participants come from different work settings and have varying experiences with scientific software (see below) these discussions were a rare opportunity to identify shared concerns and recognize differences among scientific software teams. More than *representing* their shared knowledge, however, our intention is for these discussions to *impact* the diverse communities that participated in them.
Each day of the workshop focused on different aspects of software teamwork. The first day of live discussion focused on software team experiences and challenges; the second day on technical strategies for improvement; the third day on cultural approaches for improvement. Small groups gathered live over video conference to discuss the topic of the day, each group creating a shared notes file. Because the workshop participants come from different work settings and have varying experiences with scientific software, these discussions were a rare opportunity to identify shared concerns and recognize differences among scientific software teams. More than *representing* their shared knowledge, however, our intention is for these discussions to *impact* the diverse communities that participated in them.

## Day 2: Technical Approaches to Improved Software Teams
After talking about software teams on the first day, we spent the second day discussing technical approaches to improving teams, aiming to keep discussions about cultural approaches until the third day.
After talking about software teams on the first day, we spent the second day discussing technical approaches to improving teams, aiming to keep discussions about cultural approaches until the third day. Each of the four small group discussions were made up of five or six participants. Roughly 10% of the discussion participants were from industry, about 20% were from universities, and the rest hailed from government labs. Twenty-one participants (listed above) chose to receive attribution for their contributions to these engaging discussions.

### Key Technical Approaches
In this article, we summarize the key technical approaches to improving scientific software teams identified during the small group discussions. The detailed notes from these discussions are available on the [Collegeville 2021 Workshop website](https://collegeville.github.io/CW21).
Expand All @@ -57,4 +57,4 @@ In this article, we summarize the key technical approaches to improving scientif
**Technical and social aspects of software development go hand-in-hand:** Understanding those social aspects is critical to the adoption of new technologies. As a community, we should be working closer with social scientists to understand how we do our work and how we could do it better. A lot of the issues we have with scientific software teams can be recognized and addressed by including the soft sciences. Developing solutions people will actually use requires understanding them and their culture. Providing curated relevant literature to software teams can help with this.

## Final Remarks from Day 2 Discussions
Day 2 discussions at the Collegeville 2021 Workshop represent the input of a diverse and experienced group of scientific software developers and leaders, and their colleagues from the social and cognitive sciences. We hope that the technical approaches summarized in this blog resonate with the reader and help the scientific software community when prioritizing efforts to improve the quality and impact of software in the pursuit of scientific discovery.
Day 2 discussions at the Collegeville 2021 Workshop represent the input of a diverse and experienced group of scientific software developers and leaders, and their colleagues from the social and cognitive sciences. We hope that the technical approaches summarized in this blog resonate with the reader and help the scientific software community when prioritizing efforts to improve the quality and impact of software in the pursuit of scientific discovery.
Loading