A fim de facilitar o entendimento e a aplicação da ferramenta Agilo nos eventos e definições do Scrum, será contextualizada parte do enfoque para algumas definições essenciais do modelo de processo Scrum, bem como algumas outras ferramentas corriqueiramente utilizada no dia-dia de projetos Scrum.
Assim, o tema se torna útil aos leitores que desejam assimilar práticas, adaptações e experiências na utilização de ferramentas que suportam o processo de desenvolvimento de software em um ambiente de projetos ágil, neste caso o Agilo.
Em toda a gama de projetos de software é comum termos a necessidade de se adequar a diferentes tipos de clientes e negócio. Essa variação demanda um maior controle e automatização do processo de desenvolvimento de software, tanto no controle e gerenciamento, como também na execução das atividades.
Independentemente do tipo do projeto, é essencial alinhar a gestão de processo e produto aos interesses e necessidade de cada negócio.
Este artigo dará uma visão geral sobre um processo de desenvolvimento de software guiado pelo Scrum e a aplicação da ferramenta de suporte para esse modelo, o Agilo.
No Agilo, veremos como são controladas e gerenciadas todas as nossas atividades, desde a formalização de bugs à rastreabilidade de artefatos de software. São ilustrados também a disposição e manutenção dos nossos indicadores e reports de auxílio às tomadas de decisão de projeto.
Também serão apresentados importantes conceitos sobre o framework Scrum de forma a facilitar o entendimento e a leitura do artigo, bem como um estudo comparativo entre o Agilo e outras ferramentas indicadas para o suporte ao framework Scrum.
Visão geral e aplicação do framework Scrum
O Scrum pode ser definido como um framework estrutural ou uma estrutura de processos para suportar o desenvolvimento e manutenção de produtos de software. Ele utiliza o modelo iterativo e incremental para gerenciamento e desenvolvimento das suas atividades de processo (Figura 1).
Em nossos projetos de desenvolvimento de software, o Scrum é utilizado como guia e suporte sob a nossa estrutura de processos, desde a concepção da solução até a manutenção do produto.
Em resumo, consiste nas equipes associadas a responsabilidades, papéis, eventos, artefatos e regras, sendo que, cada componente serve a um propósito especifico e é essencial para o sucesso do Scrum.
Pois bem, o framework Scrum é baseado e aplicado sob a execução de eventos no decorrer do processo, em nosso ambiente de projeto são eles:
- Reunião de Planejamento da Versão para Entrega (Release Planning);
- Sprint;
- Reunião de Planejamento da Sprint;
- Revisão da Sprint;
- Retrospectiva da Sprint;
- Reunião Diária.
A Reunião de Planejamento da Versão para Entrega (Releases) tem como propósito: i) estabelecer o Backlog do Produto; ii) definir um plano de metas para o desenvolvimento e entrega do produto; e por fim, iii) estabelecer o cronograma de entrega e custos da Sprint.
A Sprint por sua vez, é considerada o evento mais importante, com um time-box de mais ou menos um mês de duração, durante o qual uma versão incremental potencialmente utilizável do produto é criada.
As Sprints têm durações coerentes em todo o esforço de desenvolvimento, de forma que uma nova Sprint se inicia imediatamente após a conclusão da Sprint anterior.
Elas são compostas dos seguintes itens:
- Reunião de Planejamento da Sprint;
- Reuniões Diárias;
- Desenvolvimento;
- Revisão da Sprint;
- Retrospectiva da Sprint.
A Sprint do Projeto se inicia com a Reunião de Planejamento da Sprint, que tem como objetivo definir o trabalho a ser realizado na Sprint (Backlog da Sprint). O planejamento é criado com a colaboração de todo o Time Scrum.
Em geral, a reunião de planejamento da Sprint consiste de duas partes, nelas são tratados os seguintes pontos:
- O que será entregue como resultado do incremento?
- Como será realizado o trabalho para entregar o incremento da Sprint?
Durante as Sprints a equipe também realiza uma Reunião Diária de 15 minutos, que é sempre feita no mesmo horário e local. O Scrum Master garante que a reunião aconteça e auxilia a equipe na condução, de modo que seja respeitado o tempo e as perguntas padrão sejam respondidas da forma correta.
Na Reunião Diária, cada membro do Time Scrum explica os seguintes itens:
- O que realizou/trabalhou desde a última reunião diária?
- O que irá fazer antes da próxima reunião diária?
- Quais os obstáculos que estão impactando o trabalho?
Em geral, o objetivo da Reunião diária é inspecionar o progresso da Sprint e auxiliar o Time Scrum a atingir as metas definidas.
Durante a atividade de Desenvolvimento e Execução da Sprint, o Scrum Master garante que não será feita nenhuma mudança que possa afetar as metas definidas, de modo que toda a composição e as metas de qualidade da Sprint também devem permanecer constantes durante sua execução.
A Reunião de Revisão da Sprint pode ser utilizada também como um ...