Using Template Analysis as Backgr...
Using Template Analysis as Background Reading Technique for Requirements Elicitation Sebastian Stein, Yves Lauer, Marwane El Kharbili IDS Scheer AG Altenkesseler Str. 17 66115 Saarbrucken�� Germany sebastian.stein, yves.lauer, marwane.elkharbili@ids-scheer.com Abstract: Requirements cannot be collected, but must be elicited from people���s tacit and systems��� embedded knowledge. It is a proven approach to use existing systems and manuals as a source. Literature suggests using background reading to elicit require- ments from domain descriptions and manuals. Besides content analysis, no concrete technique describing how to actually conduct background reading is available in lit- erature. In this paper, we evaluate the usage of template analysis as a technique for background reading. We applied template analysis in a project to extract requirements from 35 success stories about process performance management. We found template analysis to be very useful not just for eliciting requirements and creating a shared un- derstanding of the studied domain, but also for helping new employees to get familiar with the domain. We also formulated competence questions to document and commu- nicate requirements, but this did not prove helpful and hence we would not recommend it. 1 Introduction Today, it is a well-known fact that carefully defining and managing requirements is a fun- damental base for successful software engineering projects [DC06]. In the past decades, requirements engineering has evolved from being a sub-discipline of software engineering into a well established research discipline. Standard requirements engineering literature like [KS04, Dav93] shows that requirements engineering comprises many different as- pects such as the requirements engineering process, elicitation and analysis, validation, change management, viewpoint analysis, formal specification, etc. Not surprisingly, re- search contributions usually focus on a specific aspect of requirements engineering. This paper focuses on requirements elicitation. Requirements elicitation is an early activity in the requirements engineering process aim- ing at acquiring and understanding requirements. Usually, this is not a task of just col- lecting clearly articulated requirements, but instead intensive work is needed to transform embedded knowledge into explicit one. There are many possible knowledge sources like human beings (domain experts, current users, stakeholders, etc.) but also artefacts like manuals, domain descriptions, laws and regulations, legacy system, and competing soft-
ware products [KS04, Dav93]. Depending on the knowledge source, different require- ments elicitation techniques are applicable. Requirements elicitation consists of two phases [Zha07]: problem analysis and product specification. In the problem analysis phase, the requirements engineer creates an under- standing of the problem domain and the context, whereas in the product specification phase concrete requirements for the product to be developed are defined. Existing requirement elicitation techniques can be grouped in four categories [Zha07]: conversational meth- ods (e. g. interview), observational methods (e. g. ethnography), analytic methods (e. g. background reading), and synthetic methods (e. g. prototyping). Byrd et al. [BCZ92] provide a similar categorisation, but they do not just cover require- ments elicitation techniques but also include knowledge acquisition techniques used in knowledge engineering. They show that a great similarity of techniques exist in both domains. Zhang [Zha07] extends this work by creating a selection matrix supporting re- quirements engineers in selecting an appropriate requirements elicitation technique. For example, if no access is given to domain experts, conversational methods cannot be ap- plied. However, the selection matrix by Zhang is not based on empirical findings. In this paper we present a technique to acquire requirements from existing texts. We use the technique template analysis to analyse texts and we document the acquired re- quirements by formulating competence questions. We show that template analysis is a promising background reading technique, but that the procedure of formulating compe- tence questions was not very helpful. We applied template analysis in a public funded research project in order to document current requirements of users and customers in pro- cess performance management projects. This paper is structured as follows: In the following section we discuss other background reading techniques and we show why we selected template analysis in our case. Sect. 3 describes the research material used and the research context where we conducted the study. In Sect. 4 we first give a brief overview of template analysis, show how we have done it, how we analysed the results, and how we used competence questions to document the requirements extracted. We provide a comprehensive discussion in Sect. 5 about the lessons learnt. The discussion will be useful for other requirements engineers to judge if template analysis is applicable in their specific context. The paper is shortly summarised at the end. 2 Background and Related Work In a recent research effort, we wanted to document typical requirements requested in per- formance management projects. We had no direct access to domain experts, but we had a corpus of 35 success stories from past projects. Using the selection matrix [Zha07], we de- cided to use an analytical method, namely background reading. Using existing documents and manuals as a source for requirements elicitation is an accepted approach discussed or at least listed by many authors [KS04, Zha07, BCZ92]. Different terms are used for such techniques like background reading, document analysis or documentation studies. Back-