Software Development Methods and Usability : a Systematic Literature Review
Total Page:16
File Type:pdf, Size:1020Kb
Linköping University | IDA 30 hp/Master Thesis |Computer Science Autumn term 2017 | LIU-IDA/LITH-EX-A—17/055--SE Software Development Methods and Usability : A Systematic Literature Review Prabhu Raj Prem Kumar Tutor, Johan Åberg, Linköpings universitet Examiner, Kristian Sandahl, Linköpings universitet 2 Final Thesis Software Development Methods and Usability: A Systematic Literature Review by Prabhu Raj Prem Kumar [email protected] Supervisor: Johan Åberg, Linköpings universitet Examiner: Kristian Sandahl, Linköpings universitet Linköping, 4th December, 2017 3 Upphovsrätt Detta dokument hålls tillgängligt på Internet – eller dess framtida ersättare – under en längre tid från publiceringsdatum under förutsättning att inga extra-ordinära omständigheter uppstår. Tillgång till dokumentet innebär tillstånd för var och en att läsa, ladda ner, skriva ut enstaka kopior för enskilt bruk och att använda det oförändrat för ickekommersiell forskning och för undervisning. Överföring av upphovsrätten vid en senare tidpunkt kan inte upphäva detta tillstånd. All annan användning av dokumentet kräver upphovsmannens medgivande. För att garantera äktheten, säkerheten och tillgängligheten finns det lösningar av teknisk och administrativ art. Upphovsmannens ideella rätt innefattar rätt att bli nämnd som upphovsman i den omfattning som god sed kräver vid användning av dokumentet på ovan beskrivna sätt samt skydd mot att dokumentet ändras eller presenteras i sådan form eller i sådant sammanhang som är kränkande för upphovsmannens litterära eller konstnärliga anseende eller egenart. För ytterligare information om Linköping University Electronic Press se förlagets hemsida http://www.ep.liu.se/ Copyright The publishers will keep this document online on the Internet - or its possible replacement - for a considerable time from the date of publication barring exceptional circumstances. The online availability of the document implies a permanent permission for anyone to read, to download, to print out single copies for your own use and to use it unchanged for any non- commercial research and educational purpose. Subsequent transfers of copyright cannot revoke this permission. All other uses of the document are conditional on the consent of the copyright owner. The publisher has taken technical and administrative measures to assure authenticity, security and accessibility. According to intellectual property law the author has the right to be mentioned when his/her work is accessed as described above and to be protected against infringement. For additional information about the Linköping University Electronic Press and its procedures for publication and for assurance of document integrity, please refer to its WWW home page: http://www.ep.liu.se/ © Prabhu Raj Prem Kumar. i Abstract This thesis provides a tour of main software development methods and their assimilation with usability. Various software development methods have been developed since the origin of software products, and with integration of usability they have achieved great heights. Software developers and researchers are also keen to integrate usability with their methods to develop a successful software product, as their product might not lose its grip over their competitors. This thesis is a preliminary literature review that provides solutions to key questions such as: Which development methods are used in projects with high demands on usability? Do agile methods positively contribute to the usability of the product? Do projects with high demands on usability use usability specialists? Which types of usability are addressed in articles relating development methods and usability? The research aim is to identify how software development methods deal with usability. This thesis clearly discusses about previous empirical studies on software development methods and usability. In this thesis, Kitchenham’s systematic literature review was followed to extract the knowledge from the databases (Inspec and ACM). Validation on the literature was performed using Cohen’s kappa value with a researcher. Four research questions mentioned above are discussed in detail to analyse the results. Agile software development methods have been widely deployed due to its iterative, incremental approach and positive contribution towards usability rather than traditional approach. The role of a usability expert has been analyzed in this thesis and their need in the development process was discussed. Furthermore, various usability types like satisfaction, efficiency and effectiveness have also been discussed in detail. Finally, this thesis suggests a solution of incorporating usability with software development methods. ii iii Acknowledgements At first I would like to thank, Johan Åberg and Kristian Sandahl for giving me this opportunity. It is their vision that inspired me on this topic, and they guided me in the initial days of thesis and spending their valuable time till completion. I like to thank all my teachers and professors who taught me knowledge, wisdom and discipline. It is them who made me the person, whom I am today. Also I like to thank all my childhood and college friends for their support, encouragement and faith they had on me. They made me believe that “You can do anything, if you started to try it”. I could not imagine my life without them. I would also like to thank all my room-mates during my entire course period. They had been always attuned to me and very helpful to fulfill my dreams. It is them who made me stay happily for the entire period and finish this work successfully. I love to thank my brother, who always stood by my side, and never doubted me in my doings. Without him, I could not be good as now. At last, I thank my parents, the two persons who made me from their tears and joy, and brought me to this life with their love and gave me everything which they can ever give to anyone. Linköping, December 2017 iv v Table of Contents Copyright ....................................................................................................................................................... i Abstract ......................................................................................................................................................... ii Figures ....................................................................................................................................................... viii Tables ......................................................................................................................................................... viii 1. Introduction ............................................................................................................................................... 1 1.1 Research questions .............................................................................................................................. 1 1.2 Thesis organization ............................................................................................................................. 2 2.1 Background ............................................................................................................................................. 3 2.1.1. Usability .......................................................................................................................................... 3 2.1.1.1. Formative usability .................................................................................................................. 4 2.1.1.2. Summative usability ................................................................................................................. 5 2.2. Software development methods (SDM) ............................................................................................. 6 2.2.1. Traditional methods .................................................................................................................... 6 2.2.1.1. Waterfall model.................................................................................................................... 6 2.2.1.2. V-model ............................................................................................................................... 7 2.2.1.3. Spiral model ......................................................................................................................... 7 2.2.2. Agile methods ............................................................................................................................. 8 3. Method .................................................................................................................................................... 10 3.1 Search strategy .................................................................................................................................. 10 3.1.1 Keywords ................................................................................................................................... 10 3.1.2 Search queries ............................................................................................................................ 11 3.2 Study selection criteria and procedure .............................................................................................. 12 3.3 Study quality assessment .................................................................................................................. 13 3.4 Validation of selection procedure ....................................................................................................