Atualmente, a complexidade dos softwares é algo que vem crescendo constantemente, junto com a necessidade dos sistemas incorporarem diversas funcionalidades. Para isso, a Informant investe em metodologias de gerenciamento, como o Scrum, que é aplicada ao desenvolvimento de projetos, em busca de melhor controle sobre o planejamento estratégico, técnicas e qualidade do software. Considerada uma metodologia ágil de gerenciamento de projetos executados por pequenas equipes, auto-organizáveis e que trabalham com entregas cíclicas, tornando o desenvolvimento do projeto algo interativo, o Scrum pode ser utilizado em projetos que não estejam ligados ao desenvolvimento de software, embora seu uso concentre-se nesta área.
Mas, quais seriam os diferenciais desta metodologia?
Basicamente, ela apresenta-se como uma maneira alternativa para o gerenciamento de projetos, que não possam ter todo seu processo definido, tornando mais controlável as mudanças que poderiam acontecer durante o desenvolvimento. Ou seja, o Scrum defende que um projeto seja executado em pequenas etapas, com no máximo 30 dias, chamadas de sprint e que, ao término de cada etapa, o produto desenvolvido possa ser entregue para avaliação do cliente. Vamos ver como isso funciona na prática?
A primeira atividade é uma reunião de planejamento, para definir um escopo de entregáveis, em um período de três ou quatro meses, dependendo do tamanho do projeto. Nesta reunião são levantados os cenários mínimos necessários para que essa entrega seja feita, etapa em que os cenários são descritos pelo dono do produto, junto com o ScrumMaster e a equipe completa, de uma forma menos detalhada, focando em regras de negócio mais importantes e funcionalidades prioritárias. Em seguida, é montado um backlog, com os cenários da entrega.
Feito isso, são planejados sprints, de uma ou duas semanas, em que os cenários vão sendo implementados, testados, entregues e validados pelo dono do produto. A cada reunião de sprint, cada cenário é detalhado tecnicamente pelo time de desenvolvedores em conjunto com o ScrumMaster, para verificar quanto tempo e esforço serão necessários para desenvolver cada um deles. É importante frisar que o resultado é um cenário vertical, entregue e validado pelo próprio dono do produto. Ou seja, todo final de sprint deve agregar valor ao produto, com funcionalidades que possam ser testadas por ele.
Para que você possa entender melhor, o Scrum define papéis a todos os envolvidos no projeto, e tarefas são repassadas a cada um. Acompanhando um raciocínio, a definição dos papéis engloba (SANCHES, 2011):
Dono do produto: define as funcionalidades do produto, prioridade de entrega, data de início do projeto e validação das entregas realizadas. Responsável por priorizar backlog e conhecer muito bem o roadmap do produto, pela rentabilidade do projeto e as alocações dos recursos necessários para a execução (responsabilidade exercida pelo Scrum Master ou pelo líder técnico da equipe, em conjunto com o dono do produto);
ScrumMaster: gerente do projeto e intermediador da equipe, responsável por garantir que não haja obstáculos que afetem a produtividade, ou funcionalidade, evitando interferência externa. A responsabilidade principal é fazer com que as práticas propostas pelo Scrum sejam realizadas:
- Reuniões diárias, de sprint e de planejamento;
- Incentivar a atualização dos quadros de Scrum;
- Alinhar expectativas do dono do produto junto com a equipe;
- Tratar conflitos entre PO, desenvolvedores e outros stackholders do projeto.
Tudo isso para garantir que o time tenha tudo que é necessário, para poder trabalhar focado nas entregas.
Equipe: no máximo com nove integrantes, é responsável pelo desenvolvimento das tarefas definidas. O Scrum não especifica papéis aos integrantes, tornando a equipe auto-organizável. Os integrantes devem ser multifuncionais e atuar em tarefas de diversas.
Com base na metodologia, o Scrum define que, durante a fase inicial do projeto, cabe ao dono do produto elaborar uma listagem das funcionalidades que deverão ser entregues e organizá-las de acordo com a importância. Depois, a equipe deve realizar uma estimativa de tempo necessário para a conclusão de cada tarefa, que deve ser disposta em uma lista (produto backlog). Definido o produto backlog, é dado início ao projeto na data combinada.
Desenvolvido de forma interativa, são agendadas reuniões no início de cada sprint. Além disso, os itens alocados no produto backlog devem ser movidos para uma listagem de tarefas, denominada sprint backlog, de acordo com o tempo necessário estimado e o disponível, durante a realização.
No período de execução da sprint, a equipe e o ScrumMaster devem realizar curtas reuniões diárias, para que cada integrante apresente o que foi feito, o que será produzido e se existe algum impedimento na ação.
Ao término da sprint, todas as funcionalidades desenvolvidas devem ser apresentadas ao dono do produto, que irá validar a entrega, aceitando ou não o resultado. Por fim, antes do início de uma nova sprint, equipe e ScrumMaster devem realizar uma nova reunião para discutir e montar um feedback, a respeito de problemas enfrentados na iteração anterior, e discutir o que pode ser alterado para as próximas iterações. Em seguida, novas reuniões são definidas, e este ciclo repete-se até o fim do projeto. Vamos começar? [Webinsider]
…………………………
Acompanhe o Webinsider no Twitter e no Facebook.
Rafael Dalosto
Rafael Dalosto (@Rafadalosto) é líder de equipe e desenvolvedor na Informant e atua desde 2010 na área de desenvolvimento de projetos de software, com uso de metodologias ágeis.
6 respostas
Ainda sim uma ótima tecnologia
Hoje em dia já existe alguma metodologia melhor? Considerando que o post é de 2012.
Boa dia, vou ler mais sobre Scrum
vivendo e aprendendo!
Nisan,
Poderia dizer que é extremamente eficiente para o desenvolvimento de sites. Você deve ter percebido que os clientes sempre querem mudar algo no site depois de terminado. Com scrum, o processo se torna cíclico e ele terá aprovado as “entregas” que você fez ao longo do desenvolvimento.
Pode parecer complicado marcar essas reuniões (que podem ser feitas remotamente), mas do ponto de vista dos clientes, você tem um diferencial em relação aos outros, pois ele é envolvido no processo. Seu trabalho fica muito mais transparente na visão dos clientes.
Abraço!
—
OBS: O artigo está muito bacana, tirando a parte institucional:
“Para isso, a Informant investe em metodologias de gerenciamento, como o Scrum, que é aplicada ao desenvolvimento de projetos, em busca de melhor controle sobre o planejamento estratégico, técnicas e qualidade do software”
Parece ser uma estratégia rápida e eficiente, mas minha dúvida é quanto a disponibilidade da equipe e dos clientes para constantes reuniões de definições de metas e funcionalidades a serem entregues. Parece seguir o lema “Dividir para conquistar”. Será que é eficiente tbm no desenvolvimento de websites?
A metodologia SCRUM é sensacional. Já existem ferramentas baseadas em web para gerenciamento de projetos em SCRUM. Uma delas é esse SCRUMRF, eu achei um review bem legal dele aqui:
http://www.tecnofagia.com/internet/ferramenta-online-gratis-para-gerenciamento-agil-de-projetos-scrum