So, You Want to Be Agile? Strategies for Introducing Agility Into Your Scientific Software ProjectSeries: HPC Best Practices Webinars
Scientific software team cultures have natural consistencies with agile practices. Discovery-driven development, a focus on regular delivery of results, in-person discussions within and across research teams, and a focus on long-term sustainable research programs are commonplace dynamics on computational science teams that develop software. These dynamics are also particular expressions of core agile principles.
Many scientific software teams have already assimilated industry best practices in some aspects of their work. The advent of open software development platforms such as GitHub and GitLab have accelerated awareness and adoption, as have numerous on-line resources that enable a motivated person to continue learning new ideas and approaches. Even so, we propose that a healthy team habit is continued exploration and improvement of software practices, processes and skills.
In this webinar, we discuss a few agile practices and strategies that are readily adapted and adopted by scientific software teams. In addition, we describe an attitude and strategy for continual process improvement that enables computational science teams to simultaneously deliver science results and, at the same time, dedicate a slice of time to improving software practices on their way to delivering those results.
- Mike Heroux (Sandia National Laboratories)
Mike Heroux is a Senior Scientist at Sandia National Laboratories, Director of SW Technologies for the US DOE Exascale Computing Project (ECP) and Scientist in Residence at St. John’s University, MN. His research interests include all aspects of scalable scientific and engineering software for new and emerging parallel computing architectures. He leads several projects in this field: ECP SW Technologies is an integrated effort to provide the software stack for ECP. The Trilinos Project (2004 R&D 100 winner) is an effort to provide reusable, scalable scientific software components. The Mantevo Project (2013 R&D 100 winner) is focused on the development of open source, portable mini-applications and mini-drivers for the co-design of future supercomputers and applications. HPCG is an official TOP 500 benchmark for ranking computer systems, complementing LINPACK. Mike’s most recent interests are focused on improving scientific software developer productivity and software sustainability. He leads the IDEAS project, dedicated to engaging scientific software teams to identify and adopt practices that improve productivity and sustainability. Mike is a Fellow of the Society for Industrial and Applied Mathematics (SIAM), a Distinguished Member of the Association for Computing Machinery (ACM), and a Senior Member of IEEE. He has been Editor-in-Chief for the ACM Transactions on Mathematical Software (2011 - 2016), Subject Area Editor for the Journal on Parallel and Distributed Computing (2012 - 2016) and Associate Editor for the SIAM Journal on Scientific Computing (2010 - 2015). He is a past chair of the SIAM Activity Group on Supercomputing and is presently a member of the Supercomputing Conference series steering committee, focusing particularly on improving reproducibility in computational science. Mike is also part of an NISO committee on Reproducibility Badging. Mike works remotely for Sandia, maintaining an office at home in rural central Minnesota and at St. John’s University in the Computer Science Department.