A metodologia SCRUM assume-se como uma metodologia extremamente ágil e flexível. Tem por objetivo definir um processo de desenvolvimento iterativo e incremental que pode ser aplicado a qualquer produto ou no gerenciamento de qualquer atividade complexa, proporcionando um excelente entrosamento entre as equipes de desenvolvimento. Com todo esse entrosamento e com a participação ativa dos clientes, o rendimento do projeto aumenta e os requisitos e solicitação de alteração passa a ser entendido mais rapidamente.
Antes de mais nada vamos aos jargões SCRUM:
Backlog Lista de todas as funcionalidades a serem desenvolvidas durante o projeto completo, sendo bem definido e detalhado no inicio do trabalho, deve ser listado e ordenado por prioridade de execução.
Sprint Período não superior à 30 dias, onde o projeto (ou apenas algumas funcionalidades) é desenvolvido.
Sprint Backlog Trabalho à ser desenvolvido num Sprint de modo a criar um produto a apresentar ao cliente. Deve ser desenvolvido de forma incremental, relativa ao Backlog anterior (se existir).
Scrum Reunião diária onde são avaliados os progressos do projeto e as barreiras encontradas durante o desenvolvimento.
Scrum Meeting Rules Protocolo a seguir de modo a realizar uma reunião Scrum.
Scrum Team A equipe de desenvolvimento de um Sprint.
Scrum Master Elemento da equipa responsável pela gestão do projeto e liderar as Scrum Meetings, são normalmente engenheiros de software ou da área de sistemas. Apesar de ser gestor não tem propriamente autoridade sobre os demais membros da equipe. É incentivada a auto-gestão.
Figura que representa as etapas do processo Scrum.
As fases de desenvolvimento SCRUM podem ser divididas basicamente em três, são elas:
• Planejamento: Definição de uma nova funcionalidade requerida pelo sistema baseado no conhecimento do sistema como um todo;
• Desenvolvimento: Desenvolvimento dessa nova funcionalidade respeitando o tempo previsto, requisitos exigidos e qualidade. Esses itens definem o fim do ciclo de desenvolvimento;
• Encerramento: Preparação para a entrega do produto persistindo as atividades: Teste Caixa Branca, Teste Caixa Preta, Documentação do Usuário, Treinamento e Marketing.
Antes de entrar no detalhe de como funciona o processo scrum é interessante saber que existem dois tipos de processos de desenvolvimento: Definidos e Empíricos.
Processos definidos são aqueles que determinam o que deve ser feito, quando e como. Para um mesmo conjunto de variáveis de entrada, pode-se esperar o mesmo resultado sempre. Um exemplo bem conhecido de processo definido é o RUP (Rational Unified Process) da IBM (Rational).
Os processos empíricos devem ser utilizados sempre que os processos definidos não forem adequados devido à complexidade do projeto, ou seja, sempre que não se conheçam todas as variáveis de entrada para que possa
estabelecer um processo repetível (com a mesma saída sempre), o Scrum é um exemplo deste.
Para iniciar o processo Scrum, a primeira coisa a ser definida é quais pessoas serão designadas para trabalhar e que irão compor a equipe Scrum. Esta equipe deve ser composta de 6 a 9 membros. Se houver mais membros do que é possível gerir, separam-se várias equipes Scrum e cada equipe ficará focada numa área específica do trabalho.
A próxima etapa a fazer é apontar o Scrum Master, uma vez que é essa pessoa que conduz as Scrum Meetings, mede o progresso empiricamente, toma decisões e remove os obstáculos do caminho para não desacelerar ou mesmo parar o trabalho em pontos críticos. O Scrum Master fica encarregado de gerenciar e transmitir as
informações do projeto a todos os membros da equipe, ele deve ser capaz de tomar decisões imediatas e resolver todos os impedimentos rapidamente, de modo a não estender o tempo da reunião. É ele que identifica o backlog inicial, que é todo o trabalho proeminente para uma área do produto, tanto imediato e bem definido, como a longo prazo e indefinido.
Para identificar o backlog, a primeira coisa a fazer é listar todo o trabalho conhecido necessário fazer e agrupá-lo em incrementos que não devem ter duração superior a 30 dias. Se houver áreas de trabalho voláteis ou que não
possam ser completamente definidas para 30 dias, deve ser estabelecido um incremento para um tempo conhecido.
Depois disto, é preciso listar todo o trabalho proeminente a fazer e definir prioridades para todos os elementos listados. Uma vez terminado, o backlog deve ser assinado pelos membros das equipes e a partir daí, só o que foi definido neste documento deverá ser cumprido durante o Sprint para cada área. É vital para que o processo funcione cumprir com os trabalhos rigorosamente com base nos pontos restantes do Sprint Backlog. Para isso, é preciso estabelecer e conduzir as reuniões diárias Scrum onde às equipes se encontra e se atualizam sobre o que se vai fazendo. Isto fornece um foco diário no trabalho em desenvolvimento. Antes de mais nada, certifique-se de que as reuniões se realizem sempre na mesma hora e no mesmo local, evitando gastos na procura diária de um lugar, cada reunião não deve ultrapassar 30 minutos. Durante este tempo o Scrum Master cumpre o seu papel em colocar as referidas questões e em resolver todas as decisões necessárias. Qualquer questão não resolvida
deverá ser adiada para posteriores reuniões. No fim de cada Sprint, deve ser feita uma reunião para revisão e demonstração do Sprint. Para conduzir estas reuniões deve ser eleito um porta-voz que irá redigir algumas
questões. Estas questões devem ser resolvidas e registradas nessas reuniões, gerando um histórico do grupo no Sprint.
Exemplo de questões que podem ser levantadas:
1. Qual o valor acrescentado neste incremento (Demonstração)?
2. O que foi completado do nosso Sprint Backlog?
3. Qual o feedback por parte do Cliente do produto?
4. O que se aconteceu de relevante no grupo durante o Sprint?
5. Como é que cada um se sentiu?
6. O que podemos concluir disso?
7. O que pode ser aplicado para melhorar o próximo processo Sprint?
Explicar perfeitamente as regras para que o processo corra melhor, de como a equipe deve trabalhar em conjunto, e toda a equipe tem que trabalhar no Sprint. Cada equipe deve demonstrar algo no fim de cada Sprint, uma vez que o objetivo é que sigam regras de auto-organização.
Nenhum comentário:
Postar um comentário