Log-Based Approach for Performance Requirements Elicitation and Prioritization Odorico Machado Mendizabal Centro de Ciências Computacionais Universidade Federal do Rio Grande - FURG Rio Grande, Brazil odoricomendizabal@furg.br Martin Spier Expedia Worldwide Engineering Expedia Inc. Bellevue, WA, USA spiermar@gmail.com Rodrigo Saad Performance Engineering & Testing Practice Dell Inc Porto Alegre, Brazil Rodrigo_Saad@dell.com Abstract—Requirements engineering activities are a critical part of a project’s lifecycle. Success of subsequent project phases is highly dependent on good requirements definition. However, eliciting and achieving consensus on priority between all stakeholders is a complex task. Considering software development of large scale global applications, the challenges increase by the need of managing discussions between groups of stakeholders with different roles and background. This paper presents a practical approach for requirements elicitation and prioritization based on realistic user behaviors observation. It uses basic statistic analysis and application usage information to automatically identify the most relevant requirements for majority of stakeholders. An industry case illustrates the feasibility and efficiency of our approach. Keywords-Performance Requirements; Requirements Elicitation; Requirements Prioritization; Case Study I. INTRODUCTION As companies expand their business and adapt themselves to market changes, the system’s complexity increases as well. Building interoperable applications with good performance and high availability is a common request to attend diversified customer’s profiles. In order to absorb that demand, global software development appears as a trend on technology companies. Teams geographically distributed allow production 24 work-hours per day, decrease costs and explore a stronger approximation to the consumer [4] [13]. However, several challenges are imposed by this software development paradigm [1][5][7][13]. Particularly on requirements engineering, some authors highlight the diversity of stakeholders’ professional background, their interests, and the engagement, as key challenges for the project success [4] [6]. Moreover, differences on time-zone, cultural contrasts and ambiguous communication must be carefully addressed on project management. Even though project teams and customers agree that the success of a project depends deeply on a good election and prioritization of requirements, this is not an easy goal to achieve. Regarding large scale applications, usually cross- functional stakeholders groups are responsible for different parts of the system. It is not unusual to have hundreds and even thousands of individual requirements, especially during initial elicitation phases. Further, it is also not unusual for customers to present complete and valid reasons to have each and every requirement implemented [6]. Consequently, identifying and prioritizing business requirements becomes an exhausting and difficult task. This paper proposes a practical approach for requirements elicitation and prioritization capable of creating a relevant list of requirements for a majority of stakeholders. It combines basic statistical analysis and conventional technologies available on application servers. Simplicity and efficiency make this a suitable approach to achieve consensus on requirement definition. This paper is organized as follow. A case study extracted from the industry is presented on the next section. Section III describes the proposed approach and Section IV shows the results. Finally, Section V concludes and outlines future directions of this work. II. CASE STUDY: DISTRIBUTION PACKAGE MANAGEMENT APPLICATION Throughout this paper, we conduct a case study on requirements engineering for a performance tuning project. This section briefly describes the application in use and introduces performance requirements. A. Application Overview The web based application is responsible for managing distributions packages with related material for the whole line of products of the company. Those distributions packages contain hardware drivers, operating systems, or any content related to a specific product (eg. laptop, server, etc). New products or updates (eg. a third party update for a network adapter driver) will require changes on distribution packages as well. The correct association between product and components is maintained by this application. Consequently, application is capable of keeping the current version of a component, retrieve older versions and listing all components for a given product. The traceability between components and products offered by application allow new versions of products to be built rapidly and safely. In order to guarantee the correct behavior of a product despite individual changes on 978-1-4673-2785-5/12/$31.00 c 2012 IEEE RE 2012, Chicago, Illinois, USA 297