quinta-feira, 18 de janeiro de 2018

Framework para desenvolvimento ágil Scrum

Framework Scrum - Fonte:Scrum.org


Scrum é um framework de desenvolvimento de tarefas complexas, de forma adaptativa e focada em melhoria contínua do produto e em aumentar o seu valor. Ele foi criado em 1990 por Ken Schwaber e Jeff Sutherland. Sua primeira definição formal tornou-se pública em 1995, durante a conferência de OOPSLA.
Ken Schwaber (à esquerda) e Jseff Sutherland (à direita).

Ele foi criado para ser leve, simples de entender e difícil de dominar. O Scrum é um framework para processos e pode muito bem ser utilizado no dia a dia de uma equipe de desenvolvimento. Ele não é um processo, técnica ou uma metodologia definitiva, mas sim um framework onde você pode empregar vários processos e técnicas afim de torná-lo mais robusto e adaptado a realidade do seu projeto.

Jogada Scrum do Rugby

Seu nome vem de uma jogada executada em uma partida de Rugby. Essa jogada é utilizada para dar o reinício do jogo, que acontece geralmente após a ocorrência de uma penalidade. Cerca de oito jogadores se unem e empurram outros oito jogadores do time adversário, o objetivo é avançar o máximo possível para marcar pontos.

A filosofia do Scrum está fundada sobre o processo de controle empírico, isto é, na maioria das vezes evitamos o uso de planejamentos detalhados por métricas abusivas para dar lugar ao "colocar a mão na massa" só depois tirar conclusões acerca do que fora feito. O empirismo afirma que o conhecimento vem da experiência e da tomada de decisões baseadas naquilo que sabemos. O Scrum aproveita-se disso empregando uma abordagem incremental e iterativa para otimizar a predição de riscos a media que o processo evolui. 


Pilares do processo Scrum - Fonte: Scrum.org.

Três pilares sustentam a implementação do processo de controle empírico presente no Scrum. São eles: transparência, inspeção e adaptação. 
  • A transparência torna todas as informações acerca do projeto claras e visíveis a todos os envolvidos. Isto pode ser feito através do uso de dicionários para termos e siglas muito utilizadas no processo ou compartilhar uma definição comum de "tarefa finalizada". 
  • A inspeção dos artefatos do Scrum deve ser feita por todos, com o objetivo de avançar até a meta da entrega e então observar se estão surgindo desvios indesejáveis. Não é aconselhável que as inspeções sejam executadas a todo o momento. A melhor forma é que sejam feitas por inspetores experientes e de forma que não atrapalhem o desenvolvimento do time.
  • A adaptação deve ocorrer quando é notado um desvio da meta, geralmente apontado pela inspeção. Caso um desvio ocorra, rapidamente ele precisa ser ajustado para minimizar problemas futuros. O Scrum fornece alguns eventos para adaptação como o Sprint Review e Sprint Retrospective.
Valores do Scrum - Fonte: Scrum.org

Com os pilares sobre o processo, torna-se um terreno fértil para dar origem aos cinco valores que devem ser empregados ao Time Scrum. O Time Scrum poem estes valores em prática a medida que aprendem e exploram os papéis, eventos e artefatos do Scrum. Os cinco valores são:
  • Coragem: o Time Scrum deve ter a coragem de fazer o que é certo e não ter medo de errar, afinal, é isto que o empirismo prega, o erro deve ser encarado como um ponto para se aperfeiçoar e corrigir.
  • Foco: todo o time deve estar focado em uma unica Sprint e um conjunto de metas fornecidos pelo Sprint Backlog.
  • Comprometimento: as pessoas se comprometem a alcançar as metas do Time Scrum.
  • Respeito: o time deve ser capaz de respeitar a cada membro independente de suas habilidades, papéis e experiências.
  • Abertura: O Time Scrum e os seus stakeholders devem estar abertos a fornecerem as informações necessárias ao trabalho, como também, fazer parte do dia a dia de desenvolvimento.
Para concluir, vimos a definição do framework Scrum, que é muito utilizado para o gerenciamento de processos de desenvolvimento de software. Vimos que o Scrum trabalha sobre o modelo empírico de processo, onde as decisões são melhor tomadas a medida que vão solucionando os problemas. Abordei os três pilares do Scrum que são a transparência, Inspeção e adaptação. Como também conversamos sobre os cinco valores que o Time Scrum deve desenvolver durante o processo: Coragem, foco, comprometimento, respeito e abertura. Com isso espero ter dado uma visão introdutória ao Scrum de forma que fique bem clara sobre os seus objetivos e o porque este framework é tão utilizado no mundo de desenvolvimento de software.


Referências:
  •  http://www.fabiocruz.com.br/valores-scrum/, acessado em 08/01/2018. 
  •  Ken Schwaber and Jeff Sutherland, The Scrum Guide, 2017, Creative Commons. 
  •  https://www.scrum.org/, acessado em 27/12/2017 
  •  PRESSMAN, Roger S. Engenharia de Software, Oitava Edição. Editora MCGrawHill: Porto Alegre, 2016. 

Nenhum comentário:

Postar um comentário