Skip to main content
Log in

Challenges of working with artifacts in requirements engineering and software engineering

  • RE 2016
  • Published:
Requirements Engineering Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18

Similar content being viewed by others

Notes

  1. http://www.ifi.uzh.ch/rerg/people/ghazi/InterviewInstrument2016.pdf

  2. http://www.ifi.uzh.ch/rerg/people/ghazi/Follow-upSurvey2016.pdf

References

  1. 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

  2. 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

    Article  Google Scholar 

  3. 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

  4. Cleland-Huang J, Habrat R (2007) Visual support in automated tracing. In: Proceeding of the second international workshop on requirements engineering visualization (REV 2007)

  5. Cockburn A, Karlson A, Bederson BB (2009) A review of overview+detail, zooming, and focus+context interfaces. ACM Comput Surv 41(1):1–31

    Article  Google Scholar 

  6. 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

  7. 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

  8. Creswell JW (2013) Research design: qualitative, quantitative, and mixed methods approaches. Sage Publications, Thousand Oaks

    Google Scholar 

  9. 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

  10. 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

    Article  Google Scholar 

  11. 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

  12. 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

    Article  Google Scholar 

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

    Article  Google Scholar 

  21. 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

  22. 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

  23. 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

  24. IEEE: IEEE standard glossary of software engineering terminology. IEEE Std 610.12.1990, pp 1–84 (1990)

  25. International Organization for Standardization: ISO 9241-11: Ergonomic requirements for office work with visual display terminals (VDTs): Part 11—guidance on usability (1998)

  26. 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

  27. 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

  28. King N, Horrocks C (2010) Interviews in qualitative research. Sage, London

  29. Kitchenham B, Pfleeger SL (2002) Principles of survey research part 5: populations and samples. ACM SIGSOFT Softw Eng Notes 27(5):17–20

    Article  Google Scholar 

  30. 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

  31. 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

    Article  Google Scholar 

  32. Lethbridge TC, Sim SE, Singer J (2005) Studying software engineers: data collection techniques for software field studies. Empir Softw Eng 10(3):311–341

    Article  Google Scholar 

  33. Lethbridge TC, Singer J, Forward A (2003) How software engineers use documentation: the state of the practice. IEEE Softw 20(6):35–39

    Article  Google Scholar 

  34. Likert R (1932) A technique for the measurement of attitudes. Arch Psychol 140:1–55

    Google Scholar 

  35. 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

  36. 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

  37. 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

  38. Martinez WL, Martinez AR (2007) Computational statistics handbook with MATLAB. CRC Press, Boca Raton

    MATH  Google Scholar 

  39. 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

  40. 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

    Article  Google Scholar 

  41. Oates BJ (2005) Researching information systems and computing. Sage, London

  42. 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

  43. 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

  44. 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

  45. Parsons P (2013) Cognitive activity support tools: design of the visual interface. Ph.D. thesis, The University of Western Ontario

  46. Pohl K (2010) Requirements engineering: fundamentals, principles, and techniques. Springer Publishing Company, Incorporated

  47. 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

    Article  Google Scholar 

  48. 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

  49. 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)

  50. 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

  51. 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

    Article  Google Scholar 

  52. Robson C (2002) Real world research, 2nd edn. Blackwell Publishing, Malden

    Google Scholar 

  53. Seaman CB (2008) Qualitative methods. In: Guide to advanced empirical software engineering. Springer, New York, pp 35–62

  54. Sommerville I (1992) Documentation. Software Engineering, 4th edn. Addison-Wesley, USA, pp 571–587

  55. 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

  56. 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

  57. 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

    Article  Google Scholar 

  58. 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

  59. Winkler S, Pilgrim J (2010) A survey of traceability in requirements engineering and model-driven development. Softw Syst Model 9(4):529–565

    Article  Google Scholar 

  60. 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

    Book  MATH  Google Scholar 

  61. 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

  62. 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

  63. 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

  64. 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

    Article  Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Parisa Ghazi.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00766-017-0272-z

Keywords

Navigation