Sei sulla pagina 1di 3

APLICABILIDADE DA ENGENHARIA DE REQUISITOS DE SOFTWARE COMO ATIVIDADE DA METODOLOGIA GIL SCRUM APPLICABILITY OF REQUIREMENTS ENGINEERING SOFTWARE AS ACTIVITY AGILE

SCRUM

Fabio Fernandes1, Rafael Soares Duarte2, Rafael Collete3, Eduardo H. S. Fuentes 4, Marcelo Nogueira5
Resumo - Atualmente existe uma grande dificuldade de implementar Engenharia de Requisitos em projetos de software, principalmente os que adotam as metodologias geis. Esse artigo foca a importncia de aplicar a engenharia de requisitos na metodologia Scrum. Adota-se para este artigo o mtodo de pesquisa bibliogrfica onde foi possvel observar que a utilizao do Scrum, por ser direcionada muitas vezes a projetos que possuem grandes alteraes nos requisitos e em seu processo de analise, contribuindo para o sucesso do projeto. Os resultados obtidos indicam que a aplicao da Engenharia de Requisitos de forma rastreada e controlada constitui um diferencial para os projetos de software, uma vez que no adianta focar somente na realizao das atividades de elaborao de documentao, sem aplic-las com acompanhamento e gesto dos processos necessrios. Palavras Chaves: Srum, Engenharia de Requisitos, Engenharia de Software Abstract - Currently there is a great difficulty in applying engineering requirements in software projects, especially the ones which adopts agile methodologies. This article focuses on the importance of applying the Scrum requirements engineering methodology. Through bibliographic research, it was observed that the use of Scrum, directed to projects that often have large changes in requirements and in the process of analysis, may contribute to achieve success in the project. The results indicate that the application of requirements engineering tracked and controlled manner is a good alternative for software projects, since is important to focus not only on the performance of activities of documentation preparing, but in applying them to monitoring and managing processes required. Keywords: Srum, Requirements Engineering, Software Engineering Mtodos geis so geralmente aplicados em projetos com grandes alteraes nos requisitos de negcios e funcionais, levando a equipe a ficar atenta nas mudanas sem deixar de atingir as especificaes e mudanas solicitadas pelo cliente ao longo do projeto. Grande parte dos projetos fracassam justamente por no aplicar empenho em desenvolver ou manter a documentao e os processos de requisitos do projeto, assim, pode-se correlacionar o sucesso de um projeto deste tipo com a importncia em aplicar mtodos de requisitos de software em todas as etapas do desenvolvimento na metodologia Scrum.

Engenharia de Software
A engenharia de Software um rebento da engenharia de sistemas e de hardware. Ela abrange um conjunto de trs elementos fundamentais: mtodos, ferramentas e procedimentos, que possibilita ao gerente o controle do processo do desenvolvimento do software e oferece uma base para construo de software de alta qualidade produtivamente [PRESSMAN, 1995]. Summerville [SUMERVILLE,2003] aborda a engenharia de software como uma disciplina da engenharia, cujo a meta o desenvolvimento de software com boa relao custo beneficio. Entende-se ento que a engenharia de software engloba toda as etapas de desenvolvimento do software desde a especificao, desenvolvimento, implantao e manuteno. Summerville ainda completa, engenharia de software envolve questes tcnicas e no tcnicas, tais como especificao do conhecimento, tcnicas e no tcnicas, tais como especificao do conhecimento, tcnicas de projeto e implementao, conhecimentos dos fatores humanos pelo engenheiro de software e ainda a gesto de projetos. Pressman [PRESSMAN, 1995] define software, como sendo o conjunto de instrues que quando executadas produzem a funo e o desempenho desejado, estruturas de dados que permitem que os programas manipulem adequadamente a informao e documentos que descrevem a operao e o uso dos programas. J Summerville [SUMERVILLE,2003] descreve software como sendo uma serie de programas separados, arquivos de configurao que so utilizados para configurar esses programas , documentao do sistema e documentao do usurio. Entende-se que software ento uma cadeia de programas que tem o objetivo em comum de atender os requisitos do negocio para o qual foi desenvolvido.

Introduo
Um projeto de software de sucesso e qualidade aquele que est em conformidade com os requisitos estabelecidos com o cliente. Obviamente, o desenvolvimento de uma extensa e complexa documentao de projeto de software em ambientes pequenos se torna invivel pelo fato de sobrecarregar a equipe de desenvolvimento. Portanto, so aplicados mtodos geis como Scrum justamente para diminuir o esforo empregado nessa fase de engenharia dos requisitos, manter o foco no desenvolvimento do projeto, mas, sem deixar de dar devida ateno a documentao do mesmo.

Engenharia de Requisitos
Segundo Pressman [Pressman, 1995], a anlise de requisitos uma tarefa da engenharia de Software que efetua a ligao entre a alocao de software em nvel de sistema e o projeto de software, proporciona ao projetista

1 Fabio Fernandes, Aluno do curso de Ps Graduao, UNIP campus Tatuap, So Paulo, Brasil. Email: fabiosilas@hotmail.com 2 Rafael Soares Duarte, Aluno do curso de Ps Graduao, UNIP campus Tatuap, So Paulo, Brasil. Email: rafaels.redes@gmail.com 3 Rafael Collete, Aluno do curso de Ps Graduao, UNIP campus Tatuap, So Paulo, Brasil. Email: contato@rafaelcolette.com.br 4 Eduardo Fuentes, Aluno do curso de Ps Graduao, UNIP campus Tatuap, So Paulo, Brasil. Email: edu.fuentes@hotmail.com 5 Marcelo Nogueira, Professor Dr. UNIP campus Tatuap, So Paulo, Brasil. Email: suporte@noginfo.com.br

uma representao da informao e da funo que pode ser traduzida em projeto procedimental, arquitetnico e de dados, proporcionando ao desenvolvedor e ao cliente os critrios para avaliar a qualidade logo que o software for construdo. H um grande problema entre a comunicao do cliente com a equipe de analise de requisitos e de desenvolvimento do sistema, percebe-se que a equipe de desenvolvimento e cliente sempre por motivos de cultura tende a trabalhar e se tratar como dois estranhos, conforme citado por Pressman, [PRESSMAN,1995] Cliente e Engenheiros de Softwares frequentemente tem uma mentalidade de "ns e eles", em vez de trabalhar como uma equipe para identificar e refinar as exigncias, cada pessoa envolvida define seu prprio "territrio" e comunica-se por meio de memorandos, notas formais, documentos e sesses de perguntas respostas. Este meio de trabalho alm de no funcionar direito as informaes sero omitidas, sendo assim nica afirmao que podemos ter que haver uma documentao apenas para apontar algum culpado quando ocorrerem erros no desenvolvimento de software.

Processos da Engenharia de Requisitos


Segundo Pressman, a anlise de requisitos pode ser dividida em cinco reas de esforo: (1) reconhecimento do problema, (2) avaliao e sntese, (3) modelagem, (4) especificao e (5) reviso. Com isso percebe-se que no processo de analise dos requisitos do desenvolvimento de software, deve-se abstrair o problema a ser resolvido avaliando o que deve ser feito, modelar o que deve ser efetuado mapeando as entradas e sadas do sistema, sempre mantendo revises dos processos quando alterados.

possui modelos a ser aplicados, apresentando apenas conhecimentos tericos para serem aplicados a gesto do projeto. Scrum herda princpios de Lean [Filho, H. 2011, apud Poppendieck & Poppendieck 2003], como a ampla comunicao nas equipes. Scrum tem sido formalizada e publicada como um padro organizacional para o desenvolvimento de software [Filho, H. 2011, apud Beedle & Devos 1999]. Em Scrum no h especificaes quanto s prticas de construo, as equipes so auto organizadas e o processo orientado a objetivos e resultados [Filho, H. 2011, apud Schwaber & Beedle, 2002] No Scrum, de acordo com Fagundes ,P. Deters J. e Santos S. [apud Schwaber e Beedle, 2002], os requisitos conhecidos at o momento so listados dando origem ao Product Backlog. Estes requisitos so agrupados de acordo com as suas prioridades, apresentando as seguintes informaes: descrio do requisito, tempo estimado para o desenvolvimento e responsvel pelo desenvolvimento. Os modelos waterfall (cascata) esto correlacionados com a reduo de produtividade, as taxas de aumento de defeitos e falha de projeto. Entende-se que as metodologias geis buscam agregar valor ao projeto do cliente, usurio e a organizao ao longo de todo o processo [Hibbs 2009].

Principais Caractersticas
O Scrum embora no cite o que fazer nas etapas desenvolvimento de software, esse mtodo cita vrios processos e papeis que devem ser atribudos e seguidos. Por isso seus processos podem ser aplicados teoricamente a qualquer projeto de qualquer rea. Os principais papeis envolvidos no Scrum so: SrumMaster, responsvel por manter os processos e designa-los geralmente o gerente do projeto; Product Owner, sendo denominado como a parte interessada, so os Stakerholder do projeto; Team, a equipe de desenvolvedores responsveis pela analise, projeto, desenvolvimento, implantao e testes.

Mtodos geis
Os mtodos geis, tem o objetivos de propiciar a comunicao face a face ao invs de inmeros documentos, onde em pequenas equipes isso primordial, principalmente em projetos que necessitam de varias mudanas nos requisitos ou versionamento do programa, um exemplo programas fiscais que tendem a sofrer mudanas constantes de acordo com as regras impostas pelo Estado. Agilidade pode ser definida como a habilidade de criar e responder a mudanas, de modo a lucrar em um ambiente turbulento de negcios [Highsmith 2002a]. Estudos mostram que os modelos waterfall (cascata) esto correlacionados com a reduo de produtividade, pois geram muitos produtos nas etapas de planejamento travando o desenvolvimento e se mal gerenciados, as taxas de aumento de defeitos e falha de projeto. Diferentemente, as metodologias geis que buscam agregar valor ao cliente, usurio e a organizao ao longo de todo o processo [Hibbs 2009].

Tarefas e Processos
O Scrum baseado em pequenas tarefas ou incremento denominado como Sprint, sendo que cada Sprint segue o ciclo PDCA (plan, do, check, act). Sendo os Backlogs o conjunto de requisitos definidos pelo Product Owner.

Scrum
Criado por Ken Schwaber e Jeff Sutherland em 1995, Scrum sendo processo de gesto e gerenciamento de projetos de software que possuem alteraes ou necessitam de grandes versionamentos de acordo com regras do negcio. Conforme observado o Scrum no

O Product Backlog tem sua ordem priorizada pelo cliente e produtct owner, que determina a ordem de importancia para o cliente, e automaticamente, a ordem a ser desenvolvido. O corte de requisitos tambem uma vantagem dos processos do Scrum, que permite, que seja cortado requisitos, por questo de prazo de entrega, ou ate mesmo por viso comercial, que o projeto poder ser entregue, com os requisitos j desenvolvidos, sem nenhuma dependencia dos requisitos cortados do projeto. Concluso Conclumos que a adoo dos processos na engenharia de requisitos fundamental para sucesso de qualquer tipo de projetos, seus processos por vezes demandam muito tempo e exigem uma grande demanda para sua elaborao, os mtodos geis aparecem justamente para solucionar esse problema, onde os mesmo no devem extinguir por completo os documentos a serem gerados na fase de licitao dos requisitos mais tentar reduzir estes para que diminua o esforo a ser empregado nesta fase. O Srum um mtodo de gesto de projetos de software que no prope modelos, por isso cabe cada equipe se estruturar e discutir quais processos sero implementados para soluo do projeto.

Figura . Interao na metodologia Scrum Fonte: (http://www.edydjunges.com/wp-content/uploads/2009/05/800pxscrum_processsvg.png) Acessado em 11/06/2011.

No Scrum o projeto se inicia a partir do product backlog, efetuado sobre a viso do product owner, so os requisitos estabelecidos pelo cliente e idealizados pelo mesmo, sempre que necessrio os requisitos do cliente podem ser alterados e cabe ao product owner manter sempre a equipe de desenvolvimento informada sobre as alterao nos requisitos do cliente. O Sprint Backlog uma etapa de analise dos requisitos do cliente sobre a viso do desenvolvimento do sistema e ser onde ser exposto com desenvolver o produto.

Referencias
AGILE MODELING (AM) HOME PAGE. Agile Manifesto (2001). Disponvel em: <http://agilemanifesto.org/iso/ptbr/>. Acessado em 11 de junho de 2011. Beedle, M., Devos, M.: SCRUM: A Pattern Language for Hyperproductive Software Development. In Pattern Languages of Program Design 4, editado por N. Harrson, B. Foote, e H. Rohnert. Addison- Wesley (1999). Deters, J. , Fagundes, P., Santos, S. Comparao entre os processos dos mtodos geis: XP, Scrum, FDD e ASD em relao ao desenvolvimento iterativo incremental , Revista on-line Senai, 2008 Disponivel para consulta: (http://revista.ctai.senai.br/index.php/edicao01/article/viewDownloadInte rstitial/21/18) Acessado em 20/05/2011 Filho, Helio Fernando B. P. Monografia de Pos- Graduao Um estudo analtico entre as abordagens de Engenharia de Requisitos nas Metodologias geis XP, SCRUM e Crystal, 2011 Hibbs, C.; JEWETT, S. C.; SULLIVAN, M. Art of Lean Software Development. O'Reilly, 2009. HIGHSMITH, J. Agile Software Development Ecosystems. Boston: Addison Wesley, 2002. Poppendieck, Mary; Poppendieck Tom. Lean Software Development: An Agile Toolkit. Boston: AddisonWesley. (2003) PRESSMAN, Roger S. Engenharia de software. So Paulo: Pearson Makron Books, 1995-2005. SCHWABER, K; BEEDLE, M. Agile Software Development with SCRUM. New Jersey: Prentice Hall, 2002. SOMMERVILLE, Ian. Engenharia de software. 6. ed. So Paulo: Addison-Wesley, 2003

Vantagens e Importncia
A vantagem do desenvolvimento incremental com Scrum, que acabamos usando um pedao do software e o bastante podemos coletar as seguintes informaes no inicio do desenvolvimento: Viabilidade de um projeto abrangente Viabilidade de uma arquitetura, Propriedade de escolhas tecnolgicas, Interpretao certa ou errada dos requisitos tcnicos pela equipe do projeto No caso de pedidos de clientes, a usabilidade de interfaces de usurio. Nos ltimos anos, desenvolvimento gil de software o mtodo mais utilizado, pelo fato de alteraes frequentes no escopo do projeto. A importancia da aplicao do processo de elicitao de requisitos Scrum, grande em projetos que tem alteraes frequentes de escopo e corte de requisitos, podem ser alterado a sua ordem no Product Backlog ou removidos com uma frequencia maior, sem maiores impactos no projeto. importante a elicitao profunda dos requisitos, para que se garanta o sucesso do projeto, mesmo havendo cortes e alteraes de escopo.

Potrebbero piacerti anche