Software Development Best Practice

Software is the bread and butter of CSED. It provides the main vehicle through which science is performed within the Department. CSED has a long history of performing world class scientific research in a variety of areas which has been accompanied by the development of a large number of major software packages. Many of these have been developed over many years by a variety of developers. Each package has a large user community which are represented collectively through the CCP programme. These groups are continually seeking new developments in either program functionality or execution performance.

EPSRC, through its Facilities Agreement (FA), provides significant resources to support these user communities and to develop these major packages on behalf of the scientific community. At the review of the FA programme in May 2005 the panel, while recognising the science performed using the CCP software was world class, recommended that CSED should review and update its software and its development processes to make best use of current development in software engineering .

SLA Review Recommendation 7:

CSED should consider implementing minimum standards of design, documentation and testing to ensure that software distributed by Daresbury (and Rutherford Appleton) and used by the scientific community acquires a reputation of being of the highest quality

 

In response to the SLA Review CSED has started a process to address this recommendation. The process has had three main strands:

  • A review of current software development practice within CSED.
  • A review of current best practice in software development taking into account software development initiatives in similar scientific areas.
  • The development of a CSED software development best practice.

The goal of this activity is to promote an incremental improvement of the current practices within CSED using a set of appropriate best practices supported by a selection of suitable software engineering methods and tools. Best Practice is a approach well recognised by many organisations develop complex software systems. A summary of some of the Best Practices - with references - is given here: Commonly Used Best Practices.

A draft Best Practice document has been developed and we are now at the stage of implementing the recommendations of the report (SEG-N-006-2008). A set of Next Steps have been defined, the first of which is a Group by Group audit of current practices against the CSED standard. A simple check list (doc, html, pdf) has been prepared to aid this process.

The presentation on the Best Practice process and document can be found on the SESP web site (pdf, html, ppt). This link gives a short summary of the presentation's conclusions.