Better software and better software management - even across a distributed team

MAUS-collid.pngThe impact

"The collaboration was a very useful experience...I would work with Software Sustainability Institute again and would recommend them to others."

- Chris Rogers, MICE Physics Software Manager, Accelerator Science and Technology Centre, Rutherford Appleton Laboratory.

We worked with MICE (the Muon Ionization Cooling Experiment) to improve their software and the management of their software development. One of our developers was embedded in the MICE team and developed software that increased the speed of data processing, improved usability and made visualisation of the data possible. Following a review of development management, our improvements to the MICE project management are now being implemented.

The Problem

MICE has a large, distributed team of software developers of varying degrees of availability. These developers work on MAUS, which is software used to analyse data generated by MICE. Chris Tunnell (MICE Offline Detector Software Coordinator) asked the Software Sustainability Institute for advice on how to manage development, and for assistance in completing urgent development tasks relating to experiment monitoring and analysis.

The Solution

"The project was highly productive"

- Chris Rogers

The Institute reviewed the collaborative tools used by MAUS to manage software development (a wiki and issue tracker), and proposed improvements that will allow the overall picture of development to be readily identified and tracked. To this end, the Institute recommended: use of a Gantt chart to understand dependencies between tasks and the impact of any slippage; creating, maintaining and reviewing a risks and issues log; and sending highlight reports up the line to summarise progress, changes in risks and issues, and plans for the next period.

Our developers conducted an evaluation of MAUS and its online resources, both of which scored very highly for sustainability in terms of the software and its related resources. The evaluation highlighted issues, primarily with the structure of the wiki, that MICE are working to resolve.

The Institute developed a number of software components that are vital for experiment monitoring and analysis, and have led to:

  • Improved processing speed: data analysis jobs can now be run in parallel using an open source distributed task queue and task broker.
  • Better data management: data is now cached in a document-oriented database rather than in temporary data files.
  • Better visualisation: data from simulated or live experiment runs can now be converted into histogram images or tables.
  • Improved usability: a new web-based interface was created to present histograms and tables via a browser.

By providing dedicated developer effort, the Institute ensured the quick delivery of the software components that MICE required. The new software ensured that MAUS is being actively used by control room staff, because it has kept up to date with their evolving requirements  After a successful test run, the software components are now in regular use.

MAUSRun_0.jpg

By providing development effort at the right time, the Institute has sparked new activity with the MICE software. MICE developers are now extending our work. New histogram convertors have already been developed and plans for extending the web interface are being created based on feedback from MICE experiment trials. Importantly, a researcher from MICE has taken responsibility for the new software components, which is a first step towards long-term sustainability.

The Process

Neutrinos are particles that are produced in highly energetic processes, like those that occur in the sun, nuclear reactors or the big bang. They are of great interest to physicists and could hold the answer to one of the great cosmological questions: why is there more matter in the universe than there is anti-matter? MICE is a UK-based, international collaboration of around 100 particle and accelerator physicists based at Rutherford Appleton Laboratory. MICE will develop a system for efficient neutrino creation.

MAUS (MICE Analysis User Software) is a modular, data-analysis package for the analysis of data from MICE. MAUS supports both online analysis of live data and detailed offline data analysis, simulation, and accelerator design. Online analysis of live data is particularly important because it allows the MICE hardware to be tuned to during operation  improve efficiency.

The Software Sustainability Institute met with Chris Rogers (MICE Physics Software Manager) and Chris Tunnell (MICE Offline Detector Software Coordinator) to discuss the issues with MAUS and possible solutions. The Institute's development manager surveyed the MAUS issue tracker and proposed improvements to the team's management.

"I found working with the Software Sustainability Institute helped me to develop my own project management skills, in particular I was very pleased with the task specification process and have adopted a similar process for other aspects of the project."

- Chris Rogers

One of the Institute's software developers worked with Chris Tunnell to plan the nature and scope of the software development, and was then embedded within the MICE team. The developer used the MICE code repositories on LaunchPad, reported progress and managed tasks via their ticketing system. He also participated in fortnightly MAUS telcons and visited the MICE control room at Rutherford-Appleton Laboratory to test the components as they evolved. Where possible, established third-party, open-source packages were used to construct the solution.

"[the developer] was very responsive - happy to discuss his work with interfering project managers and happy to react to comments."

- Chris Rogers

Find out more