Towards Interactive Systems Usability Improvement through Simulation Modeling
Abstract
Nowadays, usability has become an essential contribution to the success of interactive systems and is recognized as a quality attribute for software products. This paper proposes the use of dynamic simulation models for the improvement of interactive systems usability through the application of a User Centered Design (UCD) process and its integration into the software development process. The simulation model developed is used to experiment on the effect that different levels of usability have over the behavior of the UCD process in a specific kind of interactive systems such as web site application development.
Full text
Towards Interactive Systems Usability Improvement through Simulation Modeling Nuria Hurtado1, Mercedes Ruiz1, Jesús Torres2 1Department of Computer Languages and Systems University of Cadiz (Spain) {nuria.hurtado, mercedes.ruiz}@uca.es 2Department of Computer Languages and Systems University of Seville (Spain) [email protected] Abstract Nowadays, usability has become an essential contribution to the success of interactive systems and is recognized as a quality attribute for software products. This paper proposes the use of dynamic simulation models for the improvement of interactive systems usability through the application of a User Centered Design (UCD) process and its integration into the software development process. The simulation model developed is used to experiment on the effect that different levels of usability have over the behavior of the UCD process in a specific kind of interactive systems such as web site application development. 1. Introduction Over the last few years, there has been an increase in the amount of people using and depending on computer technology. At the same time, due to the growth and expansion of the internet, software systems have increased their interaction degree. This implies an ever-growing demand of more usable products. For a long time, the importance of usability has been neglected in the development of interactive systems, and so it has been relegated to nothing else than final product evaluation activities. It is important to bear in mind that system usability is not only related to user interface appearance but, mainly, to the way in which the user can interact with the system and, hence, to the overall structure of the system and the logic of the business. Usability increases customer satisfaction and productivity, leads to customer trust and inevitably results in tangible cost, savings and profitability [15]. Thus, the software industry should realize that they need to pay attention to usability from the early stages of system development with the introduction of a User Centered Design (UCD) approach. Along these lines, different proposals have been made, coming from both the Usability Engineering (UE) and the Software Engineering (SE) fields, for the setting out of methods, techniques and tools with the aim of orienting developers as to which activities should be carried out during the software development process that may grant a previously established usability level [2][5][6][7][11][16]. However, in spite of the social and economic benefits that usability allows and yet despite strong motivation within some organizations to practice and apply effective SE and UE methods, there still exist major gaps of understanding both between suggested practice, and how software is actually developed in industry, and between the best practices of each of the fields. The existing UE methods are integrated in development practices in a way that is more opportunistic than systematic. As a result, product quality is not as high as it could be, and rework is often necessary [9]. Modeling and simulation techniques are considered as valuable tools for the improvement of processes in several areas of engineering. Since the early 90s various simulation models have been developed to respond to different questions related to the software development process proving their usefulness in this scope [13]. This paper presents an approach to the application of modeling and simulation techniques to the User Centered Design (UCD) process and usability improvement. More precisely, it proposes the use of dynamic simulation models for the improvement of 117
interactive systems usability through the application of a UCD process and its integration into the software development process [10]. The proposed approach is intended to help developers understand and improve the behavior of the UCD process and its special features, reinforcing motivation for a change in the development process of organizations, and helping to bridge the existing gaps between SE and UE. For the purpose of this study, the simulation model is used to determine the effect that different levels of usability have over the UCD process behavior of a specific kind of interactive systems development such as web site design. The structure of the paper is as follows. Section 2, presents the concepts of usability and UCD in order to set the scope of our study and we comment on the process model that is eventually chosen to build a simulation model. Section 3, presents a brief account of the advantages of simulation models of software processes that support the usefulness of the application of these techniques to the UCD process. Section 4, introduces the model development, as well as the chosen simulation approach, a description of the model and parts of it, the definition of scenarios for the simulation and some simulation results. Section 5, includes the main conclusions of this proposal and future work to be carried out along these lines. 2. Usability and User Centered Design The term usability is defined in norm ISO 9241-11 as “the degree to which a product may be used by any given users to attain specific objectives with effectiveness, efficiency and satisfaction in a specified context of use” [12]. It is necessary to point out that usability depends strictly on the context of use, that is, on specific users and work environment, and hence it is a quality not inherent to software. Hence, it is deduced that in order to develop a usable product it is not enough to systematically apply any general instructions or usability guidelines, but it is necessary to apply a UCD process that allows for the integration of the user into the development from the early stages of it, thus permitting an extensive knowledge of the context of use. User Centred Design is an approach to interactive systems design that specifically aims at making systems more usable through the incorporation of the user to the development process. Amongst the benefits of the application of UCD processes the ISO 13407:1999 [11] includes: − Cost production reduction. Cost and development time can be reduced, avoiding redesign and reducing the number of later changes on the product. − Increase of user productivity and operational efficiency of organizations. − Improvement of the quality of the product and of its appeal to users, resulting in a competitive advantage. − Making systems that are easier to use and learn, thus reducing the cost of technical service, training and maintenance. − Increase of user satisfaction, which reduces trouble and stress. Figure 1. Interdependence of User Centred Design activities [11] Planning the Human Centred Process The system satisfies the specified requirements Undestanding and Specfying the context of use Specifying user and organisation requirements Evaluating designs against requirements Producing design solutions 118
2.1. Model of User Centered Process As it has been already mentioned, there are different methodological suggestions, coming from various disciplines (UE and SE) for the development of interactive systems based upon the user centered approach. All these proposals aim at guiding developers in proceeding in an organized way in order to attain the usability of an interactive system during its development, although how the integration of HCI (Human-Computer Interaction) proposals into SE Process Models should be carried out, is still under research. The present work is centered in the process model developed in the international standard ISO 13407:1999 [11] since it is considered to be the basic reference in the development of user centered processes by the HCI community. It is not linked to any existent methods, and it complements any design methods and lays down a user centered general perspective that may be integrated into various development processes according to each particular context. All design activities introduced are applicable, to a greater or lesser extent, to each of the system development stages, although -previous to its applicationa user centered planning of the process must be set up. Such planning must include, among other things, the procedure for the integration of these activities into the rest of the system development activities (for example analysis, design and evaluation). Such procedure will depend in each case on the project in particular but it should always allow for iteration. Nevertheless, the standard does not specify how such integration must be done. Figure 1 shows the various activities of the UCD process and interdependence among them. The process describes four main design activities centred on the user: understanding and specifying the context of use, specifying user and organization requirements, producing design solutions and evaluating design against requirements. The process implies the iteration of these activities until the system satisfies the specified requirements. A brief explanation of each activity follows: − Understanding and specifying the context of use. Identification should be made of the features of potential users, the tasks they are going to perform and the environment in which the system is going to be used. − Specifying user and organization requirements with respect to use context description. Objectives must be set identifying compromises and priorities among the various requirements. − Producing design solutions. Specific design solutions must be carried out using some kind of prototyping. Such prototypes are presented to users and feedback is used to make design modifications. − Evaluating design with respect to requirements. Evaluation must be present at all stages of the life cycle, with the intention of providing a feedback that contributes to design improvement. It will also determine whether the specified objectives have been attained, and it will check the use of the product in the long term. 3. Modeling and Simulation for Software Process Improvement Simulation can help when it comes to make decisions about questions related to process improvement, because it helps predicting the effect that a change would have in the process before it takes place. In this scope, the dynamic model introduced in [14] is of great importance, being – along with AbdelHamid´s original model [1] - one of the dynamic models that represents with greater detail the whole software development process. In [14], a model for showing the effect of making formal inspections on cost, deadline and quality of projects is introduced. Also, the use of simulation models to predict, quantitatively, the impact of changes upon processes is proposed in [20]. Most recent simulation models are especially designed and oriented towards the evaluation of the results of different measures for process improvement. Various models have been developed in the scope of the CMM model (Capability Maturity Model) among which, the models proposed in [21] and [22] are worth pointing out. [21] shows the application of a model to predict software process perform in terms of effort, staff, deadline and quality of the product. A Dynamic Integrated Framework for Software Process Improvement (DIFSPI) is developed in [22]. It offers a methodology and a working environment that combines both the advantages of traditional methods and those of systems dynamics, thus allowing project managers as well as members of the Software Engineering Improvement Group (SEIG) to design and evaluate new software process improvements. [10] presents an initial approach to the application of modeling and simulation techniques to the UCD process. 119
4. UCD Process Modeling and Simulation 4.1. Simulation approach There are several simulation model approaches applicable to the study of the various aspects of the software process. Among them, two main approaches are worth pointing out: Continuous modeling and discrete modeling. The continuous simulation approach is based upon the Systems Dynamics theory. It is useful when systems contain variables that change in a continuous manner with time. Continuous modeling of a process represents the interaction among its key factors as an ensemble of differential equations where time is increased step by step. The discrete simulation approach is based upon queue systems. In the discrete simulation, time advances when a discrete event takes place. Since the purpose of this study is to model UCD process mechanisms, we have chosen the continuous simulation approach. 4.2. Model Development 4.2. 1. Introduction to model development The main aim of the developed model is to help understand and improve the UCD process and its integration into the overall software development process, resulting in the improvement of system usability. The process model established in ISO 13407:1999 [11], has been chosen to model and simulate the UCD process. The computation of the amount of tasks to be developed in each activity of the UCD process, as well as the effort to be allocated to each of them, have been adapted to the special scenario of a web site design project [3]. 4.2.2. Estimations of Usability Effort and Usability Size For the estimation of Usability Effort and Usability Size, several input parameters and auxiliary variables have been considered. Figure 2 shows the diagram for the computation of these variables. The input parameters involved are the following: − Web Project Size : measured in thousands of Source Lines of Code (SLOC) − Life Cycle Phase : This parameter determines the development stage of the project that is going to be simulated, namely, early, central or late stages. These stages could correspond to the analysis, design and evaluation phases of a classic development life cycle. − Usability Level : This parameter determines the level of usability of the project. The parameter can take three different values, low level, medium level and high level. Figure 2. Usability effort and usability size estimations The variables involved are the following: − Web application effort measured in person_month has been estimated using the estimation model called WEBMO [18][19]. This model estimates the effort and duration of web applications development projects as an adaptation of the COCOMO II early design model [4]. The effort equation used is the following: The constant A and the values for the power law p1 will depend on which of the five application domains is considered. The application domain considered in this model is the one that corresponds to the web portals domain. The equation has also nine cost drivers cd, which have been set to their nominal values in this case study. − Global usability effort : This value is obtained using Web application effort according to the conclusions of the research carried out by Nielsen Norman Group in their study of the best usability practices in web development [17]. For the purpose of this model, the obtained value has been considered as the nominal value corresponding to a medium 1 9 1 )( P ii sizeprojectWebcdAeffortnapplicatioWeb ∏ = = life cycle phase Web Project Size Web Application Effort Global Usability Effort Global Usability Size Usability level Usability size Final Usability Effort Usability Effort Usability tasks 120
usability level (level 2). The value will be increased or decreased by a percentage law for the usability levels: high (level 3) and low (level 1), respectively. − Global usability size : measured in thousands of SLOCs. − Usability tasks : measured in tasks. − Usability effort : Global effort for the usability tasks. Finally, the values corresponding to the Usability size and the Final usability effort variables are obtained depending on the Usability level and the Life cycle phase input parameters, conforming to the proposed scenario. 4.2.3. UCD Process Modeling Figure 3 shows a simplified flow and level diagram of the developed model. Each of the activities of the UCD process described in [11] has been represented as a level variable. Level variables represent the number of tasks that are performed on each of UCD activities, namely: − Specified context of use. − Specified user´s requirements. − Designed solutions. − Evaluated design solutions. The percentage of Usability Size variable that it is necessary to perform on each activity will depend on the Life cycle phase input parameter. According to such parameter the initial values for the various UCD activities will vary. These initial values are represented by variables: − Initial size of context of use. − Initial Requirements size. − Initial Design size. − Initial Evaluation size. In order to control the sequence for the activation of each activity the model is based on the following pattern: When a certain percentage of tasks is completed on a particular activity, it will be possible to start the next activity. This percentage is established through a series of input parameters. Each of these input parameters act upon the following auxiliary variables that control the start of activities: − Necessary context of use. − Necessary user´s requirements. − Necessary solutions. − Necessary evaluation. Each activity gets started by the activation of the corresponding flows. The flow is activated when the number of performed tasks satisfies the percentage of tasks established as necessary to be able to go on to the next activity. Figure 3. Simplified flow and level diagram Specified context of use Specified user´s requirements Designed solutions Evaluated design solutions Specification requirements rate Design rate Evaluation rate Initial size of context of use Initial requirements size Initial Design size Initial evaluation size life cycle phase Finished requirements specification Finished solution design Finished solution evaluation Specification rate of context of use Finished context of use specification Necessary context of use Necessary user´s requirements Necessary solutions Revision rate revision size Usability level Usability size <Usability level> <life cycle phase> Final Usability Effort context of use effort user specification effort desing effort evaluation effort revision effort 121
Figure 4. Usability Tasks Global Distribution in the life cycle according to Usability Level The flow of work, flows applying a development rate between one activity and the next one. The development rate will depend on the productivity and dedication of the staff assigned to each one of the UCD activities as well as on the effort corresponding to each activity. Flow variables are as follows: − Specification rate of context of use. − Specification requirements rate. − Design rate. − Evaluation rate. − Revision rate : This rate will be affected by the revision size variable that will agree with the percentage of evaluated tasks that need to be reelaborated and will depend on Usability level and Life cycle phase input parameters. The final usability effort is distributed into each activity resulting in the following effort variables: − Context of use effort. − Specification requirements effort. − Design effort. − Evaluation effort. − Revision effort 4.3. Model Simulation 4.3.1. Scenarios definition According to ISO standard 13407:1999 [11], before applying the UCD process it is necessary to plan it out, in order to specify how user centred activities fit in the overall development process. To simulate the model three main scenarios have been considered. These scenarios will be mainly driven by the three usability levels considered. The Usability level and Life cycle phase input parameters will determine the values of usability size and final usability effort variables. At the same time, these variables will determine the initial distribution of usability tasks to be performed as well as the effort to be invested in them, setting the initial situation of the scenarios. The distribution of usability tasks in the life cycle, which reflects the assumed scenario for the simulation is detailed in figure 4. Figure 5. Results for the Initial phase and Level 3 of Usability Level 1 Level 2 Level 3 Central Phases Final Phases Initial Phases Central Phases Final Phases Initial Phases Central Phases Final Phases Initial Phases Level 3Initial Phase 2 1 0 0 1 2 3 4 5 6 7 8 9 10 Time (Month) Specified context of use : 3_1 tasks Specified user´s requirements : 3_1 tasks Designed solutions : 3_1 tasks Evaluated design solutions : 3_1 tasks 122
Figure 6. Results for the Central phase and Level 3 of Usability Usability level 1 would correspond to the situation in which the usability methods and techniques are not correctly applied from the early stages of development, putting most of them off to the final stages. The initial scenario given by level 3 corresponds to an ideal situation in which usability activities would be taken into account through the whole life cycle of the web site project. Level 2 scenario defines an intermediate situation. Once the Usability Size variable has been initialized, it is distributed -depending on the life cycle phaseinto each of the variables corresponding to the number of UCD tasks that must be carried out in each process activity. Values are allocated according to those usability tasks that it is necessary to carry out in each activity during the application of the UCD process to the web design [2][3][8]. The revision size variable represents the percentage of evaluated tasks that need to be reelaborated. This percentage increase as the level of usability decreases and the life cycle phase increases, since the number of errors encountered during evaluation is notably increased when usability is not taken into account since the early stages of development. [8][9]. Finally, the distribution of Usability Effort into each of the activities is carried out according to initial size of tasks for each activity, taking also into account revision tasks. Figure 7. Results for the Final phase and Level 3 of Usability Level 3 - Central Phase 4 2 0 0 1 2 3 4 5 6 7 8 9 10 Time (Month) Specified context of use : 3_2 tasks Specified user´s requirements : 3_2 tasks Designed solutions : 3_2 tasks Evaluated design solutions : 3_2 tasks Level 3Final Phase 4 2 0 0 1 2 3 4 5 6 7 8 9 10 Time (Month) Specified context of use : 3_3 tasks Specified user´s requirements : 3_3 tasks Designed solutions : 3_3 tasks Evaluated design solutions : 3_3 tasks 123
Figure 8. Results for the Final phase and Level 1 of Usability 4.3.2. Simulation Results The model has been implemented using the Vensim ® simulation environment. As an example, a simulation for a project of 11,000 SLOCs has been performed. Figures 5, 6 and 7 show the behavior of UCD activities for level 3 through the complete development process. The graphics show how the results reproduce the expected behavior from a qualitative point of view. In figure 5 we verify that all UCD activities are involved in the initial phase. We can see that Use Context Specification activities as well as User´s Requirements Specification ones have a greater degree of importance in this initial phase of the life cycle, in which web site objectives are also planned and use scenarios defined. The curve corresponding to Solution Design represents the consideration of established guidelines for web writing style, navigation and page design as well as the design of early prototypes and mock-ups, which must eventually be evaluated in this phase for representative end users. Figures 6 and 7 show how important design and evaluation activities become when ever more functional (and thus more complex) prototypes of the site are developed, their evaluation being consequently increased in complexity. Figure 8 shows the behavior of the process for the final stage and for level 1 of usability. It is interesting to point out how development time is increased in comparison with level 3. This is chiefly due to the increase in the number of revision 5. Conclusions and Future Work This paper presents the results of the application of simulation modeling to the UCD process. More precisely, the developed dynamic model helps visualize the behavior of UCD activities during the development life cycle of web site portal development. Furthermore, it provides a tool to experiment the effects that the variations in the desired usability level and the estimated initial size have upon the UCD process evolution and behavior. Managers and developers could benefit from it to make decisions in order to improve the final product usability. The developed model is also useful to experiment with other types of software development projects. The present paper contributes to justify the usefulness that modeling and simulation techniques – already validated in other software development paradigmshave to understand and improve the UCD process, setting a basis for its application in this scope. Future research is oriented toward a deeper study of the application of modeling and simulation techniques to UCD integration into software development, as well as to the identification of the special features of UCD processes that help us model the specific aspects of usability methods and techniques, that affect interactive system usability both during the development process and in the evaluations of the final product once it is implanted. Level 1Final Phase 4 2 0 0 1 2 3 4 5 6 7 8 9 10 Time (Month) Specified context of use : 1_3 tasks Specified user´s requirements : 1_3 tasks Designed solutions : 1_3 tasks Evaluated design solutions : 1_3 tasks 124
Acknowledgements The authors wish to acknowledge the Interdepartmental Commission for Science and Technology (Comisión Interministerial de Ciencia y Tecnología) Spain, for subsidizing this research through projects TIC 2003-369 and TIC 2001-1143C03-02 6. References [1] Abdel-Hamid, T., Madnick, S., Software Project Dynamics: An Integrated Approach. Prentice-Hall, Englewood Cliffs, NJ. 1991. [2] Bevan, N., UsabilityNet Methods for User Centred Design. Human-Computer Interaction: Theory and Practice (volume 1 of the Proceedings of HCI international 2003). Lawrence Erlbaum Associates. 2003. pp. 434-438. [3] Bevan, N., “Usability Issues in web site design”. Proceedings of UPA’98.Washington DC. June, 1998. pp. 2226. [4] Boehm, Barry W., Chris Abts, A. Winsor Brown, et al. Software Cost Estimation with COCOMO II . Prentice Hall, 2000. pp. 51-55. [5] Daly-Jones, O., Bevan, N., Thomas, C., “Handbook of user centred design”. EC Telematics Applications Programme, Project IE 2016 INUSE, NPL Usability Services, National Physical Laboratory, Queens Road, Teddington, Middlesex, TW11 0LW, UK. January, 2001. [6] Dix, A., Finlay, J., Abowd, G., Beale R.,. HumanComputer Interaction . Prentice Hall, Englewood Cliffs, NJ (2nd edition).1998. [7] Ferré, X., “Integration of Usability Techniques into the Software Development Process”. Proceedings of the Workshop Bridging the Gaps Between Software Engineering and Human-Computer Interaction. ICSE’03. (International Conference on Software Engineering). Portland, Oregon. May, 2003. [8] Folmer, E., Bosch, J., Cost Effective Development of Usable Systems; Gaps between HCI and SE. Proceedings of the Workshop Bridging the Gaps Between Software Engineering and Human-Computer Interaction. ICSE’04. (International Conference on Software Engineering).2004. [9] Harning, M.B, Vanderdonckt, J., Introduction to the proceedings of the workshop “Closing the gaps: software engineering and Human-Computer Interaction”. INTERACT 2003. [10] Hurtado N., Ruiz M., Torres J., “Aplicación del Modelado y Simulación de Sistemas Dinámicos al Proceso de Diseño Centrado en el usuario”. Proceedings of the 5th ADIS 2004 Workshop on Decision Support in Software Engineering, University of Malaga. Published on CEUR-WS, vol 120. November, 2004. Available at: <http://CEURWS.org/Vol-120/> [11] ISO 13407:1999. Human-Centred Design Processes for Interactive Systems . International Standard Organism, 1999. [12] ISO 9241-11:1998. E rgonomic Requirements for Office Work with Visual Display Terminals (VDTs) - Part 11: Guidance on Usability. International Standard Organism, 1998. [13] Kellner, MI., Madachy, RJ., Raffo, DM., Software Process Simulation Modeling: Why? What? How? The Journal of Systems and Software, 46 (2/3). 1999. pp. 91-105. [14] Madachy, R., “A Software Project Dynamics Model for Process Cost, Schedule and Risk Assessment”. Ph.D. Dissertation. University of Southern California, Los Angeles, CA. 1994. [15] Marcus, A. “Return on Investment for usable UserInterface Design: Examples and Statistics”, Aaron Marcus & Associates, Inc, California, February, 2002, pp. 1-24. [16] Mayhew, D., The Usability Engineering Lifecycle , Morgan Kaufmann, San Francisco, 1999. [17] Nielsen, J.; Gilutz, S.. “Usability Return on Investment”. Nielsen Norman Group, 2003. [18] Reifer, D. “Web development: estimating quick-tomarket software”, IEEE Software, Vol. 17, No. 6.. 2000. pp.57–64 [19] Reifer, D. “Estimating Web Development Costs: There Are Differences”. The Journal of Defense Software Engineering. June, 2002. [20] Raffo, D., “Modeling Software Processes Quantitatively and Assessing the Impact of Potencial Process Changes on Process Performance”. Ph.D. Dissertation. Graduate School of Industrial Administration, Carnegie Mellon University, Pittsburg, PA. 1996. [21] Raffo, D., Kellner, MI., Chapter 16. “Modeling Software Processes Quantitatively and Evaluating the Performance of Process Alternatives”. En El Eman, K., Madhavji, N. (Eds.), Elements of Software Process Assessment and Improvement. IEEE Computer Society Press, Los Alamitos, CA. 1999. [22] Ruiz M., “Modelado y Simulación para la Mejora de los Procesos Software”. Ph.D. Dissertation. Department of Computer Languages and Systems. University of Sevilla, 2003. (In Spanish) 125