Practical software quality engineering on a large multi-disciplinary HPC development team
Rob Neely · 2004
We discuss several software engineering practices that have proven useful in a large multidisciplinary physics code development project at Lawrence Livermore National Laboratory. In the project discussed, as with many large-scale efforts in HPC scientific computing, we have had to balance the competing demands of being a stable "production" code that our user base can rely on with being a platform for research into new physics, models, and software architectures. The ideas presented here are not meant to necessarily transfer to other environments with different needs. It is our belief that projects need to be given large latitude in defining their own software engineering process versus a prescribed a solution. However, the ideas presented are hopefully high level and general enough that we hope other projects might find some inspiration and adopt similar methods if it is to their benefit, much as we have done through the years.