SCRUM e Testes
Autor: QA House | Publicado: 2010-11-10T08:50:00-08:00

Hoje vou abordar um  assunto que vem sendo muito comentado no mercado de TI: SCRUM. Porém, a  abordagem será voltada para testes. Vamos lá!O que é SCRUM?Scrum é uma metodologia  ágil para gestão e planejamento de projetos de software. (NE.: Lembram do nosso  post em que indicamos uma leitura sobre Metodologia Ágil?)No Scrum, os projetos  são dividos em ciclos que variam de 2 a 4 semanas e são chamados de Sprints.SprintUm Sprint representa um período de tempo dentro do  qual um conjunto de atividades deve ser executado. Ou seja, os Sprints são as  iterações no Scrum. Para ilustrar melhor como funciona a metodologia Scrum. Veja  a seguinte imagem:(fonte:  http://improveit.com.br/scrum)Vamos destrinchar a imagem acima:Product BacklogÉ um arquivo que contém as funcionalidades a serem  implementadas durante o ciclo de vida do software (do produto).Sprint BacklogPor analogia, nota-se  que são as funcionalidades a serem implementadas no Sprint corrente.Daily Scrum  MeetingReuniões diárias de, no máximo, 15 minutos, que  servirão para alinhar o que está ocorrendo durante o sprint (onde os  desenvolvedores estão trabalhando, problemas, mudanças, etc).Potentially shippable  product incrementÉ o produto pronto para ser entregue.Com a breve explicação acima, já podemos ter uma  ideia de como funciona o Scrum. E agora?Agora, vamos falar mais sobre o Scrum mas com o foco  em Testes. Preparados?Como testar e garatir qualidade em um projeto que  utiliza metodologia SCRUM?Uma vez testador em um projeto que utiliza a  metodologia SCRUM, o profissional deve atentar-se a duas características básicas  da metodologia: ciclo-de-vida iterativo e comunicação frequente entre os  componentes do time. Logo, a adaptação do testador convencional para um time  SCRUM deve ser baseada em mudanças de comportamento, como por exemplo:Testar dentro de cada  iteração (Sprint), em vez de testar ao final do desenvolvimento;Decidir o que testar enquanto o produto ainda não  está pronto;Colaborar com os membros da equipe,  em vez de trabalhar isoladamente;Participar das  reuniões diárias com todo o time (Daily Scrum Meeting);Procurar informações sobre produto durante os testes  e com os outros membros do time, para verificar o que testar; ao invés de buscar  informações em documentos de requerimentos.SCRUM X RUP: Qual  metodologia adotar? São realmente opostos?Não podemos dizer que SCRUM é melhor que RUP, ou que  RUP é melhor que SCRUM. A escolha da metodologia vai depender de diversos  fatores, tais como, tamanho do time, tamanho do projeto, proximidade do cliente,  entre muitos outros fatores. Nesse caso, a escolha é baseada numa análise  prévia.Por  exemplo: utilizar e tentar aplicar em um projeto toda a suite do RUP com um time  de 5 pessoas é, na certa um tiro no pé. Para adotar o RUP é necessário um time  numeroso, pois são diversos os roles em RUP. (Se Você deseja entender como  funcionam os roles em RUP, acesse o seguinte artigo:http://www.ibm.com/developerworks/rational/library/apr05/crain/index.html)Outro ponto: RUP e  SCRUM não são metodologias opostas, ou rivais. Percebe-se muita picuinha entre  adeptos de SCRUM (e Agile em geral) com adeptos do RUP.RUP e SCRUM podem ser  perfeitamente complementares. Existe a possibilidade de utilizarmos RUP com  iterações, de por exemplo 3 meses. Assim como podemos adotar práticas de RUP  para pontos que a metodologia SCRUM deixa sem nó.Esse assunto é muito  vasto e necessita de um estudo bem aprofundado de engenharia de software. Como o  nosso foco é voltado para testes, vou deixar alguns links ao final do post para  quem deseja saber mais sobre o assunto.A lição que fica é: não existe metodologia perfeita e  infalível. Existe sim, aquela metodologia que melhor se adequa a determinada  situação.SCRUM: modismo ou  tendência?Pois  é, ponto delicado. 'Os dois' seria a minha resposta. Explico: modismo porque a  metodologia SCRUM tomou uma proporção que não deveria; parece aquela história de  "chegou a solução para todos os seus problemas"; e tendência porque realmente  funciona quando aplicada corretamente e, dependendo da situação, é extremamente  eficiente e prática.LinksPara mais informações sobre SCRUM, indico os  seguintes links:Excelente pdf em português explicando o funcionamento  do desenvolvimento de um produto utilizando a metodologia SCRUM -  http://www.mountaingoatsoftware.com/system/hidden_asset/file/52/PortugueseScrum.pdf  Overview muito bem  condensado sobre a metodologia SCRUM; os links no decorrer do texto dão uma  noção mais aprofundada dos elementos que compoem a metodologia -  http://improveit.com.br/scrum Boa e velha - não tão velha assim - Wikipedia; bons  links na seção 'Ligações externas' - http://pt.wikipedia.org/wiki/ScrumArtigo que me inspirou  a escrever esse post - http://www.informit.com/articles/article.aspx?p=415981  Para mais informações sobre as metodologias e  engenharia de software:SCRUM and RUP - A Comparison Doesn't Go on All Fours  - http://www.rupopmaat.nl/AgileRecord_01_Scrum_and_RUP.pdfTestes no RUP - Parte  1 - http://qahouse.blogspot.com/2009/12/testes-no-rup.htmlTestes no RUP - Parte  2 - http://qahouse.blogspot.com/2010/04/testes-no-rup-parte-2.html