Abstract
When developing or evolving software systems of non-trivial size, having the requirements properly documented is a crucial success factor. The time and effort required for creating and maintaining non-code artifacts are significantly influenced by the tools with which practitioners view, navigate and edit these artifacts. This is not only true for requirements, but for any artifacts used when developing or evolving systems. However, there is not much evidence about how practitioners actually work with artifacts and how well software tools support them. Therefore, we conducted an exploratory study based on 29 interviews with software practitioners to understand the current practice of presenting and manipulating artifacts in tools, how practitioners deal with the challenges encountered, and how these challenges affect the usability of the tools used. We found that practitioners typically work with several interrelated artifacts concurrently, less than half of these artifacts can be displayed entirely on a large screen, the artifact interrelationship information is often missing, and practitioners work collaboratively on artifacts without sufficient support. We identify the existing challenges of working with artifacts and discuss existing solutions proposed addressing them. Our results contribute to the body of knowledge about how practitioners work with artifacts when developing or evolving software, the challenges they are faced with, and the attempts to address these challenges.
Similar content being viewed by others
References
Begel A, Khoo YP, Zimmermann T (2010) Codebook: discovering and exploiting relationships in software repositories. In: Proceeding of the 32nd international conference on software engineering (ICSE 2010), vol 1, pp 125–134
Bennett C, Myers D, Storey MA, German DM, Ouellet D, Salois M, Charland P (2008) A survey and evaluation of tool features for understanding reverse-engineered sequence diagrams. J Softw Maint Evol Res Pract 20(4):291–315
Braun E, Amyot D, Lethbridge TC (2015) Generating software documentation in use case maps from filtered execution traces. In: 17th international SDL forum of model-driven engineering for smart cities. Springer, New York, pp 177–192
Cleland-Huang J, Habrat R (2007) Visual support in automated tracing. In: Proceeding of the second international workshop on requirements engineering visualization (REV 2007)
Cockburn A, Karlson A, Bederson BB (2009) A review of overview+detail, zooming, and focus+context interfaces. ACM Comput Surv 41(1):1–31
Cooper Jr JR, Lee SW, Gandhi RA, Gotel O (2009) Requirements engineering visualization: a survey on the state-of-the-art. In: Proceeding of the fourth international workshop on requirements engineering visualization (REV 2009), pp 46–55
Cornelissen B, Van Deursen A, Moonen L, Zaidman A (2007) Visualizing testsuites to aid in software understanding. In: Proceeding of the 11th European conference on software maintenance and reengineering (CSMR’07), pp 213–222
Creswell JW (2013) Research design: qualitative, quantitative, and mixed methods approaches. Sage Publications, Thousand Oaks
Czerwinski M, Smith G, Regan T, Meyers B, Robertson G, Starkweather, G (2003) Toward characterizing the productivity benefits of very large displays. In: Proceedings of the IFIP TC13 international conference on human-computer interaction (INTERACT ’03), vol 3. IOS Press, Amsterdam, pp 9–16
Damian D, Chisan J (2006) An empirical study of the complex relationships between requirements engineering processes and other processes that lead to payoffs in productivity, quality, and risk management. IEEE Trans Softw Eng 32(7):433–453
Davis A, Dieste O, Hickey A, Juristo N, Moreno AM (2006) Effectiveness of requirements elicitation techniques: empirical results derived from a systematic review. In: 14th IEEE international requirements engineering conference (RE ’06), pp 179–188
De Gea JMC, Nicolás J, Alemán JLF, Toval A, Ebert C, Vizcaíno A (2012) Requirements engineering tools: capabilities, survey and assessment. Inf Softw Technol 54(10):1142–1157
Dekel U (2005) Supporting distributed software design meetings: what can we learn from co-located meetings? In: Proceedings of the 2005 workshop on human and social factors of software engineering (HSSE '05), pp 1–7
Dekel U, Herbsleb JD (2007) Notation and representation in collaborative object-oriented design: an observational study. In: ACM SIGPLAN Notices, vol 42. ACM, New York, pp 261–280
Easterbrook S, Singer J, Storey MA, Damian D (2008) Selecting empirical methods for software engineering research. In: Guide to advanced empirical software engineering. Springer, New York, pp 285–311
Forward A, Lethbridge TC (2002) The relevance of software documentation, tools and technologies: a survey. In: Proceedings of the 2002 ACM symposium on document engineering (DocEng ’02). ACM, New York, pp 26–33
Frisch M, Dachselt R (2010) Off-screen visualization techniques for class diagrams. In: Proceedings of the 5th international symposium on software visualization (SOFTVIS ’10). ACM, New York, pp 163–172
Frøkjær E, Hertzum M, Hornbæk K (2000) Measuring usability: are effectiveness, efficiency, and satisfaction really correlated? In: Proceedings of the SIGCHI conference on human factors in computing systems (CHI ’00). ACM, New York, pp 345–352
Furnas GW (1986) Generalized fisheye views. In: Proceedings of the SIGCHI conference on human factors in computing systems (CHI ’86). ACM, New York, pp 16–23
de Gea JMC, Nicolás J, Alemán JLF, Toval A, Ebert C, Vizcaíno A (2011) Requirements engineering tools. IEEE Softw 28(4):86–91
Ghazi P, Glinz M (2016) An exploratory study on user interaction challenges when handling interconnected requirements artifacts of various sizes. In: Proceeding of the 24th IEEE international requirements engineering conference (RE ’16), pp 76–85
Ghazi P, Seyff N, Glinz M (2015) FlexiView: A magnet-based approach for visualizing requirements artifacts. In: Proceeding of the 21st international working conference on requirements engineering: foundation for software quality (REFSQ ’15). Springer, New York, pp 262–269
Hoffmann M, Kuhn N, Weber M, Bittner M (2004) Requirements for requirements management tools. In: Proceedings of 12th IEEE international requirements engineering conference (RE ’04), pp 301–308
IEEE: IEEE standard glossary of software engineering terminology. IEEE Std 610.12.1990, pp 1–84 (1990)
International Organization for Standardization: ISO 9241-11: Ergonomic requirements for office work with visual display terminals (VDTs): Part 11—guidance on usability (1998)
Kagdi H, Maletic JI (2007) Onion graphs for focus+context views of UML class diagrams. In: 4th IEEE international workshop on visualizing software for understanding and analysis (VISSOFT 2007), pp 80–87
Karlsson L, Dahlstedt Å, Natt och Dag J, Regnell B, Persson A, (2002) Challenges in market-driven requirements engineering-an industrial interview study. In: Eighth international workshop on requirements engineering: foundation for software quality (REFSQ ’02), pp 37–49
King N, Horrocks C (2010) Interviews in qualitative research. Sage, London
Kitchenham B, Pfleeger SL (2002) Principles of survey research part 5: populations and samples. ACM SIGSOFT Softw Eng Notes 27(5):17–20
Koning H, Dormann C, van Vliet H (2002) Practical guidelines for the readability of IT-architecture diagrams. In: Proceedings of the 20th annual international conference on computer documentation (SIGDOC ’02). ACM, New York, pp 90–99
Lam H, Munzner T (2010) A guide to visual multi-level interface design from synthesis of empirical study evidence. Synth Lect Vis 1(1):1–117
Lethbridge TC, Sim SE, Singer J (2005) Studying software engineers: data collection techniques for software field studies. Empir Softw Eng 10(3):311–341
Lethbridge TC, Singer J, Forward A (2003) How software engineers use documentation: the state of the practice. IEEE Softw 20(6):35–39
Likert R (1932) A technique for the measurement of attitudes. Arch Psychol 140:1–55
Lischke L, Mayer, S, Wolf K, Henze N, Schmidt A, Leifert S, Reiterer H (2015) Using space: effect of display size on users’ search performance. In: Proceedings of the 33rd annual ACM conference extended abstracts on human factors in computing systems (CHI ’15). ACM, New York, pp 1845–1850
Liskin O (2015) How artifacts support and impede requirements communication. In: International working conference on requirements engineering: foundation for software quality (REFSQ ’15). Springer, New York, pp 132–147
Mangano N, Baker A, Dempsey M, Navarro E, van der Hoek A (2010) Software design sketching with Calico. In: Proceedings of the international conference on automated software engineering (ASE ’10). ACM, New York, pp 23–32
Martinez WL, Martinez AR (2007) Computational statistics handbook with MATLAB. CRC Press, Boca Raton
Müller SC, Fritz T (2013) Stakeholders’ information needs for artifacts and their dependencies in a real world context. In: Proceedings of the 29th IEEE international conference on software maintenance (ICSM ’13), pp 290–299
Myers B, Hudson SE, Pausch R (2000) Past, present, and future of user interface software tools. ACM Trans Comput Human Interact 7(1):3–28
Oates BJ (2005) Researching information systems and computing. Sage, London
Ossher H, van der Hoek A, Storey MA, Grundy J, Bellamy R (2010) Flexible modeling tools (Flexitools 2010). In: Proceedings of the 32nd international conference on software engineering (ICSE ’10). ACM, New York, vol 2, pp 441–442
Ossher H, van der Hoek A, Storey MA, Grundy J, Bellamy R, Petre M (2011) Workshop on flexible modeling tools (Flexitools 2011). In: Proceedings of the 33rd international conference on software engineering (ICSE ’11). ACM, New York, pp 1192–1193
Pagano D, Brügge B (2013) User involvement in software evolution practice: a case study. In: Proceedings of the 35th international conference on software engineering (ICSE ’13), pp 953–962
Parsons P (2013) Cognitive activity support tools: design of the visual interface. Ph.D. thesis, The University of Western Ontario
Pohl K (2010) Requirements engineering: fundamentals, principles, and techniques. Springer Publishing Company, Incorporated
Portillo-Rodríguez J, Vizcaíno A, Piattini M, Beecham S (2012) Tools used in global software engineering: a systematic mapping review. Inf Softw Technol 54(7):663–685
Reddivari S, Chen Z, Niu N (2012) ReCVisu: a tool for clustering-based visual exploration of requirements. In: Proceeding of the 20th IEEE international requirements engineering conference (RE ’12), pp 327–328
Reinhard T, Meier S, Glinz M (2007) An improved fisheye zoom algorithm for visualizing and editing hierarchical models. In: Proceeding of the second international workshop on requirements engineering visualization (REV 2007)
Reinhard T, Meier S, Stoiber R, Cramer C, Glinz M (2008) Tool support for the navigation in graphical models. In: Proceeding of the 30th international conference on software engineering (ICSE ’08). ACM, New York, pp 823–826
Robertson G, Czerwinski M, Baudisch P, Meyers B, Robbins D, Smith G, Tan D (2005) The large-display user experience. IEEE Comput Graph Appl 25(4):44–51
Robson C (2002) Real world research, 2nd edn. Blackwell Publishing, Malden
Seaman CB (2008) Qualitative methods. In: Guide to advanced empirical software engineering. Springer, New York, pp 35–62
Sommerville I (1992) Documentation. Software Engineering, 4th edn. Addison-Wesley, USA, pp 571–587
de Souza CR, Redmiles DF (2008) An empirical study of software developers’ management of dependencies and changes. In: Proceedings of the 30th international conference on software engineering (ICSE ’08). ACM, New York, pp 241–250
de Souza SCB, Anquetil N, de Oliveira KM (2005) A study of the documentation essential to software maintenance. In: Proceedings of the 23rd annual international conference on design of communication: documenting and designing for pervasive information. ACM, New York, pp 68–75
Teruel MA, Navarro E, López-Jaquero V, Montero F, González P (2014) A CSCW requirements engineering case tool: development and usability evaluation. Inf Softw Technol 56(8):922–949
Winkler S (2007) Information flow between requirement artifacts. results of an empirical study. In: International working conference on requirements engineering: foundation for software quality (REFSQ ’07). Springer, New York, pp 232–246
Winkler S, Pilgrim J (2010) A survey of traceability in requirements engineering and model-driven development. Softw Syst Model 9(4):529–565
Wohlin C, Runeson P, Höst M, Ohlsson MC, Regnell B, Wesslén A (2000) Experimentation in software engineering: an introduction. Kluwer Academic Publishers, Boston
Wüest D, Seyff N, Glinz M (2012) Flexible, lightweight requirements modeling with FlexiSketch. In: Proceedings of the 20th IEEE international requirements engineering conference (RE ’12), pp 323–324
Wüest D, Seyff N, Glinz M (2012) FlexiSketch: a mobile sketching tool for software modeling. In: Proceedings of the fourth international conference on mobile computing, applications and services (MobiCASE). Springer, New York, pp 225–244
Wüest D, Seyff N, Glinz M (2015) Sketching and notation creation with FlexiSketch Team: evaluating a new means for collaborative requirements elicitation. In: Proceeding of the 23rd IEEE international requirements engineering conference (RE ’15), pp 186–195
Zhi J, Garousi-Yusifoğlu V, Sun B, Garousi G, Shahnewaz S, Ruhe G (2015) Cost, benefits and quality of software development documentation: a systematic mapping. J Syst Softw 99:175–198
Acknowledgements
The authors thank Dr. Irina Todoran Koitz for the insightful discussions and valuable feedback. We are grateful to the anonymous reviewers for helpful suggestions that enabled us to improve this paper. We would also like to thank all the participants and their companies for their time and valuable contributions that made the data collection possible for this research.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Ghazi, P., Glinz, M. Challenges of working with artifacts in requirements engineering and software engineering. Requirements Eng 22, 359–385 (2017). https://doi.org/10.1007/s00766-017-0272-z
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00766-017-0272-z