Estudos Experimentais sobre Agilidade no Desenvolvimento de Software e sua Utilização no Processo de Teste
Autores
5205 |
José Fortuna Abrantes
|
1778,296
|
5206 |
1778,296
|
Informações:
Publicações do PESC
A busca por aumentar a agilidade nos processos de apoio ao desenvolvimento de
software tem influenciado diferentes iniciativas de pesquisa. Alguns resultados podem
ser observados na literatura técnica, principalmente relacionados a métodos ágeis para
desenvolvimento. Em geral, abordagens ágeis compartilham características e práticas
que visam alcançar agilidade no desenvolvimento. Se por um lado observamos métodos
de desenvolvimento adotando estas características e práticas em um contexto bem
definido, por outro não fica claro como outros processos de software como, por
exemplo, teste de software, poderiam se beneficiar destas características e práticas
visando alcançar agilidade. Desta forma, esta tese apresenta uma abordagem para apoiar
a introdução de agilidade em processos de software, particularmente em processos de
teste de software. Estudos secundários (revisões sistemáticas) e primários (pesquisas de
opinião) foram utilizados para identificar, avaliar e classificar características e práticas,
resultando em 16 características de agilidade e 15 práticas ágeis que deveriam ser
consideradas para obter agilidade em processos de software. As práticas ágeis foram
mapeadas para as características de agilidade e para as atividades de um processo
padrão de teste de software, gerando 240 e 120 mapeamentos respectivamente, que
foram avaliados e atualizados por uma revisão externa (revisão por pares). A partir deste
conhecimento, foi definido um indicador do grau de agilidade de processos de software
e um guia de aplicação, compondo uma base que apóia a estratégia adotada nesta tese
para inserir agilidade em processos de teste de software. Um exemplo detalhado é
apresentado para mostrar a aplicação da estratégia proposta.
The search to increase agility in processes which support software development
has influenced different research initiatives. Some results can be seen in the technical
literature, mainly related to agile methods for software development. In general, agile
approaches share characteristics and practices aimed at achieving agility in
development. If on the one hand we observe development methods which are adopting
these characteristics and practices in a well-defined context, on the other is not clear
how other software processes, for example, software testing, could benefit from these
characteristics and practices to achieve agility. Thus, this thesis presents an approach to
support the introduction of agility into software processes, particularly in the process of
software testing. Secondary studies (systematic reviews) and primary studies (surveys)
were used to identify, evaluate and classify the characteristics and practices, resulting in
16 characteristics of agility and 15 agile practices that should be considered to obtain
agility in software processes. The agile practices have been mapped to the
characteristics of agility and to the activities of a standard process of software testing,
generating 240 and 120 mappings, respectively, which were evaluated and updated by
an external review (peer review). From this knowledge, we defined an indicator of the
degree of agility of the software processes and an application guide, comprising a base
that supports the strategy adopted in this thesis to insert agility in software testing
processes. A detailed example is presented to show the application of the proposed
strategy.