Versão | Autor | Descrição |
---|---|---|
1.0 | Luciano Santos | Adicionando metodologia scrum |
Scrum
Sumário
1. Introdução
Scrum é uma metodologia ágil para gestão e planejamento de projetos de software. No Scrum, os projetos são dividos em ciclos (tipicamente mensais) chamados de Sprints. O Sprint representa um Time Box dentro do qual um conjunto de atividades deve ser executado. Metodologias ágeis de desenvolvimento de software são iterativas, ou seja, o trabalho é dividido em iterações, que são chamadas de Sprints no caso do Scrum. As funcionalidades a serem implementadas em um projeto são mantidas em uma lista que é conhecida como Product Backlog. No início de cada Sprint, faz-se um Sprint Planning Meeting, ou seja, uma reunião de planejamento na qual o Product Owner prioriza os itens do Product Backlog e a equipe seleciona as atividades que ela será capaz de implementar durante o Sprint que se inicia. As tarefas alocadas em um Sprint são transferidas do Product Backlog para o Sprint Backlog. A cada dia de uma Sprint, a equipe faz uma breve reunião (normalmente de manhã), chamada Daily Scrum. O objetivo é disseminar conhecimento sobre o que foi feito no dia anterior, identificar impedimentos e priorizar o trabalho do dia que se inicia. Ao final de um Sprint, a equipe apresenta as funcionalidades implementadas em uma Sprint Review Meeting. Finalmente, faz-se uma Sprint Retrospective e a equipe parte para o planejamento do próximo Sprint. Assim reinicia-se o ciclo.
2. Artefatos Scrum
2.1 Backlog
O Backlog é nada mais nada menos do que os requisitos do produto que precisa ser entregue, bem como todo o entendimento necessário para se atender aos requisitos, produzir funcionalidades e por fim entregar um produto.
2.2 Product Backlog
É o conjunto de requisitos de todo o produto, ou seja, o Backlog do produto representa tudo que é necessário para desenvolver e lançar um produto completo, e representa o produto final que será entregue após a execução do projeto.
2.3 Sprint Backlog
É o conjunto de requisitos contidos no objetivo de uma Sprint, ou seja, o Backlog da Sprint representa tudo que é necessário para desenvolver e/ou entregar uma parte do produto, definido como objetivo de uma Sprint. Todo o conteúdo do Backlog da Sprint deve estar contido dentro do Backlog do Produto, e as primeiras Sprints devem conter sempre os itens do Backlog mais prioritários e críticos para o sucesso do produto.
2.4 Estórias
É um descritivo claro e objetivo, porém resumido, da funcionalidade que será desenvolvida. Muitas vezes uma estória cabe em um post-it por conta da sua objetividade;
2.5 Kanban
O Kanban serve para aumentar a transparência do trabalho do time. Basicamente é um quadro, com algumas divisões verticais de acordo com a necessidade do time. Cada divisão representa uma fase do trabalho e cada post-it representa uma tarefa. A medida que o trabalho em uma tarefa avança dentro da Sprint, o post-it correspondente a ela avança no quadro. Isso dá uma visão clara para qualquer um das tarefas que estão sendo feitas, as que já estão prontas, as que ainda não foram iniciadas, etc.
![kanban](https://proxy.duckduckgo.com/iu/?u=https%3A%2F%2Fwww.techdivision.com%2F_Resources%2FPersistent%2F5d0be704118a758e2cb7a1f46b580b445f6846b5%2FKanban-Board-generisch.png&f=1) ### 2.6 Velocity chart
O Velocity Chart pode ajudar a determinar quantos pontos de trabalho pode ser concluído por Sprint para uma determinada equipe, se a composição da equipe e duração da Sprint permanecerem os mesmos. A Estimativa dos pontos de história devem ser precisos para o cálculo do Velocity ser significativo. Pode-se criar Velocity Chart para lançamentos ou Sprints concluídas.
![velocity](https://proxy.duckduckgo.com/iu/?u=http%3A%2F%2Fcovernostra.info%2Fwp-content%2Fuploads%2F2018%2F05%2Fvelocity-chart-agile-scrum.jpg&f=1) ## 3. Papéis Scrum ### 3.1 Product OwnerO Product Owner, "dono do produto", é o responsável por maximizar o valor do produto e do trabalho do Time de Desenvolvimento. Como isso é feito pode variar por projeto ou time de desenvolvimento, sendo que o Product Owner é a única pessoa responsável por gerenciar o Backlog do Produto. O gerenciamento do Backlog do Produto inclui:
- Expressar claramente os itens do Backlog do Produto; - Ordenar os itens do Backlog do Produto para alcançar melhor as metas e missões; - Garantir o valor do trabalho realizado pelo Time de Desenvolvimento; - Garantir que o Backlog do produto seja visível, transparente, claro para todos, e mostrar o que o Time Scrum vai trabalhar a seguir; - Garantir que o Time de Desenvolvimento entenda os itens do Backlog do Produto no nível necessário. ### 3.2 Scrum MasterO Scrum Master é responsável por garantir que o Scrum seja entendido e aplicado, ou seja, para garantir que o Time Scrum adira à teoria, práticas e regras do Scrum. O Scrum Master ajuda aqueles que estão fora do Time Scrum a entender quais as suas interações com o Time Scrum e se estas são úteis, de modo que mostra, também, quais não são úteis para o projeto. O Scrum Master ajuda todos a mudarem estas interações para maximizar o valor criado pelo Time Scrum.
#### 3.2.1 Responsabilidades do Scrum Master - Encontrar técnicas para uma gestão eficaz do Product Backlog; - Comunicar claramente a visão, metas e itens do Product Backlog para a equipe de desenvolvimento; - Ensinar a equipe a criar itens de Backlog claros e sucintos; - Abranger o planejamento de longo prazo do produto em um ambiente empírico; - Compreender e praticar a agilidade; - Facilitar eventos Scrum conforme solicitado ou necessário. - Ensinar e liderar a equipe de desenvolvimento para criar produtos de alto valor; - Remover impedimentos para o progresso do desenvolvimento; - Auxiliar a equipe de desenvolvimento em ambientes organizacionais em que o processo Scrum ainda não esteja totalmente aprovado e compreendido. - Liderar e treinar a organização na sua adoção ao processo Scrum; - Planejar implementações do Scrum dentro da organização; - Ajudar os funcionários e as partes interessadas a entender e aprovar o Scrum de forma empírica; - Causar transformações que aumentem a produtividade da equipe Scrum; - Trabalhar com outros ScrumMaster para aumentar a eficácia da aplicação do Scrum na organização. ### 3.3 Scrum TeamO Scrum Team é a equipe de desenvolvimento. Nela, não existe necessariamente uma divisão funcional através de papéis tradicionais, tais como programador, designer, analista de testes ou arquiteto. Todos no projeto trabalham juntos para completar o conjunto de trabalho com o qual se comprometeram conjuntamente para um Sprint.
### Referências - [Artefatos na metodologia scrum](https://www.scriptcaseblog.com.br/artefatos-na-metodologia-scrum/) - [Artefatos Scrum](http://www.fabiocruz.com.br/frameworkscrumold/artefatos-scrum/) - [Responsabilidades Scrum Master](https://www.devmedia.com.br/responsabilidades-de-um-scrum-master/27358) - [Scrum](http://www.desenvolvimentoagil.com.br/scrum/)