Vous êtes sur la page 1sur 6

Introduo s metodologias geis SCRUM e Extreme Programming: principais caractersticas e benefcios

Andr Carvalho Prof. Hugo Cesar Hoeschl

Resumo O objetivo desse artigo apresentar as prticas adotadas nas metodologias geis SCRUM e Extreme Programming (XP) expondo as suas principais caractersticas e benefcios para o processo produtivo de softwares e apresentar propostas de discusses para trabalhos relacionados ao tema. Palavras-chave: Metodologia gil. SCRUM. Extreme Programming.

1. Introduo O surgimento das metodologias geis decorre da necessidade de um ciclo de produo de software que permita a entrega de produtos de forma mais clere. Pesquisas apontam que tem sido comum a entrega de projetos com maior custo ou com maior prazo que o planejado. Nas metodologias tradicionais, o custo de alterao de um software, ao longo de seu processo produtivo, cresce exponencialmente, enquanto que na metodologia gil, embora se perceba um crescimento no custo da mudana, esse crescimento no to alto quanto na metodologia tradicional (SOARES, 2004, p.1-2).

Figura 1: Comparativo entre o custo de alteraes utilizando metodologias tradicionais e geis ao longo do processo produtivo de software
Fonte: SOARES, 2004.

A metodologia gil ganhou maior projeo aps o trabalho colaborativo realizado entre dezessete pesquisadores em processos de desenvolvimento de software: Alistair Cockburn, Andrew Hunt, Arie van Bennekum, Brian Marick, Dave Thomas, James Grenning, Jeff Sutherland, Jim Highsmith, Jon Kern, Ken Schwaber, Kent Beck, Martin Fowler, Mike Beedle, Robert C. Martin, Ron Jeffries, Steve Mellor e Ward Cunningham (Manifesto para Desenvolvimento gil de Software). Segundo o Manifesto para Desenvolvimento gil de Software:

indivduos e interaes mais que processos e ferramentas, software em funcionamento mais que documentao abrangente, colaborao com o cliente mais que negociao de contratos, responder a mudanas mais que seguir um plano (Manifesto para Desenvolvimento gil de Software).

1.1 SCRUM A partir de um artigo, de 1986, proposto por Takeuchi e Nonaka, denominado The new product development game, Ken Schwaber formalizou a definio do SCRUM como um mtodo de desenvolvimento de software (FADEL e SILVEIRA, 2010, p.12). Essa metodologia estabelece a produo de software por meio de iteraes (Sprints) com durao entre 2 e 4 semanas (perodo denominado timebox). Essas iteraes consistem na diviso de tarefas dentro da equipe e na construo dos itens que compem a entrega. Uma reunio entre o cliente (Product Owner), o gerente do projeto (Scrum Master) e a equipe de desenvolvimento (Scrum Team) feita antes do incio de cada Sprint. Posteriormente, na execuo de cada Sprint, realizada outra reunio, sendo esta diria e de curta durao, para verificar o andamento da iterao e a distribuio das tarefas. Ao concluir o Sprint realizada uma nova reunio de fechamento para validar se o que foi solicitado foi realmente implementado.

Figura 2: Processo produtivo da metodologia SCRUM


Fonte: MACEDO, 2011.

1.2 Extreme Programming (XP) A metodologia Extreme Programming (XP) foi criada em 1996 por Kent Beck, Ron Jeffries e Ward Cuningham (BONATO, 2002, p.3). O XP, atualmente, uma metodologia

conhecida na rea de Tecnologia da Informao que disciplina o trabalho da equipe tcnica, a gesto organizacional, a comunicao e a resoluo de problemas (DUDZIAK, 2009). Segundo Bonato, algumas boas prticas de trabalho adequadas a um ambiente voltado ao desenvolvimento de software so estabelecidas pelo XP: Processo de planejamento (Jogo do Planejamento) O XP parte do pressuposto que, ao iniciar a definio de escopo do projeto, no se sabe ao certo qual a soluo a ser adotada. Portanto, inicia-se um planejamento mais abrangente para um posterior detalhamento. Os artefatos do jogo do planejamento so uma pilha de cartes, contendo histrias do cliente que iro orientar as iteraes do projeto (BONATO, 2002, p.4). Programao por pares os desenvolvedores trabalham em duplas e cada par tem a responsabilidade de desenvolver um trecho de cdigo, revis-lo e test-lo. Essa metodologia defende a programao por pares visando a melhoria na elaborao do cdigo e a melhoria no resultados dos testes desde a sua origem, o que alcanado mais facilmente com dois programadores implementando um mesmo cdigo. Testes abrange os testes unitrios e os testes de aceitao pelo cliente. Os testes unitrios so escritos pelos desenvolvedores antes da codificao, enquanto que os testes de aceitao so elaborados pelos clientes, tendo como base as histrias escritas. Quando os desenvolvedores elaboram os testes unitrios, devem ser levadas em considerao as possveis falhas na soluo, o que permitir uma posterior codificao mais apurada. Remodelagem (Refactoring) uma tcnica de melhoria contnua do cdigo implementado, sem alterao de funcionalidade. Projeto simples a metodologia prega o uso da soluo mais simples possvel para atender as necessidades, lembrando sempre que o software evoluir de acordo com as novas necessidades que surgirem no futuro. Propriedade Coletiva do Cdigo todos os desenvolvedores tem autonomia para modificar qualquer parte do cdigo, buscando melhor-lo, mesmo que determinada parte do cdigo no tenha sido elaborada, inicialmente, por eles. No entanto, essa alterao deve ocorrer de forma prudente e disciplinada, evitando que uma alterao danifique algo que j estava funcionando. Integrao Contnua as integraes devem ser frequentes e devem ocorrer ao longo do projeto, permitindo um aprimoramento na efetivao das integraes, alm de facilitar a

identificao de problemas advindos dessas integraes, uma vez que so realizados testes unitrios previamente. Cliente presente importante a disponibilidade do cliente para o desenvolvimento, permitindo maior celeridade nos assuntos que envolvem o mesmo, reduzindo, assim, situaes conflitantes entre o que est sendo produzido e o que foi requisitado. Essa disponibilidade pode ser presencial ou por meio de algum canal eficiente de comunicao. Pequenas verses as verses implementadas devem ser pequenas, mas, ainda assim, devem agregar valor ao software que est em construo. Pequenas verses tambm fornecem um feedback concreto para os desenvolvedores sobre quais as expectativas dos clientes foram atendidas e quais no foram (BONATO, 2002, p.7). Semana de 40 horas O XP no favorvel ao uso de horas extras para atendimento mais acelerado do projeto, pois a disposio do desenvolvedor para trabalhar fica comprometida no dia seguinte ao cumprimento das horas extras. Metfora permite que a equipe tenha uma viso consistente para o entendimento das funcionalidades do sistema. Padres de codificao os padres facilitam a melhoria do cdigo, a troca entre os pares de desenvolvimento e a propriedade coletiva do cdigo. 2. Concluso A principal mudana trazida pelas metodologias geis a possibilidade de realizar entregas parciais para o cliente de forma mais rpida, reduzindo sua expectativa. Tal situao no comum com as metodologias tradicionais, uma vez que o cliente passa um perodo referente ao levantamento dos requisitos de todo o sistema para a posterior construo e validao do sistema pelo cliente. Um outro benefcio identificado uma dificuldade reduzida sobre a gesto do projeto, pois os ciclos mais curtos minimizam a possibilidade de erros. Outra mudana, que representa uma quebra de paradigma, a aproximao necessria e constante entre o cliente e a equipe de desenvolvimento, o que permite uma vazo maior dos requisitos elencados e do esclarecimento das dvidas, melhorando o processo de comunicao entre os participantes do projeto. O cliente passa a ser considerado parte integrante da equipe. Ao utilizar esse paradigma dentro da organizao, possvel que a estrutura da organizao tenha que ser revista, uma vez que o fluxo de comunicao com o cliente se dar

de forma distinta. Alm disso, importante uma reviso contratual, pois a realizao de uma dinmica diferente do processo produtivo implicar em outras formas de medio e faturamento do produto elaborado e entregue. Existem vrios trabalhos que tratam da Metodologia gil, segundo suas vrias vertentes expondo as caractersticas, aplicabilidade, estudos de caso, entre outros. Dentre as sugestes para pesquisas futuras destaca-se o estudo comparativo entre metodologias tradicionais e geis buscando identificar os casos em que cada uma tenha: melhor aplicabilidade; necessidades de alteraes organizacionais para que as duas metodologias possam conviver na mesma instituio; incluso e/ou alterao de clusulas contratuais na utilizao da metodologia gil, sendo fator importante para resguardar o prestador de servios; atualizaes das atuais metodologias geis propostas; e maturidade organizacional no uso da metodologia gil. Referncias BONATO, A. S. F. Extreme Programming e Qualidade de Software. 2002. Disponvel em: <ftp://atenas.cpd.ufv.br/dpi/mestrado/XP/A%20-%20XP%20e%20Qualidade/Bonato,%20A %20-%20XP%20e%20Qualidade.pdf>. Acesso em: junho/2012. DUDZIAK, Martin. The Twelve XP Practices Applied to Cyber Network Security and Fighting Cyber Crime. Center for Advances Defense Studies Washington, 2009. 5 p. Disponvel em: <http://instinnovstudy.org/LEAPS/addtl_sci_tech_docmts/assorted-other-papers-and-presentations/XP_Principles_for_Cyber_Sec_and_Warfare.pdf>. Acesso em: junho/2012. FADEL, A. C.; SILVEIRA H. M. Metodologias geis no contexto de desenvolvimento de software: XP, Scrum e Lean. 2010. 26p. Limeira: 2010. Disponvel em: <http://www.ft.unicamp.br/liag/Gerenciamento/monografias/Lean%20Agil_v8.pdf>. Acesso em: junho/2012. MACEDO, T. Introduo ao Scrum. 2011. Disponvel em: <http://www.micreiros.com/2011/introducao-ao-scrum/>. Acesso em: junho/2012. Manifesto para Desenvolvimento gil de Software. Disponvel em: <http://agilemanifesto.org/iso/ptbr/>. Acesso em: junho/2012. SCHWABER, K. SCRUM Development Process. 1996. Disponvel em <www.jeffsutherland.org/oopsla/schwapub.pdf>. Acesso em: junho/2012. SOARES, M. S. Metodologias geis Extreme Programming e Scrum para o Desenvolvimento de Software. 2004, 8 p. Disponvel em: <http://revistas.facecla.com.br/index.php/reinfo/article/download/146/38>. Acesso em: junho/2012.

Vous aimerez peut-être aussi