Scrum: Agilidade no mundo da computação


Publicação Primária: Mulheres Na Computação

Já parou para pensar em como a palavra mandatória do nosso século é agilidade? É tudo pra ontem, estamos sempre atrasados, pouquíssimo tempo, muitas tarefas e na maioria das vezes, disciplina zero.

Na evolução do Desenvolvimento de Software não é diferente.

Isso acontece porque competitividade é um conceito que as empresas buscam cada vez mais. É fazer mais com menos; em menos tempo.

O Scrum é um framework de agilidade. Entendo que ele está para o desenvolvimento de software, assim como ITIL está para a entrega de serviços em TI, um conjunto de boas práticas.

O que o diferencia principalmente de outras metodologias é a quantidade de regras, já que se aplicadas, tende a maior aderência a cultura ágil. O Scrum tem como principais horizontes o foco na meta e o auto-gerencimento.

O nome Scrum vem da associação ao esporte Rugby, nome curto para Scrummage, que refere-se a formação ordenada dos jogadores, para que em seguida eles possam avançar na jogada.

Em um jogo de Rugby também temos:

  • Todos juntos por um só objetivo
  • Corrida rápida para marcar ponto

O framework nos diz o quê fazer para ter sucesso em estabelecer objetivos e alcança-los. Bem como lidar com o gerenciamento de mudanças no decorrer de um projeto de desenvolvimento, o que é inevitável. Aqui as mudanças são bem vindas e totalmente negociáveis. E a partir de um escopo inicial, o cliente é quem decide quais as mudanças, se elas realmente precisam acontecer, quando irão acontecer e quais atividades serão priorizadas para atender à relação Qualidade – Tempo – Custo – Escopo.

Acredita que:

  • Não é possível prever com precisão, logo no início do projeto, qual será o produto final.
  • As necessidades mudam e que é desperdiçar tempo planejando aos mínimos detalhes, o que deve ser feito a médio prazo.
  • Mudanças são bem-vindas para qualquer item do Backlog do projeto, mas não para itens já planejados para a iteração atual.

 

Um time Scrum possui três papéis:

Product Owner (P.O.) – O P.O. é a principal interface com o cliente. É responsável por receber e priorizar o backlog de atividades e apresentar os itens com a visão de negócio aos desenvolvedores.

Scrum Master – É o facilitador da equipe, a pessoa que navega pela hierarquia da empresa para resolver impedimentos. Quando necessário, exerce a função de educar a equipe, moderar confitos e controlar a time box de reuniões.

Desenvolvedor – Desenvolve, analisa, testa, documenta, resolve problemas técnicos, define como serão realizados os itens trazidos pelo P.O.

Os itens que compõem o Framework são:

Backlog: Lista de itens a fazer.

Sprint: Ciclo de vida de uma interação.

Sprint Backlog: Tarefas comprometidas para um perído específico.

Time-Boxes: Períodos de duração das atividades. Não devem ser variáveis.

Histórias: Itens do Backlog, contados através de uma história que mostram claramente o valor que estará sendo agregado ao cliente final. (Título, Prpósito, Beneficiado, Pedido)

Baseado no ciclo PDCA, a dinâmica do Scrum é baseada em um ciclo, que chamamos de SPRINT:

Scrum

 

Para que uma equipe seja considerada um bom time, uma boa estratégia é que as pessoas sejam auto gerenciáveis. O Scrum preza em sua essência por esse comportamento. Se todos seguirem as regras do jogo, tudo ocorrerá bem.

Com o conceito de aprimorar processos, já no contexto de desenvolvimento de software, o Scrum é certamente o modelo mais promissor de prover aos times maior produtividade, foco em metas, previsibilidade, cultura autônoma, sentimento de equipe e ausência de culpados.

Vale MUITO a pena conhecer e aplicar.

Ter disciplina implica diretamente em bem estar e qualidade de vida. Ou o planejamento está errado.. correto?

E que a partida comece. SPRINT!

BeijoMeu!