Modelo de Desenvolvimento: Metodologia Scrum
Por: Matheus Mauer • 10/12/2016 • Artigo • 1.604 Palavras (7 Páginas) • 480 Visualizações
Modelo de Desenvolvimento: Metodologia Scrum
Matheus Mauer Lopes
Resumo
Esse artigo visa apresentar de forma sussinta e clara a mais famosa metodologia de desenvolvimento ágil da atualidade: o scrum.
Scrum é uma metodologia para processo de desenvolvimento de software que visa fazer entregas parciais de um projeto no menor tempo possível, famoso por ser implementado com muito sucesso em projetos dinâmicos com equipes pequenas.
A principio, essa metodologia havia sido criada para ser um modelo de gerenciamento para empresas automotivas, e foi criada por Takeushi e Nonaka: "The New Product Development Game" (Harvard Business Review, Janeiro-Fevereiro 1986), após um estudo, os dois tiveram a conclusão que projetos usando pequenas equipes alcançavam melhor resultado que projetos que não usavam esse método.
O Primeiro case de Scrum na área de software, foi em 1993, quando os Engenheiros de Software Jeff Sutherland, John Scumniotales, e Jeff McKenna regulamentaram e implementaram os padrões na empresa Easel Corporation, e regulamentada em 2002, pela Scrum Aliance, projeto conjunto de Ken Schwaber e Mike Cohn.
Apesar de essa metodologia ser famosa pelo uso em projetos de desenvolvimento de software, ela tambem pode ser usada em qualquer outro tipo de contexto.
Palavras-chave: Scrum Master; Sprint; Backlog & Daily
1. Introdução – O que é Scrum afinal?
Metodologia de software é um conjunto de práticas que define o escopo geral do processo de desenvolvimento de um software, falando de maneira global, uma metodologia de software deve definir processos para todas as etapas do desenvolvimento: análise, projeto, codificação e teste.
As metodologias ágeis não são diferentes, elas foram criados para definir como projetar e desenvolver um software, a diferença para os modelos mais tradicionais, entetando, é que as medidas de entregas são feitas por semanas, ao invés de meses ou anos.
O desenvolvimento ágil preza sempre pela entrega rápida e contínua, e é encaixado nesse contexto que está o método Scrum, a idéia central desse modelo é que o software seja desenvolvido e testado por etapas, sendo assim, é possível observar e inspecionar o software continuamente, priorizando a qualidade e a agilidade na entrega de ‘pedaços’ do produto final.
O que define a prioridade de qual etapa (ou ‘pedaço’) será desenvolvida primeiro é a necessidade do negócio, já que as entregas para o cliente são feitas continuamente, calculase que o cliente irá precisar de algumas funcionalidades do sistema que comprou antes do que precisará de outras. Tambem é importante ressaltar, algumas características do scrum, como: as equipes deve ser pequenas, como número de desenvolvedores entre 4 e 9, é de suma importancia o constante contato com o cliente, que se torna parte da equipe de desenvolvimento e as reuniões que devem ser feitas diáriamente para que o gerente de projeto (denominado ‘scrum master’) possa acompanha a evolução do projeto.
2. Desenvolvimento
Desde o começo é bom enfatizar, que o scrum tem como objetivo, estabelecer padrões de projeto e gestão, assim como os processos da Engenharia de software, e sendo assim, não tem métodos definidos para o processo de desenvolvimento.
A documentação de definiçaõ do scrum define algumas importantes atitudes a serem tomadas durante o processo, essa visam que:
- As equipes sejam divididas em um número de membros pequenos: de 6 a 10 membros, com o objetivo de aumentar a comunicação entre os membros, e assim, motivar o compartilhamento de conhecimento técnico e da regra de negócio.
- O processo deve ser feito de maneira que facilite a adaptação para mudanças técnicas e de regra de negócio.
- A criação de testes e documentação devem ser constantes.
- O produto deve sempre estar pronto pra ser entregue rapidamente, pois a necessidade do cliente deve ser de resultados constantes.
(SOMMERVILE, 2003).
2.1 Dicionário do Scrum
Sabendo-se o que é um scrum, agora vamos para um pequeno dicionário de palavras e conceitos que são muito importantes para o processo de um desenvolvimento em scrum:
Product BackLog: Lista das funcionalidades do projeto como um todo, nesse documento estarão ordenadas por prioridade cada atividade que será feita. (Não há a necessidade de todas as atividades estarem informadas na primeira versão do backlog, o mesmo pode se alterar, conforme o projeto evoluí)
Product Owner: Esse ator, é quem define quais são os itens, ou funcionalidades que farão parte do projeto, a cada Sprint Planning Meeting, ele define quais serão as prioridades para cada sprint! É ele quem recebe os pacotes, afinal, é o cliente.
Daily: Todo o dia, durante o percorrer de uma Sprint, é feito uma reunião, denominada ‘Scrum Daily’, nela os integrantes do Scrum Team, devem disseminar o que fizeram no dia anterior, o que farão no dia que está por vir, e informam se há algum impedimento que esteja travando o trabalho.
Sprint: Como metodologias ágeis são iterativas, o desenvolvimento é feito em iterações, ou seja, em partes. No scrum, o nome dessa iteração é ‘Sprint’, ou corrida, nela será feito o desenvolvimento do Sprint Baclog, esse período deve ter no máximo 30 dias.
Sprint Planning Meeting: É uma reunião que ocorre no começo de uma sprint, nela o Product Owner define quais serão as atividades que serão executadas durante a sprint que está por vir, o Scrum Team deve participar, e tirar todas as duvidas, afim de transformar as funcionalidades e tarefas técnicas. O produto dessa reunião é o Sprint Backlog. Não há a necessidade do Product Owner descrever todas as atividades, dependendo do tamanho do Backlog, ele pode apresentar apenas as principais tarefas, e o restante ser revisado na Sprint Review Meeting. Tambem nessa reunião o Product Owner e o Scrum Team irão tracejar quais são os objetivos da tarefa. Após a reunião o Scrum Team deverá se reunir pra decidir qual será o tempo que a equipe terá para entregar o pacote, o prazo pode ser posteriormente negociado com o cliente.
...