A Method to the Specification of Safety Requirements in Agile Contexts

Detalhes bibliográficos
Autor(a) principal: Leite, Ana Isabella Muniz
Data de Publicação: 2023
Tipo de documento: Tese
Idioma: eng
Título da fonte: Biblioteca Digital de Teses e Dissertações da USP
Texto Completo: https://www.teses.usp.br/teses/disponiveis/55/55134/tde-05012024-160108/
Resumo: Context: Safety-critical software systems are increasingly being used in new application areas, such as the medical domain, in which health professionals are now relying more on softwarebased medical devices for diagnosing and treating patients more accurately and in a shorter time frame. These devices software is becoming more and more complex due to disruptive technological improvements. Implementing larger parts of safety systems in software has led to a growing interest in adopting agile methods and practices to improve performance with respect to development efficiency, system quality, safety integrity, and effective assessment and certification. At the same time, recent accidents and recalls have shown that several failures have been caused by errors or faults introduced during development and resulted from the misunderstandings of safety requirements by agile development teams. Moreover, there is still a lack of techniques to ensure that safety requirements are properly addressed by both software architecture and implementation. Objective: This PhD thesis proposes a method to specify software safety requirements and support architectural design decisions that address them in agile contexts. Method: We systematically developed and evaluated the SCA3DA method proposed through a design science methodology. Two controlled experiments were conducted (with students and practitioners) to demonstrate the suitability and effectiveness of the SCA3DA method in safety-critical system development in agile contexts. Results: Our work provides an overview of safety-critical systems development in agile contexts. Although agile methods have been applied in all phases of the safety lifecycle, safety system requirements, and safety validation have received the most attention. This is due to the critical nature of this system. We also provide evidence that agile teams are more likely to fail to account for the real intention of safety requirements due to misunderstanding them in the safety-critical system development. Furthermore, the findings have shown that the application of the SAC3DA method is promising in terms of providing positive support to better understand the software safety requirements specification and that safety-centered architectural solutions derived led to a reduction in the time taken for their analysis, with no loss of requirements understandability. Conclusion: Our work represents a starting point toward developing effective communication in agile contexts. The solutions derived from the SCA3DA method serve as a guide for communicating safety-related needs to the agile team, thereby promoting cooperation in conflict resolution and decision-making. A major challenge encountered in defining the method is to make the real need (intention) of the safety requirement explicit in the agile context. While existing approaches have focused on \"what should be done,\" this work seeks to introduce the concept of \"how and why it should be done\". By doing so, understanding becomes clearer, and incorrect assumptions are avoided. We believe that this work provides valuable insights into the importance of improving the understanding of safety requirements specification. Therefore, agile teams can realize more accurate software safety specifications, use these solutions to improve team communication, and ensure a unique understanding of system criticality and a more accurate interpretation of safety requirements.
id USP_4d3f8c5986683f7baab23df70b5d1ef8
oai_identifier_str oai:teses.usp.br:tde-05012024-160108
network_acronym_str USP
network_name_str Biblioteca Digital de Teses e Dissertações da USP
repository_id_str 2721
spelling A Method to the Specification of Safety Requirements in Agile ContextsUm Método para Especificação de Requisitos de Safety em Contexto ÁgilAgile developmentArquitetura de softwareDesenvolvimento ágilSafetySafetySafety-critical systemSistemas safety-críticosSoftware architectureContext: Safety-critical software systems are increasingly being used in new application areas, such as the medical domain, in which health professionals are now relying more on softwarebased medical devices for diagnosing and treating patients more accurately and in a shorter time frame. These devices software is becoming more and more complex due to disruptive technological improvements. Implementing larger parts of safety systems in software has led to a growing interest in adopting agile methods and practices to improve performance with respect to development efficiency, system quality, safety integrity, and effective assessment and certification. At the same time, recent accidents and recalls have shown that several failures have been caused by errors or faults introduced during development and resulted from the misunderstandings of safety requirements by agile development teams. Moreover, there is still a lack of techniques to ensure that safety requirements are properly addressed by both software architecture and implementation. Objective: This PhD thesis proposes a method to specify software safety requirements and support architectural design decisions that address them in agile contexts. Method: We systematically developed and evaluated the SCA3DA method proposed through a design science methodology. Two controlled experiments were conducted (with students and practitioners) to demonstrate the suitability and effectiveness of the SCA3DA method in safety-critical system development in agile contexts. Results: Our work provides an overview of safety-critical systems development in agile contexts. Although agile methods have been applied in all phases of the safety lifecycle, safety system requirements, and safety validation have received the most attention. This is due to the critical nature of this system. We also provide evidence that agile teams are more likely to fail to account for the real intention of safety requirements due to misunderstanding them in the safety-critical system development. Furthermore, the findings have shown that the application of the SAC3DA method is promising in terms of providing positive support to better understand the software safety requirements specification and that safety-centered architectural solutions derived led to a reduction in the time taken for their analysis, with no loss of requirements understandability. Conclusion: Our work represents a starting point toward developing effective communication in agile contexts. The solutions derived from the SCA3DA method serve as a guide for communicating safety-related needs to the agile team, thereby promoting cooperation in conflict resolution and decision-making. A major challenge encountered in defining the method is to make the real need (intention) of the safety requirement explicit in the agile context. While existing approaches have focused on \"what should be done,\" this work seeks to introduce the concept of \"how and why it should be done\". By doing so, understanding becomes clearer, and incorrect assumptions are avoided. We believe that this work provides valuable insights into the importance of improving the understanding of safety requirements specification. Therefore, agile teams can realize more accurate software safety specifications, use these solutions to improve team communication, and ensure a unique understanding of system criticality and a more accurate interpretation of safety requirements.Contexto: Sistemas estão sendo cada vez mais utilizados em novas áreas de aplicação, como no domínio médico, em que profissionais de saúde estão confiando mais em dispositivos médicos baseados em software para diagnosticar e tratar pacientes de maneira mais precisa e em um prazo mais curto. O software desses dispositivos está se tornando cada vez mais complexo devido às melhorias tecnológicas disruptivas. A implementação de partes maiores de software em sistemas críticos em safety tem levado a um interesse crescente na adoção de métodos e práticas ágeis para melhorar o desempenho em termos de eficiência no desenvolvimento, qualidade do sistema, integridade de safety, e avaliação e certificação eficazes. Ao mesmo tempo, acidentes e recalls recentes mostraram que várias falhas foram causadas por erros ou defeitos introduzidos durante o desenvolvimento e resultaram requisitos de safety mal-compreendidos pela equipe de desenvolvimento ágil. Além disso, ainda falta técnicas para garantir que os requisitos de safety sejam adequadamente tratados tanto pela arquitetura de software quanto pela implementação. Objetivo: Este estudo propõe um método para especificar requisitos de safety em nível de software e apoiar decisões de design arquitetural que os considerem em contextos ágeis. Método: Desenvolvemos e avaliamos sistematicamente o método SCA3DA proposto por meio de uma metodologia de design science. Dois experimentos controlados foram realizados (com estudantes e profissionais) para demonstrar a adequação e eficácia do método SCA3DA no desenvolvimento de sistemas críticos em safety em contextos ágeis. Resultados: Nosso estudo oferece uma visão geral do desenvolvimento de sistemas críticos em safety em contextos ágeis. Embora os métodos ágeis tenham sido aplicados em todas as fases do ciclo de vida de safety, os requisitos de safety do sistema e a validação de safety têm recebido mais atenção, devido à natureza crítica desses sistemas. Também apresentamos evidências de que equipes ágeis são mais propensas a não levar em conta a verdadeira intenção dos requisitos de safety devido a mal-entendidos no desenvolvimento de sistemas críticos em safety. Além disso, os resultados mostraram que a aplicação do método SAC3DA é promissora em termos de fornecer suporte positivo para uma melhor compreensão da especificação de requisitos de safety de software e que soluções arquiteturais centradas em safety levaram a uma redução no tempo necessário para sua análise, sem perda de compreensão dos requisitos. Conclusão: Nosso trabalho representa um ponto de partida para desenvolver uma comunicação eficaz em contextos ágeis. As soluções derivadas do método SCA3DA servem como guia para comunicar necessidades relacionadas à safety à equipe ágil, promovendo cooperação na resolução de conflitos e tomada de decisões. Um dos principais desafios encontrados ao definir o método é tornar explícita a verdadeira necessidade (intenção) do requisito de safety no contexto ágil. Enquanto as abordagens existentes se concentraram em \"o que deve ser feito\", este trabalho buscou introduzir o conceito de \"como e por que deve ser feito\". Ao fazer isso, a compreensão fica mais clara e evita-se suposições incorretas. Acreditamos que este trabalho fornece insights valiosos sobre a importância de melhorar a compreensão da especificação de requisitos de safety. Portanto, as equipes ágeis podem realizar especificações de safety em nível de software mais precisas e também utilizar essas soluções para melhorar a comunicação da equipe e garantir uma compreensão única da criticidade do sistema e uma interpretação mais precisa dos requisitos de safety.Biblioteca Digitais de Teses e Dissertações da USPNakagawa, Elisa YumiLeite, Ana Isabella Muniz2023-10-11info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisapplication/pdfhttps://www.teses.usp.br/teses/disponiveis/55/55134/tde-05012024-160108/reponame:Biblioteca Digital de Teses e Dissertações da USPinstname:Universidade de São Paulo (USP)instacron:USPLiberar o conteúdo para acesso público.info:eu-repo/semantics/openAccesseng2024-01-05T18:10:02Zoai:teses.usp.br:tde-05012024-160108Biblioteca Digital de Teses e Dissertaçõeshttp://www.teses.usp.br/PUBhttp://www.teses.usp.br/cgi-bin/mtd2br.plvirginia@if.usp.br|| atendimento@aguia.usp.br||virginia@if.usp.bropendoar:27212024-01-05T18:10:02Biblioteca Digital de Teses e Dissertações da USP - Universidade de São Paulo (USP)false
dc.title.none.fl_str_mv A Method to the Specification of Safety Requirements in Agile Contexts
Um Método para Especificação de Requisitos de Safety em Contexto Ágil
title A Method to the Specification of Safety Requirements in Agile Contexts
spellingShingle A Method to the Specification of Safety Requirements in Agile Contexts
Leite, Ana Isabella Muniz
Agile development
Arquitetura de software
Desenvolvimento ágil
Safety
Safety
Safety-critical system
Sistemas safety-críticos
Software architecture
title_short A Method to the Specification of Safety Requirements in Agile Contexts
title_full A Method to the Specification of Safety Requirements in Agile Contexts
title_fullStr A Method to the Specification of Safety Requirements in Agile Contexts
title_full_unstemmed A Method to the Specification of Safety Requirements in Agile Contexts
title_sort A Method to the Specification of Safety Requirements in Agile Contexts
author Leite, Ana Isabella Muniz
author_facet Leite, Ana Isabella Muniz
author_role author
dc.contributor.none.fl_str_mv Nakagawa, Elisa Yumi
dc.contributor.author.fl_str_mv Leite, Ana Isabella Muniz
dc.subject.por.fl_str_mv Agile development
Arquitetura de software
Desenvolvimento ágil
Safety
Safety
Safety-critical system
Sistemas safety-críticos
Software architecture
topic Agile development
Arquitetura de software
Desenvolvimento ágil
Safety
Safety
Safety-critical system
Sistemas safety-críticos
Software architecture
description Context: Safety-critical software systems are increasingly being used in new application areas, such as the medical domain, in which health professionals are now relying more on softwarebased medical devices for diagnosing and treating patients more accurately and in a shorter time frame. These devices software is becoming more and more complex due to disruptive technological improvements. Implementing larger parts of safety systems in software has led to a growing interest in adopting agile methods and practices to improve performance with respect to development efficiency, system quality, safety integrity, and effective assessment and certification. At the same time, recent accidents and recalls have shown that several failures have been caused by errors or faults introduced during development and resulted from the misunderstandings of safety requirements by agile development teams. Moreover, there is still a lack of techniques to ensure that safety requirements are properly addressed by both software architecture and implementation. Objective: This PhD thesis proposes a method to specify software safety requirements and support architectural design decisions that address them in agile contexts. Method: We systematically developed and evaluated the SCA3DA method proposed through a design science methodology. Two controlled experiments were conducted (with students and practitioners) to demonstrate the suitability and effectiveness of the SCA3DA method in safety-critical system development in agile contexts. Results: Our work provides an overview of safety-critical systems development in agile contexts. Although agile methods have been applied in all phases of the safety lifecycle, safety system requirements, and safety validation have received the most attention. This is due to the critical nature of this system. We also provide evidence that agile teams are more likely to fail to account for the real intention of safety requirements due to misunderstanding them in the safety-critical system development. Furthermore, the findings have shown that the application of the SAC3DA method is promising in terms of providing positive support to better understand the software safety requirements specification and that safety-centered architectural solutions derived led to a reduction in the time taken for their analysis, with no loss of requirements understandability. Conclusion: Our work represents a starting point toward developing effective communication in agile contexts. The solutions derived from the SCA3DA method serve as a guide for communicating safety-related needs to the agile team, thereby promoting cooperation in conflict resolution and decision-making. A major challenge encountered in defining the method is to make the real need (intention) of the safety requirement explicit in the agile context. While existing approaches have focused on \"what should be done,\" this work seeks to introduce the concept of \"how and why it should be done\". By doing so, understanding becomes clearer, and incorrect assumptions are avoided. We believe that this work provides valuable insights into the importance of improving the understanding of safety requirements specification. Therefore, agile teams can realize more accurate software safety specifications, use these solutions to improve team communication, and ensure a unique understanding of system criticality and a more accurate interpretation of safety requirements.
publishDate 2023
dc.date.none.fl_str_mv 2023-10-11
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/doctoralThesis
format doctoralThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://www.teses.usp.br/teses/disponiveis/55/55134/tde-05012024-160108/
url https://www.teses.usp.br/teses/disponiveis/55/55134/tde-05012024-160108/
dc.language.iso.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv
dc.rights.driver.fl_str_mv Liberar o conteúdo para acesso público.
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Liberar o conteúdo para acesso público.
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.coverage.none.fl_str_mv
dc.publisher.none.fl_str_mv Biblioteca Digitais de Teses e Dissertações da USP
publisher.none.fl_str_mv Biblioteca Digitais de Teses e Dissertações da USP
dc.source.none.fl_str_mv
reponame:Biblioteca Digital de Teses e Dissertações da USP
instname:Universidade de São Paulo (USP)
instacron:USP
instname_str Universidade de São Paulo (USP)
instacron_str USP
institution USP
reponame_str Biblioteca Digital de Teses e Dissertações da USP
collection Biblioteca Digital de Teses e Dissertações da USP
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da USP - Universidade de São Paulo (USP)
repository.mail.fl_str_mv virginia@if.usp.br|| atendimento@aguia.usp.br||virginia@if.usp.br
_version_ 1809090396344549376