Skip to main content
Log in

Employing resilience engineering in eliciting software requirements for complex systems: experiments with the functional resonance analysis method (FRAM)

  • Original Article
  • Published:
Cognition, Technology & Work Aims and scope Submit manuscript

Abstract

Resilience engineering provides concepts and methods for assessing the ability of socio-technical systems to adjust their functioning before, during, or after changes or disturbances. As such, this field of study has great potential to contribute to software engineering—particularly for the requirements specification for information systems—that deals with variability, unpredictability, and adaptation in complex contexts. Despite software engineers’ efforts, the requirements phase is still challenging, especially in complex socio-technical systems. In these systems, the software must be more resilient and adaptable to deal with uncertain situations. Thus, this study aimed to investigate the contributions of resilience engineering to requirements engineering to identify software requirements for complex systems. Two experiments were performed with software professionals to produce requirements specifications in healthcare. The participants used information from the functional resonance analysis method (FRAM) compared to business process modeling notation (BPMN). Both experiments were supported by a systematic approach called MacKnight. This study indicates innovative strategies to gather resilient software requirements from FRAM models for complex systems.

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

Similar content being viewed by others

References

  • Arcuri R, Bulhões B, Jatobá A, Bellas HC, Koster I, Avila A, Vidal M, Burns C, Carvalho PVR (2020) Gatekeeper family doctors operating a decentralized referral priornewitization system: uncovering improvements in system resilience through a grounded-based approach. Saf Sci 121:177–190. https://doi.org/10.1016/j.ssci.2019.08.023

  • Bates DW, Cohen M, Leape LL, Overhage JM, Shabot MM, Sheridan T (2001) Reducing the frequency of errors in medicine using information technology. J Am Med Inform Assoc 8:299–308

    Article  Google Scholar 

  • Belmonte F, Schön W, Heurley L, Capel R (2011) Interdisciplinary safety analysis of complex socio-technological systems based on the functional resonance accident model: an application to railway traffic supervision. Reliab Eng Syst Saf 96:237–249. https://doi.org/10.1016/j.ress.2010.09.006

    Article  Google Scholar 

  • Baxter G, Sommerville I (2011) Socio-technical systems: from design methods to systems engineering. Interact Comput 23(1):4–17

    Article  Google Scholar 

  • Beyer H, Holtzblatt K (1998) Contextual design. Morgan Kaufmann Publishers, San Francisco

    Google Scholar 

  • Braithwaite J, Clay-Williams R, Nugus P, Plumb J (2013) Health care as a complex adaptive system. In: Hollnagel E, Braithwaite J, Wears R (eds) Resilient health care. Ashgate Publishing Limited, Surrey

  • Braithwaite J, Taylor N, Clay-Williams R, Ting HP, Arnolda G (2019) Conclusion: the road ahead: where should we go now to improve healthcare quality in acute settings? Int J Qual Health Care. https://doi.org/10.1093/intqhc/mzz098

    Article  Google Scholar 

  • Browne GJ, Ramesh V (2002) Improving information requirements determination: a cognitive perspective. Inf Manag 39(8):625–645

    Article  Google Scholar 

  • Carr Joseph J (2008) Requirements engineering and management: the key to designing quality complex systems. TQM Mag 12(6):400–407

    Article  Google Scholar 

  • Carvalho PVR, dos Santos IL, Vidal MCR (2005) Nuclear power plant shift supervisor’s decision making during micro-incidents. Int J Ind Ergon 35:619–644

    Article  Google Scholar 

  • Casares Li R, Arcuri R, Jatobá A, Vidal MCR, Carvalho PVR, Grindrod K, Burns C (2019) Information technology systems at the sharp end of medication therapy management. HFES 63rd Annual Meeting, At Seattle, Washington

  • Christel MG, Kang KC (1992) Issues in requirements elicitation. Technical Report, CMU/SEI-92-TR-12 ESC-TR-92–012

  • Clay-Williams R, Hounsgaard J, Hollnagel E (2015) Where the rubber meets the road: using FRAM to align work-as-imagined with work-as-done when implementing clinical guidelines. Implement Sci. https://doi.org/10.1186/s13012-015-0317-y

    Article  Google Scholar 

  • Crandall B, Klein G, Hoffman R (2006) Working minds: a practitioner's guide to cognitive task analysis. A Bradford Book, Florida

    Book  Google Scholar 

  • Davis A, Overmyer S, Jordan K, Caruso J, Dandashi F, Dinh A, Ta A (1993) Identifying and measuring quality in a software requirements specification. In [1993] Proceedings First International Software Metrics Symposium. IEEE pp. 141–152

  • de Carvalho PVR (2011) The use of functional resonance analysis method (FRAM) in a mid-air collision to understand some characteristics of the air traffic management system resilience. Reliab Eng Syst Saf 96(11):1482–1498. https://doi.org/10.1016/j.ress.2011.05.009

    Article  Google Scholar 

  • Denger C, Berry DM, Kamsties E (2003) Higher quality requirements specifications through natural language patterns. Proceedings of the IEEE International Conference on Software—science, technology & engineering (SwSTE’03)

  • Denger C, Olsson T (2005) Quality assurance in requirements engineering. In: Aurum A, Wohlin C (eds) Engineering and managing software requirements. Springer, Berlin, pp 163–185

    Chapter  Google Scholar 

  • Derakhshanmanesh M, Fox J, Ebert J (2013) Requirements-driven incremental adoption of variability management techniques and tools: an industrial experience. Requir Eng 20:1–22

    Google Scholar 

  • Engeström Y (2000) Activity theory as a framework for analyzing and redesigning work. Ergonomics 43(7):960–974

    Article  Google Scholar 

  • Eriksson HE, Penker M (2000) Business modeling with UML: business patterns at work. Wiley Publishers, New York

    Google Scholar 

  • Fabbrini F, Fusani M, Gnesi G, Lami G (2002) The linguistic approach to the natural language requirements quality: benefit of the use of an automatic tool. Proceedings of the 26th Annual NASA Goddard, Software Engineering Workshop (SEW’01)

  • Ferreira PN, Cañas JJ (2019) Assessing operational impacts of automation using functional resonance analysis method. Cogn Technol Work. https://doi.org/10.1007/s10111-019-00540-z

    Article  Google Scholar 

  • Finkelstein A (1994) Requirements Engineering: a review and research agenda. In Proceedings of 1st Asia-Pacific Software Engineering Conference. IEEE, pp: 10–19

  • Frost B, Mo JP (2014) System hazard analysis of a complex socio-technical system: the functional resonance analysis method in hazard identification. In Proc. of Australian System Safety Conference, Melbourne Australia, pp: 28–30

  • Fylan B, Marques I, Ismail H, Breen L, Gardner P, Armitage G, Blenkinsopp A (2019) Gaps, traps, bridges and props: a mixedmethods study of resilience in the medicines management system for patients with heart failure at hospital discharge. BMJ Open 9(2):e023440. https://doi.org/10.1136/bmjopen-2018-023440

    Article  Google Scholar 

  • Hoffman A, Lescher C (2009) Collaboration and intercultural issues on requirements: communication, understanding and softskills. In: 17th IEEE International Requirements Engineering Conference—RE’09. Atlanta, Georgia

  • Hoffman RR, Neville K, Fowlkes J (2009) Using cognitive task analysis to explore issues in the procurement of intelligent decision support systems. Cogn Technol Work 11(1):57–70

    Article  Google Scholar 

  • Hollnagel E, Woods DD (2005) Joint cognitive systems: foundations of cognitive systems engineering. CRC Press, Boca Raton

    Book  Google Scholar 

  • Hollnagel E, Woods D, Leveson N (eds) (2006) Resilience engineering: concepts and precepts. Ashgate, Farnham

    Google Scholar 

  • Hollnagel E (2004) Barriers and accident prevention. Ashgate, Aldershot

    Google Scholar 

  • Hollnagel E (2010) Prologue. In: Hollnagel E, Pariés J, Woods DD, Wreathall J (eds) Resilience engineering in practice: a guidebook. Ashgate, Farnham.

  • Hollnagel E (2012) FRAM: the functional resonance analysis method. Ashgate, Farnham

    Google Scholar 

  • Hollnagel E (2018) Safety-I and safety-II: the past and future of safety management. CRC Press, Boca Raton

    Book  Google Scholar 

  • Hooks I (1994) Writing good requirements. INCOSE Int Symp 4(1):1247–1253

    Article  Google Scholar 

  • Jatobá A, Bellas H, Koster I, Bonfatti R, Vidal MC, Carvalho PVRD (2014) Acolhimento com Classificação de Risco em Saúde da Família: uma Abordagem para Apoiar a Tomada de Decisão. Revista Ação Ergonômica 9(2)

  • Jatobá A, Bellas HC, Bonfatti R, Burns CM, Vidal MCR, de Carvalho PVR (2016) Designing for patient risk assessment in primary health care: a case study for ergonomic work analysis. Cogn Technol Work 18(1):215–231

    Article  Google Scholar 

  • Jatoba A, da Cunha AM, Vidal MCR, Burns CM, Carvalho PVR (2019) Contributions from cognitive engineering to requirements specifications for complex sociotechnical systems: a case study in the context of healthcare in Brazil. Hum Factors Ergon Manuf Ser Ind 29(1):63–77

    Article  Google Scholar 

  • Katina PF, Keating CB, Jaradat RM (2014) System requirements engineering in complex situations. Requir Eng 19:45–62

    Article  Google Scholar 

  • Kohn LT (2000) To err is human. building a safer health system. National Academy Press, Washington

    Google Scholar 

  • Knight Débora Mac, Araujo Renata Mendes de, & Borges MRS (2005) A systematic approach for identifying system requirements from the organization's business model. In: Simpósio Brasileiro de Sistemas de Informação, 2005, Florianópolis, Brasil. II Simpósio Brasileiro de Sistemas de Informação. Porto Alegre, RS: Sociedade Brasileira de Sistemas de Informação, 1: 1–10.

  • Kushniruk AW, Patel VL (2004) Cognitive and usability engineering methods for the evaluation of clinical information systems. J Biomed Inform 37(1):56–76

    Article  Google Scholar 

  • Lenz R, Kuhn KA (2003) A strategic approach for business-IT alignment in health information systems. OTM Confederated International Conferences on the move to meaningful internet systems. Springer, Berlin, pp 178–195

    Google Scholar 

  • Leveson N (2004) A new accident model for engineering safer systems. Saf Sci 42(4):237–270

    Article  Google Scholar 

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

    Google Scholar 

  • Macchi L (2010) A Resilience Engineering approach for the evaluation of performance variability: development and application of the Functional Resonance Analysis Method for air traffic management safety assessment (Doctoral dissertation).

  • Maffeo B (1992) Engenharia de Software e Especificação de Sistemas. Campus, Rio de Janeiro, p 1992

    Google Scholar 

  • Mayer M, Odenthal B, Faber M, Winkelholz C, Schlick C (2014) Cognitive engineering of automated assembly processes. Hum Factors Ergon Manuf Serv Ind 24(3):348–368

    Article  Google Scholar 

  • McAllister CA (2006) Requirements determination of information systems: user and developer perceptions of factors contributing to misunderstandings. Capella University, Minneapolis

    Google Scholar 

  • Méndez Fernández D, Wagner S (2015) Naming the pain in requirements engineering: a design for a global family of surveys and first results from Germany. Inf Softw Technol 57:616–643. https://doi.org/10.1016/j.infsof.2014.05.008

    Article  Google Scholar 

  • Moškon M, Tkalec NZ, Mraz M (2019) Towards the declaration of inter-functional protocol for FRAM. Annual Reliability and Maintainability Symposium (RAMS), 1–6

  • Mylopoulos J, Castro J (2000) Tropos: a framework for requirements-driven software development. Information systems engineering: State of the Art and Research Themes (S01vberg, Brinkkemper, and Lindencrona, eds.), Springer Verlag

  • Niknafs A, Berry D (2017) The impact of domain knowledge on the effectiveness of requirements engineering activities. Empir Softw Eng 22(1):80–133

    Article  Google Scholar 

  • OMG (2010) Business process model and notation (BPMN) version 2.0, OMG document number dtc

  • Pandey D, Suman U, Ramani AK (2010) An effective requirement engineering process model for software development and requirements management. In 2010 International Conference on advances in recent technologies in communication and computing, IEEE, pp 287–291

  • Patriarca R, Bergström J, Di Gravio G, Costantino F (2018a) Resilience engineering: current status of the research and future challenges. Saf Sci 102:79–100. https://doi.org/10.1016/j.ssci.2017.10.005

    Article  Google Scholar 

  • Patriarca R, Falegnami A, Costantino F, Bilotta F (2018b) Resilience engineering for socio-technical risk analysis: application in neuro-surgery. Reliab Eng Syst Saf 180:321–335

    Article  Google Scholar 

  • Phipps D, Ashcroft D, Parker D, Ashcroft D, Parker D (2017) Managing medicines management: organisational resilience in community pharmacies. Doi: 10.1201/9781315605739-13

  • Praetorius G, Hollnagel E, Dahlman J (2015) Modelling vessel traffic service to understand resilience in everyday operations. Reliab Eng Syst Saf 141:10–21. https://doi.org/10.1016/j.ress.2015.03.020

    Article  Google Scholar 

  • Proforma (2000) Enterprise application modeling—vision and strategy for the ongoing development of ProVision workbench. Proforma Technical White Paper by Proforma Corporation

  • Rolland C, Achour CB, Cauvet C, Ralyt J, Sutcliffe A, Maiden NAM, Jarke M, Haumer P, Pohl K, Dubois P, Heymans P (1998) A proposal for a scenario classification framework. Requir Eng J 3(1):23–47

    Article  Google Scholar 

  • Saavedra R, Ballejos L, Ale M (2013) Software requirements quality evaluation: state of the art and research challenges. In: Proceedings of 14th Argentine Symposium on Software Engineering, Cordoba, Argentina, vol. 152

  • Saurin TA, Rosso CB, Colligan L (2017) Towards a resilient and lean health care. Resil Health Care 3(17):3–17

    Google Scholar 

  • Sayão M, Staa AV, Leite JCSP (2003) Qualidade em Requisitos. relatório técnico, 47(03)

  • Sommerville I (2003) Engenharia de software. Addison-Wesley, Reading

    Google Scholar 

  • Sommerville I (2005) Integrated requirements engineering: a tutorial. IEEE Softw 22(1):16–23

    Article  Google Scholar 

  • Standish Group International (2015) The chaos report. United States of America

  • Sundström G, Hollnagel E (2006) Learning how to create resilience in business systems. Resilience Engineering. Concepts and Precepts. Aldershot, UK: Ashgate

  • Van der Aalst WMP, Pesic M, Schonenberg H (2009) Declarative workflows: balancing between flexibility and support. Comput Sci Res Dev 23(2):99–113

    Article  Google Scholar 

  • Vanderhaegen F, Carsten O (2017) Can dissonance engineering improve risk analysis of human–machine systems? Cogn Technol Work 19:1. https://doi.org/10.1007/s10111-017-0405-7

    Article  Google Scholar 

  • Van der Vorm J, Van der Beek D, Bos E, Steijger N, Gallis R, Zwetsloot G (2011) Images of resilience: the resilience analysis grid applicable at several organizational levels?. TRANSVALOR-Presses des MINES, Paris

    Google Scholar 

  • Werfs M (2016) Stepping into the clouds: enabling companies to adapt their capabilities to cloud computing to succeed under uncertain conditions (Doctoral dissertation, University of St Andrews)

  • Wiegers KE (1999) Writing quality requirements. Softw Dev 7(5):44–48

    Google Scholar 

  • Wilson WM, Rosenberg LH, Hyatt LE (1996) Automated quality analysis of natural language requirements specifications, NASA Software, The Software Assurance Technology Center (SATC), NASA Goddard Space Flight Center (GSFC), Greenbelt, MD. TR_02 – SFT, pp 56–75

  • Wohlin C, Runeson P, Höst M, Ohlsson MC, Regnell B, Wesslén A (2012) Experimentation in software engineering. Springer Science & Business Media

  • Woltjer R, & Hollnagel E (2007) The alaska airlines flight 261 accident: a systemic analysis of functional resonance. Proceedings of The 2007 (14th) International Symposium on aviation psychology, April 23–26. Dayton, OH

  • Woods DD, Cook RI (2006) Incidents—markers of resilience or brittleness? In: Hollnagel E, Woods DD, Leveson N (eds) Resilience engineering: concepts and precepts. Ashgate Publishing Ltd, Farnham, pp 69–76

    Google Scholar 

  • Woods D, Branlat M (2011) Basic patterns in how adaptive systems fail. In: Hollnagel E, Pariès J, Woods DD, Wreathall J (eds) Resilience engineering in practice: a guidebook. Ashgate Publishing Ltd, Farnham, pp 127–144

    Google Scholar 

Download references

Acknowledgements

We want to thank the research funding agencies and UFRJ partners for the opportunity to conduct this research. In particular, we want to thank the CAPES, CNPQ, UFRJ, CCE PUC-Rio, CEE-FIOCRUZ for the opportunity to develop this experiment and for supporting this research.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Elaine Alves de Carvalho.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

de Carvalho, E.A., Gomes, J.O., Jatobá, A. et al. Employing resilience engineering in eliciting software requirements for complex systems: experiments with the functional resonance analysis method (FRAM). Cogn Tech Work 23, 65–83 (2021). https://doi.org/10.1007/s10111-019-00620-0

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10111-019-00620-0

Keywords

Navigation