Nearly every activity at LLNL involves software: requesting vacation, managing a budget, submitting an IT support ticket, recording a virtual conference, restocking chemicals in a laboratory, tracking COVID-19 cases among employees, implementing cyber security protections on a cloud service, conducting laser experiments at the National Ignition Facility (NIF), running a multiphysics simulation on the Sierra supercomputer, and much more. The sources of software are varied, too: commercial off-the-shelf, open-source, developed in-house, or a combination of these. The Lab’s software developers and engineers have accumulated a wealth of expertise by keeping LLNL operational while carrying out its national security mission.
“Software development is critical to everyday life at the Lab, and this community is always interested in sharing knowledge and maximizing efficiencies. How the work happens is just as important as the work itself,” states John Fisher, lead of Computing’s IT Operations division. In 2022, Computing launched the Software Development Resource Center (SDRC) to connect developers across LLNL through best practices in software tools, development methodologies, DevOps, security compliance, and more. Any Lab developer can contribute to and participate in the SDRC.
“The SDRC builds on Computing’s efforts in these areas, such as SWING [the SoftWare Improvement Networking Group] and our annual Developer Day event,” says John Grosh, who serves as Computing’s deputy associate director of mission development. “We want to establish enduring, evolving resources for developers so they can build better software and feel supported in doing so.”
Funded as an Institutional Scientific Capability Portfolio project, the SDRC serves as a focal point for software leadership, including coordinating working groups and providing technical advice to project teams. For instance, the SDRC committee plans to schedule seminars and invited talks as well as conduct workshops during this summer’s Developer Day. The SDRC also arises from Computing’s 10-year Strategic Plan, which prioritizes support for mission-driven programs through robust software engineering and maintenance.
Already the SDRC has begun publicizing best practices in Computing’s monthly staff newsletter. Joe Spears and Eric Pernice of the NIF Computing division provided an in-depth description of Agile methodology, which empowers software teams to develop iteratively and adapt to uncertainties and changing priorities. Spears and Pernice defined basic Agile terminology and teammates’ roles, and noted that transitioning from traditional waterfall development practices to Agile requires collaboration with users and resetting stakeholders’ expectations.
Eric Brugger and Mark Miller of Computing’s Applications, Simulations & Quality division contributed a newsletter article about the benefits of continuous technology refresh (CTR) in their open-source VisIt software, which enables researchers to rapidly visualize, animate, and analyze scientific simulations. CTR means updating obsolete technologies and upgrading infrastructure to continue a project’s reliability or improve its capabilities. VisIt’s CTR activities have included migrating to new platforms for version control, issue tracking, and documentation.
According to Fisher, these articles represent just one of many opportunities for knowledge sharing. He explains, “The SDRC is a mechanism for reaching development teams all over the Lab, and we want to tap into the vast experience and diversity of thought those teams bring to their work. Through activities and resources promoted by the SDRC, we hope our software community can communicate and collaborate better than ever.”