serviços
fabrica de software - metodologia scrum
Metodologia Scrum para gerenciamento de projetos de software
SCRUM é um processo ágil para construir software incrementalmente em ambientes complexos, onde os requisitos não são claros ou mudam com muita freqüência.
Metodologias ágeis foram criadas para atender melhor a natureza de projetos em ambientes de requisitos instáveis, pouco definidos ou muito sujeitos a mudanças. Algumas de suas principais características visando minimizar os riscos são:
- Divisão do projeto em pedaços menores e curtos, variando de uma semana a um mês.
- Comunicação entre a equipe e o Cliente em tempo real.
- Participação ativa do Cliente.
- Alta capacidade de resposta a mudanças.
Cliente:
Nesse modelo o Cliente é uma parte importante no processo e sua participação ativa, mesmo que não presente fisicamente, é essencial para garantir o sucesso do projeto. É sua responsabilidade priorizar as funcionalidades que serão implementadas em cada um dos pedaços de software e eventualmente escolher aquelas que serão despriorizadas. Seu feedback constante alimenta o planejamento do projeto e definição de atividades pela equipe.
Como funciona:
No SCRUM o projeto será dividido em ciclos periódicos chamados Sprints. Cada Sprint, geralmente variando entre uma semana e um mês, representa um volume de esforço pré-definido dentro do qual um grupo de atividades deverá ser executado e seu produto final será um software funcional. O processo é iterativo e incremental.
As funcionalidades que o Cliente deseja implementar em um software são registradas em um Product Backlog, definido antes do início do projeto através de técnicas especiais de levantamento e registro de requisitos. Cada funcionalidade é estimada (esforço e prazo) e, em função da quantidade de profissionais envolvidos no projeto, este é dividido em Sprints.
No começo de cada Sprint é realizado um Sprint Planning Meeting, uma reunião de planejamento no qual o Product Owner define prioridades dentro do Product Backlog e a equipe seleciona as atividades que ela será capaz de implementar durante o Sprint sendo iniciado. As tarefas definidas para cada Sprint são realocadas do Product Backlog para um Sprint Backlog.
Diariamente é realizada pela equipe uma breve reunião (Daily SCRUM), geralmente pela manhã, cujo objetivo é disseminar conhecimento sobre as atividades realizadas no dia anterior, identificar riscos e problemas, e priorizar as tarefas no dia corrente.
A cada término de Sprint a equipe apresenta as funcionalidades implementadas na Sprint Review Meeting, quando é realizada uma Sprint Retrospective e os membros do time planejam o próximo Sprint, reiniciando o ciclo.
A ilustração a seguir representa o Processo Dextra para Desenvolvimento em SCRUM:

Glossário Scrum:
- Burn-down Chart: diagrama que monitora quanto trabalho ainda deve ser executado para implementar um segmento do software sendo desenvolvido durante um Sprint.
- Daily Scrum: reuniões diárias e breves, em torno de 15 minutos, entre o Scrum Master e o Scrum Team com o objetivo de manter o trabalho fluindo de maneira suave e eliminar qualquer impedimento.
- Product Backlog: lista de pendências corrente que contém os objetivos do projeto e suas prioridades. Gerenciada pelo Product Owner.
- Product Owner: pessoa responsável pelo Product Backlog e por garantir que o projeto esteja fluindo corretamente dentro de uma perspectiva de negócios. Pode ser um analista de negócios da Dextra ou o cliente.
- Release Backlog: o mesmo que o Product Backlog, mas restrito a um release do produto (um Sprint, por exemplo).
- Scrum Master: o líder do Scrum Team.
- Scrum Team: a equipe de um projeto Scrum formada por engenheiros de software, auto-gerenciada, auto-organizada, independente de um gerente formal.
- Sprint: a iteração dentro da qual o Scrum Team se concentra em realizar os objetivos definidos pelo Sprint Backlog corrente. Datas limites não podem ser ultrapassadas.
- Sprint Backlog: uma lista de tarefas para um Sprint. Consiste nas decisões que o Product Owner tomou para priorizar as funcionalidades. É detalhada ao final do primeiro dia do Sprint em uma reunião entre o Product Owner e o Scrum Team.
- Sprint Retrospective: reunião que ocorre ao final de cada Sprint, com aproximadamente 3 horas de duração. A equipe revisa os pontos positivos o último Sprint e o que precisa ser melhorado para o seguinte.
- Sprint Review: reunião informal, também, ao final de cada Sprint, durante a qual a equipe apresenta para a equipe gerencial, clientes e o Product Owner o que foi criado durante o Sprint.

