Supporting the Cooperative Design Process of End-User Tailoring

In most business areas today, competition is hard and it is a matter of company survival to interpret and follow up changes within the business market. The margin between success and failure is small. Possessing suitable, sustainable information systems is an advantage when attempting to stay in the front line of the business area. In order to be and remain competitive, these information systems must be up-to-date, and adapt to changes in the business environment. Keeping business systems up-to-date in a business environment such as this one, the telecom business, that changes rapidly and continuously, is a huge challenge. One way to approach this challenge is through flexibility in systems. The power of flexibility is that it keeps the system usable and relevant and allows it to evolve. This thesis is concerned with end-user tailorable software. Tailorable software makes it possible for end users to evolve an application better to fit altered business requirements and tasks. In the view of tailorable software taken in this thesis, the users should be seen as co-designers, as they take over the design of the software when it is in use. In this work, it is important that the users are aware of the possibilities and limitations of the software. However, tailoring is not enough, because the tailoring capabilities are always limited, meaning that tailoring cannot support completely unanticipated changes. The tailoring capabilities must therefore be extended, and tailoring activities must be coordinated with software evolution activities performed by professional developers. This allows the system to adapt continuously to a rapidly changing business environment and thereby live up to the intention of the system. Studies so far have tended to look at evolution from either a user perspective or a system perspective, resulting in a gap between development and use. This thesis takes an overall stand and states that it is possible to benefit from both the user and system perspectives, through collaboration between users, tailors and developers. It is necessary for users and developers to collaborate closely in order to make tailorable information systems both durable and adaptable to rapid changes in the business environment. In this way, the development of useful, sustainable software, which adapts easily to changes in an evolving environment, can be achieved. This thesis also presents a set of tools to support collaboration on equal terms between users and developers, in the technical design process of evolving the tailorable software and extending the tailoring capabilities. The toolkit aims at building a common understanding of tailoring, supporting democratic agreements and a common understanding of what kind of tailoring to implement. It makes it possible for the users to take part in technical design decisions and have a better understanding of trade-offs and system boundaries. These are key factors for the successful future evolution of a tailorable system, as it is the users who are the designers of the software during its future use. All of the research is based on field studies including participatory observations, interviews and workshops with users and developers. These studies led to the creation of prototypes and tools that act as mediating artefacts when exploring the research questions. The contribution of the thesis is twofold. Firstly, the thesis elucidates the need for a cooperative design process to ensure that end-user tailorable software remains useful and sustainable. Secondly, the thesis suggests a toolkit with four different tools to support such a cooperative design process.