David W. Bustard

Learn More
Making the structure of software visible during system development helps (i) build a shared understanding of the context for each piece of work, (ii) identify progress with implementation, and (iii) highlight any conflict between individual development activities. Finding an adequate representation for such information is not straightforward, especially for(More)
Autonomic Computing is a promising new concept in system development. It aims to (i) increase reliability by designing systems to be self-protecting and self-healing; and (ii) increase autonomy and performance by enabling systems to adapt to changing circumstances, using self-configuring and self-optimizing mechanisms. This paper discusses the type of(More)
This paper proposes an approach to the prioritisation of system changes that takes account of the relative costs and benefits of those changes and the risks that they reduce or introduce. This is part of the SERUM methodology (Software Engineering Risk: Understanding and Management), which is being developed to help identify effective ways of using risk(More)
RACE is a requirements engineering method which is currently under development. This paper describes broadly the techniques developed so far, reviews earlier work on how risk analysis might be incorporated in RACE and proposes an extension of the method to include evolutionary delivery of proposed changes derived from the method. Proposed changes arising(More)
The agile model of software development has been mainstream for several years, and is now in a phase where its principles and practices are maturing. The purpose of this paper is to describe the results of an industry survey aimed at understanding how maturation is progressing. The survey was taken across 40 software development companies in Northern(More)
This paper describes an application of SERUM, a risk management methodology, to the definition and prioritisation of changes in a network management system at NEC Corporation. SERUM makes use of two risk reduction strategies: (i) performing a business analysis as the means of establishing required system changes and (ii) using an evolutionary delivery(More)