Arquivo da tag: trabalho

Scrum

scrum-glossary-agile-terms

O Scrum é um modelo de processo de desenvolvimento ágil de software fundamentado nas teorias empíricas de controle do processo, ou empirismo. Sua abordagem é iterativa e incremental possibilitando assim aperfeiçoar a previsibilidade e o controle de riscos [Schwaber and Sutherland 2013, p. 4].

Segundo [Cisneiro et al. 2013, p. 4] o nome Scrum é derivado de uma jogada de rúgbi, onde todo o mesmo time avança como apenas uma unidade, trabalhando com os mesmos jogadores e em conjunto, passando sempre a bola pra um e para outro.

Conforme [Schwaber and Sutherland 2013, p. 4], três pilares sustentam qualquer implementação de controle de processos empíricos:

  • Transparência: Garante que aspectos do processo que afetam o resultado devem ser visíveis para aqueles que gerenciam os resultados.
  • Inspeção: Os diversos aspectos do processo devem ser inspecionados com uma frequência suficiente para que variações inaceitáveis no processo possam ser detectadas.
  • Adaptação: Se o inspetor determinar, a partir da inspeção, que um ou mais aspectos do processo estão fora dos limites aceitáveis e que o produto resultante será inaceitável, ele deverá ajustar o processo ou o material sendo processado. Esse ajuste deve ser feito o mais rápido possível para minimizar desvios posteriores.

Segundo [Schwaber and Sutherland 2013, p. 5] os papéis existentes no Scrum são:

  • ScrumMaster: é o responsável por garantir que o Time Scrum esteja aderindo aos valores do Scrum, às práticas e às regras, ajuda o Time Scrum e a organização a adotarem o Scrum.
  • Product Owner: á a única pessoa responsável pelo gerenciamento do Backlog do Produto e por garantir o valor do trabalho realizado pelo Time. Essa pessoa mantém o Backlog do Produto e garante que ele está visível para todos.
  • Time (equipe de desenvolvimento): Transformam o Backlog do Produto em incrementos de funcionalidades potencialmente entregáveis em cada Sprint. Times também são interdisciplinares: seus membros devem possuir todo o conhecimento necessário para criar um incremento no produto.

[Neto 2013] diz que o objetivo de se ter eventos no Scrum é proporcionar um maior controle sobre o processo adquirindo uma rotina de trabalho e aumentar a transparência ao decorrer do desenvolvimento. Os eventos Scrum são time boxed, ou seja, possuem uma duração máxima definida. Não se pode garantir o sucesso de um projeto com o uso do Scrum deixando de incluir qualquer um dos seus eventos que são:

  • Sprint: Uma Sprint consiste em um espaço de tempo de no máximo quatro semanas.Onde é desenvolvido por o Development Team um produto potencialmente utilizável. O tempo de duração de uma Sprint pode variar entre duas a quatro semanas, essa é uma decisão compartilhada por o Scrum Team. Cada Sprint deve ter um objetivo a ser alcançado pelo Development Team, resultando em um incremento do produto final.
  • Sprint Planning Meeting: O Sprint Planning Meeting é a reunião de planejamento que ocorre antes do início de uma Sprint como resultado de um trabalho colaborativo do Scrum Team.
  • Daily Scrum Meeting: é uma reunião diária geralmente de 15 minutos. O seu objetivo principal é fazer o Development Team refletir a respeito das seguintes questões: “O que foi completado desde a última reunião?”, “O que será feito até a próxima reunião” e ”quais os obstáculos que estão no caminho?”. Essa reunião assegura que o Development Team está seguindo a direção correta em relação ao objetivo da sprint.(SCHWABER, 2011, pg 10).
  • Sprint Review: acontece ao final de cada Sprint e tem como objetivo avaliar o que foi produzido pelo Development Team. É uma reunião com duração de 4 horas para Sprints de um mês.
  • Sprint Retrospective: esta é uma reunião de duração de três horas para uma Sprint de um mês. Tem como objetivo avaliar o desempenho do Development Team, criando melhorias a esse respeito para a próxima Sprint.

[Cisneiro et al. 2013, pg 8] cita que artefatos Scrum são as ferramentas básicas para se trabalhar com este modelo de desenvolvimento. Estes artefatos servem como guias e indicadores durante o processo. São divididos em três:

  • Product Backlog: o Proprietário do Produto prepara uma lista de funcionalidades desenvolvida em conjunto com o cliente, que é organizada por prioridade de entrega. Essa lista chama-se Product Backlog.
  • Sprint Backlog: assim que a equipe de Scrum escolher e definir a lista de requisitos e a prioridade de seus itens do Product Backlog, cada um desses itens agora será dividido em partes menores para o Sprint Backlog. Ou seja, uma lista especificando as necessidades para implementar uma funcionalidade do sistema.
  • Burndown Chart: é um gráfico que mostra a quantidade de trabalho cumulativo restante de um Sprint, dia por dia. Com isto, podemos visualizar facilmente se um trabalho está tendo progresso, completando as tarefas, enquanto vemos que as colunas do gráfico vão caindo em sua altura.

Estes conceitos e artefatos propostos pela metodologia de desenvolvimento Scrum se utilizadas da forma correta em projetos onde a agilidade possa ser empregada irá proporcionar a empresa a possibilidade de produzir softwares que satisfaçam os clientes, com uma boa qualidade e agilidade.

Referências

Cisneiro, H., Jacoba, M. S., and Pereira, S. M. T. (2013). Modelo de desenvolvimento ágil scrum. Disponível em: http://www.devin.com.br/modelo-scrum/. Acesso em: 06 Mai. 2013.

Neto, C. (2013). Conhecendo o scrum. Disponível em: http://www.devmedia.com.br/conhecendo-o-scrum/25744. Acesso em: 29 Abr. 2013.

Schwaber, K. and Sutherland, J. (2013). Guia do scrum, 2011. Disponível em: http: //www.scrum.org/Scrum-Guides. Acesso em 06 Mai. 2013.