TRADE-OFF’S IN WEB APPLICATION DEVELOPMENT How to assess a trade-off opportunity Sven Ziemer, Tor St˚ alhane Department of Computer and Information Science, Norwegian University of Technology and Science, Sem Sælandsvei 7-9, NO-7491 Trondheim, Norway svenz@idi.ntnu.no, stalhane@idi.ntnu.no Keywords: Trade-off, decision making Abstract: This paper discusses a trade-off strategy for small projects and presents a preliminary guidelines for assessing the appropriateness of a trade-off. The motivation of this work is to make the development team aware of the performed trade-offs and to see both the associated opportunities and risks, to assess the appropriateness of a trade-off and to gather information for the future development of the system. The development environment of a web application is changing over time and it is important to know what the success criteria are at any time. 1 INTRODUCTION Web Applications have become part of our every day life in such a way that we expect them to work prop- erly and that we can rely on them, both with respect to their availability and our satisfaction. Hence, the quality of web applications is of interest to all users, that want reliable access to the services offered by the web applications of their choice such as inter- net banking, online shopping, news services and en- tertainment. Improving the development process to build high quality applications that fulfil the end-users expectation plays a key role in keeping the users sat- isfied. At the same time, businesses of all sizes and kinds are relying on their web applications to pro- mote their services and to fulfill the needs and expec- tations of their customers. They too are interested in the quality of the applications they are relying on, but they are also focused on their timely delivery. Many web applications have to compete for their users and customers against other providers of a similar service. Being the first web site to offer new functionality, or being the site with the most complete functionality for a user group, is important in this competition. In other cases, web applications provide their services to sup- port events and have to meet tight deadlines, so that the event can be promoted in the best possible way. Developing web applications in competitive envi- ronments adds to the complexity of balancing func- tional and non-functional requirements by adding the time to market requirement. Finding this balance in- volves performing one or several trade-offs, such as architectural trade-offs or security trade-offs. A dif- ferent class of trade-off’s involves development activ- ities and tasks that are applied to build an application. This trade-off is about the emphasize that is placed on the steps involved in building applications, and with what rigour and level of detail they are performed. In a series of interviews that we have conducted with seven Norwegian companies, we studied both the companies’ development practises in general and what type of trade-offs the companies performed and what trade-off strategies that were applied in particu- lar (Ziemer and St˚ alhane, 2006). We found that the companies tend to specify their requirements in infor- mal ways, depending on the experience of the devel- opers and their domain understanding. Performing a trade-off with such practices is not easy since it is hard to assess the consequences that a potential choice for a given requirement might have on other important requirements. There are no hard numbers that can be used in prediction or estimation models that can be compared against measured real values at a later stage. The only knowledge available is the qualitative knowledge stemming from expert judgements and the stakeholders opinions and beliefs. Part of performing a trade-offs is to share a com- mon understanding of the stakeholders priorities and