Integração de Práticas Ágeis: Uma abordagem para melhorar a qualidade de especificações de software em projetos mobile

June 15, 2017 | Autor: J. Dantas Ribeiro... | Categoria: Requirements Engineering, Agile software development
Share Embed


Descrição do Produto

WTDSOFT

Integração de Práticas Ágeis: Uma abordagem para melhorar a qualidade de especificações de software em projetos mobile Juliana Dantas R. V. de Medeiros1, Alexandre M. L. de Vasconcelos 2, Carla T. L. L. Silva Schuenemann 2 1

2

Instituto Federal de Educação, Ciência e Tecnologia da Paraíba (IFPB) Jaguaribe, CEP: 58.015-020, João Pessoa-PB, Brasil

Centro de Informática (Cin) – Universidade Federal de Pernambuco (UFPE) Cidade Universitária - 50740-560, Recife-PE, Brasil. [email protected], {amlv,ctllss}@cin.ufpe.br

Abstract. The requirements engineering has been identified as a source of problems in adopting agile approaches. This research proposes an exploratory study in the industry. The aim is to investigate how the requirements engineering has been used in agile projects. In this context, a case study will be conducted in companies that develop mobile applications in Pernambuco. Then a new approach for specifying requirements in mobile projects will be defined, integrating the best practices of agile and adhering to CMMI-DEV. A controlled experiment will be performed to assess the quality and productivity of the proposed approach. Resumo. A engenharia de requisitos vem sendo apontada como uma das fontes de problemas na adoção das abordagens ágeis. Esta pesquisa propõe um estudo exploratório na indústria que tem por objetivo investigar como a engenharia de requisitos vem sendo utilizada em projetos ágeis e qual a qualidade das especificações geradas. Nesse contexto, será realizado um estudo de caso em empresas que desenvolvem aplicativos mobile em Pernambuco. Em seguida será elaborada uma nova abordagem para especificação de requisitos em projetos mobile, integrando as melhores práticas das metodologias ágeis e aderente ao CMMI-DEV. Para avaliar a qualidade e a produtividade da abordagem proposta será realizado um experimento controlado.

1. Caracterização do Problema De acordo com Thayer (1997), a Engenharia de Requisitos (ER) fornece o mecanismo apropriado para entender o que o cliente deseja, analisando as necessidades, verificando a viabilidade, negociando soluções, especificando-as sem ambiguidade e gerenciando suas mudanças. Apesar da importância da ER no sucesso do desenvolvimento do software e na minimização dos riscos de projeto, essa atividade é vista nos métodos ágeis como burocrática que torna o processo menos ágil. As Metodologias Ágeis possuem processos flexíveis e adaptativos e que aceitam as mudanças como parte inseparável do seu processo de desenvolvimento, visando à melhoria na qualidade de software e o aumento da satisfação do cliente [Highsmith 86

WTDSOFT

2000]. Alguns autores como Paetsh (2003) entendem que a engenharia de requisitos e os métodos ágeis podem ser considerados atividades incompatíveis. Além disso, evidências de pesquisas [Kamei 2012] em projetos que adotam Metodologias Ágeis apontam problemas de backlogs muito instáveis, dificuldades dos engenheiros de software em se adaptarem às mudanças constantes de requisitos, e ainda em aplicar práticas ágeis como User Stories e TDD (Test Driven Development). Analisando a duas principais lojas de aplicativos móveis (App Store e Google Play) é possível constatar que houve um crescimento de 50% nos últimos 12 meses na quantidade de aplicativos disponíveis. Estima-se que atualmente existem mais de 2.500.000 aplicativos nessas duas plataformas [Techcrunch 2014]. Associado a este crescimento, tem-se o fato das aplicações estarem cada vez mais complexas, sendo essencial a aplicação dos princípios da engenharia de software. Entretanto, Wasserman (2010) relata a existência de poucas pesquisas científicas envolvendo a engenharia de software para dispositivos móveis, e considera que as atuais metodologias ágeis não atendem às peculiaridades do desenvolvimento para dispositivos móveis, apontando diversas áreas problemáticas que necessitam de estudos, dentre elas o levantamento de requisitos. Nesse contexto, o objetivo geral desta pesquisa é investigar como a engenharia de requisitos vem sendo conduzida em projetos que adotam práticas ágeis para desenvolver software. Com resultado dessa investigação, pretende-se propor uma nova abordagem que, através da integração de práticas ágeis, contribua para uma melhoria na qualidade das especificações de requisitos, em especial, para projetos de desenvolvimento de software para dispositivos móveis. Para isso foi definida a seguinte Questões de Pesquisa Principal (QP): QP: Como a engenharia de requisitos está sendo utilizadas em projetos que utilizam metodologias ágeis?

2. Fundamentação Teórica e Trabalhos Relacionados 2.1. Metodologias Ágeis As definições modernas de desenvolvimento de software ágil evoluíram a partir da metade de 1990 como parte de uma reação contra métodos "pesados". O processo originou-se da visão de que o modelo em cascata era burocrático, lento e contraditório à forma usual que os engenheiros de software trabalham. As Metodologias Ágeis foram criadas com intuito de eliminar os problemas causados pelas metodologias tradicionais. A definição oficial de Desenvolvimento Ágil de software foi criada sob forma de um Manifesto Ágil [Agile 2001] publicado em fevereiro de 2001 por um grupo de 17 especialistas em desenvolvimento de software que se reuniram com o objetivo de propor melhores práticas para desenvolver software. Este grupo foi denominado Aliança Ágil e, apesar de não terem chegado num consenso para definição de uma metodologia única, definiram quatro valores e doze princípios para nortear as metodologias ágeis. Baseadas nos princípios e valores do Manifesto, diversas metodologias têm sido propostas. Mais de uma década se passou desde o manifesto, entretanto, evidências de pesquisas em projetos que usam abordagens ágeis apontam limitações na sua adoção na indústria, alguns das quais relacionados à engenharia de requisitos [Kamei 2012].

87

WTDSOFT

2.2. Engenharia de requisitos Requisitos são o ponto de partida para a definição de sistemas e consequentemente, são fatores decisivos no desenvolvimento do produto final. Pressman (2011) define requisito como sendo uma especificação do que deve ser implementado ou um algum tipo de restrição do sistema, e define a Engenharia de Requisitos (ER) como uma das importantes disciplinas da engenharia de software, sendo constituída de 7 tarefas: concepção, levantamento, elaboração, negociação, especificação, validação e gestão. As metodologias ágeis tratam a ER de modo bastante distinto dos modelos tradicionais. Quanto à identificação dos requisitos, os modelos ágeis prezam por um overview geral do problema sem maiores detalhes, e focam na elaboração de uma divisão desses itens de modo a serem definidos de maneira iterativa e incremental. Para isso, são definidos períodos fixos e curtos chamados de iterações em que um subconjunto de itens é detalhado e implementado. Nas metodologias ágeis só se deve focar no essencial e emergente para aquele momento, enquanto nas metodologias tradicionais as atividades de projeto e implementação necessitam da precedência de grandes esforços para especificação das funcionalidades [Filho 2011]. Dependendo da metodologia ágil empregada, técnicas\estratégias diferentes podem ser utilizadas para especificar requisitos. Ambler (2002) e Swaber (2002) realizaram estudos procurando analisar como a engenharia de requisitos pode ser melhor empregada em projetos ágeis. Entretanto, segundo o Standish Group (2013), apenas 39% dos projetos que utilizaram metodologias ágeis tiveram sucesso. Ou seja, continuamos nos deparando com altos índices de projetos com prazos e orçamentos estourados e que não atendem aos requisitos dos usuários.

3. Contribuições Esta pesquisa tem o objetivo de trazer contribuições para a Engenharia de Requisitos, especificamente quando aplicada em projetos ágeis de desenvolvimento de software para dispositivos móveis. A seguir destacamos as principais contribuições da pesquisa: •

A primeira contribuição é a realização de uma pesquisa indutiva e qualitativa, por meio de uma Revisão Sistemática da Literatura (RSL) como instrumento para observação do problema. O objetivo da revisão é coletar evidências que possam ser usadas para apoiar nas próximas atividades previstas para esta pesquisa;



Realização de uma pesquisa qualitativa, mais especificamente, um Estudo de Caso em empresas do Porto Digital de Pernambuco. O objetivo é investigar e compreender a utilização, prática na indústria, das atividades de engenharia de requisitos que estão sendo aplicadas em projetos mobile, procurando identificar as limitações e a relação entre o uso das técnicas e a qualidade das especificações geradas e os atrasos nos projetos. Espera-se que o Estudo de Caso gere ideias e hipóteses que irão subsidiar a elaboração da nova abordagem.



Elaboração de uma nova abordagem para especificação de requisitos em projetos mobile, integrando as melhores práticas das metodologias ágeis e aderente ao CMMI-DEV. Essa nova abordagem deverá ser um processo para engenharia de requisitos, descrevendo as técnicas de requisitos a serem utilizadas, as entradas e

88

WTDSOFT

as saídas previstas, e os procedimentos envolvidos. No contexto deste artigo, essa nova abordagem será chamada de BRA. •

Estudos realizados por Kamei (2012) apontam diversas limitações na adoção das Metodologias Ágeis, sendo uma delas a falta de estudos empíricos que apresentem resultados sobre as mesmas. Para avaliar a nova abordagem proposta será realizada uma pesquisa quantitativa, mais especificamente, um experimento controlado, sendo essa mais uma contribuição deste trabalho. O experimento será utilizado para avaliar a abordagem BRA e uma outra abordagem já existente, que será selecionada a partir dos resultados obtidos na RSL e no Estudo de Caso. Neste artigo, essa outra abordagem será chamada de XXX.

4. Estado Atual do Trabalho A seguir serão detalhadas as atividades já realizadas e o que está em andamento. 4.1. Revisão Sistemática da Literatura Os guidelines definidos por Kitchenham (2007) foram seguidos para planejar e executar a RSL, tendo sido feitas algumas adaptações propostas por Silva et al. (2011). A Figura 1 ilustra as etapas da revisão. Já foram concluídas as atividades (A), (B) e (C).

Figura 1. Etapas da Revisão Sistemática - Adaptado de Silva et al. (2001)

Foram definidas duas Questões de Pesquisa específicas para a realização da RSL: •

QP1.1: Quais práticas (atividades e técnicas) de engenharia de requisites de software estão sendo utilizadas em projetos de desenvolvimento de software que adotam metodologias ágeis?



QP1.2: Quais os benefícios e limitações das atuais práticas de Engenharia de Requisitos quando adotadas em projetos que usam abordagens ágeis?

Foram definidos 4 (quatro) critérios de inclusão e 8(oito) critérios de exclusão. O processo de pesquisa desta RSL foi realizado combinando busca automática e manual a fim de atingir uma ampla cobertura. Como fonte de dados manual foram selecionados artigos de 2008 à 2013 provenientes de uma conferência da área de Requisitos e de outra conferência específica da área de Metodologias Ágeis. Foram definidos 6 (seis) motores de busca como fonte de dados automática. A string utilizada para a busca automática foi construída com base em três termos extraídos das questões de pesquisa: requisitos, metodologias ágeis e software. A busca automática foi realizada através da ferramenta Reviewer1. Para a busca automática não houve limitação de período de ano de publicação.

1

Reviewer (https://github.com/bfsc/reviewer)

89

WTDSOFT

Com objetivo de diminuir o viés da pesquisa, os artigos resultantes da busca manual e automática foram distribuídos em 3 partes, sendo cada parte também analisada por um outro pesquisador, aluno de mestrado. A primeira etapa da Seleção dos Estudos (D) foi realizada aplicando-se os critérios de inclusão e exclusão analisando o título e o resumo de todos os artigos. No momento, está sendo feita a segunda etapa da seleção que consiste na aplicação dos critérios lendo a introdução e a conclusão dos artigos selecionados na primeira etapa. 4.2. Estudo de Caso O estudo de caso será conduzido seguindo o processo recomendado por Yin (2010), conforme apresentado na Figura 2. A disponibilidade das empresas que irão participar do Estudo de Caso será um fator essencial para o sucesso desta pesquisa.

Figura 2. Processo para condução do Estudo de Caso - Adaptado de Yin (2010)

A fase de Planejamento foi realizada tendo sido definida a Questão de pesquisa (QP) específica abaixo, além das duas Questões de Pesquisa definidas para a RSL: •

QP1.3: Existe relação entre a maneira como as equipes especificam os requisitos e o cumprimento dos prazos e a quantidade de bugs identificados?

Como instrumento para a coleta de dados foi definida a utilização de entrevistas com engenheiros de software e a análise de documentos. Os dados serão analisados qualitativamente com o intuito de obter um entendimento sobre o processo a ser realizado. Os dados serão codificados de forma a extrair os significados dos relatos das entrevistas. Na análise de resultados haverá a triangulação como mecanismo para limitar os efeitos de interpretação de uma única fonte, além de aumentar a qualidade da pesquisa e reduzir as ameaças à validade. As demais fases previstas na Figura 2 serão iniciadas após o término da RSL, podendo eventualmente, haver algum ajuste nesse planejamento. 4.3. Elaboração de nova abordagem A elaboração da nova abordagem será feita levando-se em conta as peculiaridades intrínsecas do desenvolvimento para dispositivos móveis, dentre as quais: Regras de negócio compartilhadas com outros aplicativos tradicionais; Impacto do surgimento de novos dispositivos móveis na mudança de requisitos; Adequação das necessidades do usuário aos recursos de interface, memória, processamento e segurança disponíveis; Para elaboração da nova abordagem serão consideradas as metas e práticas do CMMI-DEV relacionadas à área de processo Desenvolvimento de Requisitos (RD -

90

WTDSOFT

Requirements Development). O objetivo é tornar a nova abordagem aderente ao referido modelo de qualidade no que diz respeito aos requisitos de software. 4.4. Experimento Controlado O planejamento para execução do experimento já foi realizado, tendo sido definida a seguinte Questão de Pesquisa (QP): •

QP1.4: Há diferença na utilização das abordagens BRA e da abordagem XXX no que diz respeito à qualidade das especificações geradas e do protótipo das telas construídos, e com relação à produtividade (tempo gasto para executar as atividades de ER)?

Como parte do planejamento foram definidas as variáveis dependentes (resposta) e o Fator (variável independente), conforme Figura 3.

Figura 3. Modelo Conceitual do Experimento

Pretende-se executar o experimento utilizando projetos voltados para a indústria. O desenho experimental definido para um fator foi o Within-Subjects, onde os sujeitos recebem os dois tratamentos (abordagem BRA e XXX). Foras definidas três Hipóteses Nulas para avaliar se as abordagens são iguais no que diz respeito à qualidade e produtividade. Como forma de garantir uma maior confiabilidade de conclusão, será utilizado um teste estatístico, por exemplo, TESTE-T para análise dos dados coletados.

5. Avaliação dos Resultados 5.1. Resultados parciais da Revisão Sistemática da Literatura (RSL) A execução da busca automática retornou 2501 artigos. E a busca de dados manual retornou 344 artigos, totalizando assim, 2845 artigos. A utilização da ferramenta Reviewer para a busca automática agilizou a seleção inicial feita a partir do título e do resumo, tendo em vista que não foi necessário fazer o download dos artigos, pois no resultado gerado pela ferramenta já constavam essas informações. Após a primeira etapa da Seleção, o total de artigos foi reduzido à 305. A realização da segunda etapa da seleção tem demandado um esforço maior, tendo em vista a necessidade de se fazer o download dos artigos, e muitas vezes os artigos não são facilmente localizados. A RSL ainda não foi concluída, mas já proporcionou resultados importantes, tendo direcionado o foco da pesquisa para aplicação da ER em projetos mobile. A análise dos artigos sinalizou uma carência de pesquisas nessa área. 5.2. Resultados parciais do Estudo de Caso e Experimento A realização do planejamento antecipado do Estudo de Caso e do Experimento Controlado foi importante para permitir uma melhor compreensão do problema e uma

91

WTDSOFT

maior percepção do que deve fazer parte da solução proposta. Por exemplo, a ideia inicial para BRA era propor uma nova técnica focada na especificação de requisitos. Entretanto, durante a fase de planejamento do experimento controlado, analisando as ameaças à validade, foi possível perceber que uma abordagem focada apenas na especificação poderia comprometer a qualidade. A partir dessa análise, identificamos a necessidade da abordagem contemplar todo o processo de ER.

Referências Agile Manifesto. (2001) “Manifesto for Agile Software Development”, 17 February 2001. Disponível em: . Acesso em: 26/05/2014. Ambler, S. W. (2002) “Agile Modeling: Effective Practices for eXtreme Programming and the Unified Process”. Wiley Chichester, ISBN 978-0471202820. Filho, H. F. B. P. (2011) “Um estudo analítico entre as abordagens de Engenharia de Requisitos nas Metodologias Ágeis XP, SCRUM e Crystal”. Monografia, UFPE. Highsmith, J. A. (2000) “Adaptive software development: a collaborative approach to managing complex systems”. New York, NY, USA: Dorset House Publishing. Kamei, F. K. (2012). “Benefícios e Limitações das Metodologias Ágeis no Desenvolvimento de Software”. Dissertação de mestrado, UFPE. Kitchenham, B.; Charters S. (2007) “Guidelines for performing Systematic Literature Reviews in Software Engineering”. Vol 2.3, EBSE-2007-01, Keele, UK. Paetsh, F., Eberlein, A. and Maurer, F. (2003) “Requirements Engineering and Agile Software Development”, In: 12th IEEE International WETICE 03, IEEE CS Press. Pressman, R. S. (2011) “Engenharia de Software - Uma Abordagem Profissional.” 7a. Edição, McGrawHill. Schwaber, K. (2002) “The Impact of Agile Processes on Requirements Engineering”. Disponível: . Acesso em: 26/5/14. Silva, F. et al. (2011) “Replication of Empirical Studies in Software Engineering: Preliminary Findings from a Systematic Mapping Study”. Canada. RESER 2011. Standish Group. (2013). “The CHAOS Manifesto www.standishgroup.com. Acesso: 26/05/2014.

2013”.

Disponível

em:

Techcrunch. (2014). “iTunes App Store Now Has 1.2 Million Apps...”. Disponível em: http://techcrunch.com/2014/06/02/itunes-app-store-now-has-1-2-million-apps-hasseen-75-billion-downloads-to-date/. Acesso: 30/07/2014. Thayer, R.H., and M. Dorfman. (1997) “Software Requirements Engineering”, 2d ed., IEEE Computer Society Press. Yin, R. K. (2010). “Estudo de caso: planejamento e métodos”. 2ed. Bookman. Wasserman, I. A. (2010). “Software Engineering Issues for Mobile Application Developmen”. Carnegie Mellon Silicon Valley.

92

Lihat lebih banyak...

Comentários

Copyright © 2017 DADOSPDF Inc.