Robustness in Early Phase Software Development
MetadataShow full item record
Ensuring robustness in software is as important as ever, with the increasing significance of information technology in our lives. Users of any IT system expect and require a high level of uptime. The earlier a threat to robustness is discovered in the development of a system, the cheaper it is to handle. Allowing robustness to come into focus at an early stage of development has been the objective of this master thesis. This thesis is a continuation of the work that we did in the autumn 2007 (Skjervold and Haga 2007), where we created a requirement specification for a tool that can aid system developers in realizing robustness during their design. This requirement specification was based upon interviews with software development companies in Trondheim, one which we performed usability testing with in this thesis. We have developed a tool based upon the requirements from our previous work, along with some additional requirements in the early phases of this thesis. After developing a first version of the tool, a usability test was performed on 11 students. The feedback we got was evaluated and the implementation was updated correspondingly. A second test was performed, focusing on both the usability and the value of the tool, with four system developers from a software development company in Trondheim. The responses to the usability were divided, but mostly positive, and helpful. Some of the changes suggested were implemented, and the rest was inserted as further work. For the value of the tool, there were strong opinions amongst the four developers, as expected, followed by a constructive discussion. The consensus was that the tool had good potential, but the professional developers felt it needed some improvements and changes. Most of these suggested improvements were too time consuming to address in this thesis, and are therefore inserted as further work. This report consists of four parts. Part I describes the state of the art and requirement specification. In Part II the experiments that was run are described and evaluated, and finally the implementation of the tool is shown in Part III. In Part IV the bibliography and appendices are shown.