Elaine Raybourn from Sandia National Laboratories decribes how Productivity Sustainability Improvement Planning (PSIP) is bringing software development teams together at the Exascale Computing Project. PSIP brings software development activities together and enables partnerships and the adoption of best practices across aggregate teams.
PSIP is a lightweight, interactive workflow that enables software development teams to identify development bottlenecks and track progress to overcome them,” Raybourn said. “The PSIP method is appropriate for use by individuals or it can be taught to a team, with the team driving improvement.”
One output of the PSIP process is the development of progress tracking cards. “These are brief, shareable documents that contain the target, or goal, of the planning activity; the title of the topic of improvement; and a step-by-step list of activities or outcomes that incrementally lead to enhanced team effectiveness and efficiency,” Raybourn said. “By applying PSIP, teams are able to improve their current development processes without a huge disruption.”
PSIP helps teams meet a big challenge. Historically, scientific software development has occurred in small teams of only a few people in which decisions may have been made in small group discussions without including documentation and planning. “But the complexity of ECP applications requires an entirely different dynamic characterized by frequent interactions across multiple teams,” Raybourn said. “Small teams suddenly realized they had to codify their processes because collaboration is essential to success.”
Working with collaborators in ECP, IDEAS-ECP is launching PSIP resources for developer productivity in a GitHub repository and will interact with teams as they address their software quality. IDEAS-ECP also provides training and the Better Scientific Software website, a central hub for developers of scientific and engineering software to tackle pressing challenges in software productivity, quality, and sustainability.
PSIP strives to mitigate technical risk because as one team’s software begins to touch another team’s software, requirements change, designs change, and codes take on new end users, and thus the software ecosystem evolves,” Raybourn said.
One example of the success of PSIP is its ongoing collaboration with ECP’s Exascale Atomistic capability for Accuracy, Length, and Time (EXAALT) project, which is providing a materials modeling framework for accelerated molecular dynamics simulations. “EXAALT is a collection of multiple software components forming a team of teams network, each component depending on the others,” Raybourn said.
“The team of teams includes EXAALT, Large-Scale Atomic/Molecular Massively Parallel Simulator (LAAMPS) developed at Sandia National Laboratories (SNL), and LATTE and ParSplice, both developed at Los Alamos National Laboratory (LANL). Team members from Argonne National Laboratory, LANL, and SNL successfully collaborated with EXAALT to formulate progress tracking cards for the actionable items needed to lay the foundation for continuous integration within the existing software repository.”
The impact that PSIP expects to have—one aspect of ECP’s enduring legacy—is a model for incremental process improvement, one small team at a time and one aggregate (team of teams) at a time, that eventually engenders a culture of continual process improvement. “IDEAS-ECP continues meeting with teams to learn about how they function and to help them apply enhancing methodologies,” Raybourn said. “Simultaneously, we want to increase collaboration across the DOE complex. This, we hope, will lead to innovative application design, sustainable software technology, and the advancement of US leadership in high-performance scientific computing as we approach the exascale milestone.”