Perspectives on software and their priorities: Balancing conflicting stakeholder views
Licentiate Thesis, Blekinge Institute of Technology, June 2009
The sustainable development of a software product depends on a number of groups working together to achieve a common goal. However, each of the groups interacts with the product in different ways, and can have conflicting aims and objectives. For example, developers trying to correct issues in the software architecture, which will impact future releases of the product, can be stopped by a project manager who is charged with delivering a release on time and within budget. While the functional requirements of a software product are usually documented, there are a number of other investments in software development that are not always as explicitly agreed upon but are still essential to a product’s long-term success. The major investment types include software product quality — a main control variable in software development, and intellectual capital (IC) — being the key input and tool used in software development.
As management requires measurement, it is necessary understand the priorities placed on investment options by the various groups involved in the development of a software product. The objective of this thesis is to develop a method capable of both determining the priorities of different groups, and the level of alignment between these groups in terms of their priorities.
Evolving the method from a study into the values used to select requirements for a release of software, Ericsson supported the development of a methodology to determine and compare the priorities of different groups for software product quality, and IC. The method elicited the required information from a series of case studies to build up a picture of the priorities placed on major investment options and constraints — features, quality, IC, time and cost. The results highlight strengths, and areas for improvement — through the identification of differing priorities and ambiguities in management of different aspects studied.
In conducting this research, systematic biases in the selection of requirements appear to be occurring, adding an objective to understand how bias impacts decision making in a requirements engineering context.
This thesis provides a method that determines the priorities on the level of investment on different options in the development of software products. It is concluded that people involved in the development of software need to be aligned on issues of software product quality as these priorities set expectations. The same was not found true for issues of IC, where groups can complete tasks without negatively impacting others, as long as the organisation works effectively as a single entity.
On the issue of biases in the prioritisation of these aspects, prospect theory is found to apply to requirements selection in an academic experiment — suggesting people will prefer functionality over software product quality, and to meet the known requirements of customers over predicting general market requirements.