18 de set de 2017

Metodologia Scrum e Agile – o que são e como aplicá-las?

Udacity Brasil

A metodologia Agile, como o próprio nome já diz, é utilizada para tornar os processos empresariais mais ágeis, sobretudo o desenvolvimento de sistemas. Dentro das metodologias ágeis, o framework Scrum é um dos mais difundidos e utilizados. Juntos permitem controlar de forma eficiente as atividades realizadas, incentivando as equipes a trabalharem com foco em um objetivo comum.

Além de otimizar a definição de metas, o Scrum assegura a geração de valor em um projeto, uma forma de trabalho inovadora que tem sido adotada por grandes empresas.

O que é metodologia Agile

A metodologia Agile, ou ágil em português, se consolidou nos últimos anos como uma alternativa para atender às demandas de clientes e projetos de forma dinâmica, flexível e com grande aumento de produtividade.

No desenvolvimento ágil, é utilizada uma abordagem de planejamento iterativa. Enquanto no método tradicional todas as etapas do projeto são documentadas detalhadamente, desde o início até o fim do projeto, esse processo no método ágil é realizado em etapas curtas, chamadas iterações.

Leia: 'Black Mirror' da vida real: saiba que tecnologias da série já existem

Fundamentos da metodologia Agile

A metodologia Agile, nos moldes como é conhecida atualmente, foi concebida no início de 2001. Um grupo de 17 conceituados desenvolvedores de software se reuniu para aprimorar conceitos e metodologias ágeis existentes e formular o “Manifesto para o Desenvolvimento Ágil de Software”. Assinado pelos 17 desenvolvedores, ele reúne quatro valores e 12 princípios.

Os valores determinam o que deve ser priorizado:

  1. Os indivíduos e as interações entre eles mais que os processos e as ferramentas;
  • O software funcionando mais do que uma documentação completa e abrangente;
  • A colaboração com e dos clientes mais do que as negociações de contratos; e
  • Respostas às mudanças mais do que seguir o plano inicial.

Já os princípios são:

  • A maior prioridade é satisfazer o cliente com a entrega adiantada e contínua de software de valor;
  • Aceitar mudanças de requisitos, mesmo no fim do desenvolvimento. Processos ágeis se adequam a mudanças para que o cliente possa tirar vantagens competitivas;
  • Entregar software funcionando com frequência, preferencialmente em semanas;
  • Cooperação diária entre pessoas que entendem do "negócio" e desenvolvedores;
  • Projetos surgem por meio de indivíduos motivados, entre os quais existe relação de confiança.
  • A maneira mais eficaz e eficiente de transmitir informações é por conversas frente a frente;
  • Softwares funcionais são a principal medida de progresso do projeto;
  • Processos ágeis promovem um ambiente sustentável. Os patrocinadores, desenvolvedores e usuários devem ser capazes de manter, indefinidamente, passos constantes;
  • Contínua atenção à excelência técnica e bom design aumenta a agilidade;
  • Simplicidade é essencial. Cultivar a arte de maximizar a quantidade de trabalho que não precisou ser feito;
  • As melhores arquiteturas, requisitos e projetos emergem de equipes auto-organizadas;
  • Em intervalos regulares, o time reflete sobre como se tornar mais efetivo e, então, se ajustam e otimizam seu comportamento de acordo.

Como funciona o framework Scrum

Entre as diversas metodologias ágeis usadas por desenvolvedores, o framework Scrum é uma das mais difundidas, especialmente pelo formato dinâmico como as etapas dos projetos são desenvolvidas.

Em um projeto realizado utilizando o Scrum, a execução acontece em iterações, as chamadas sprints. São ciclos de desenvolvimento que começam em uma reunião de planejamento (Sprint Planning) e terminam com outros dois eventos:

  • A revisão da sprint (Sprint Review), em que o produto é demonstrado
  • A retrospectiva da sprint (Sprint Retrospective), em que o time afia seus processos ao refletir sobre os aprendizados que tiveram naquele ciclo.

O desenvolvimento é acompanhado por reuniões diárias em pé, as chamadas Daily Scrum.

Uma sprint pode durar qualquer unidade de tempo, mas a recomendação é que as mais curtas levem uma semana e as mais longas, um mês. Quando um time define um padrão de duração da Sprint, ele costuma ser usado em todas as iterações do projeto. As sprints são sucessivas e, assim, a seguinte somente é iniciada ao fim da anterior.

No Scrum, três papéis são definidos para a divisão dos membros envolvidos num projeto:

Product Owner

Atua como o “dono” do projeto. Será o responsável por definir prioridades a serem desenvolvidas em cada sprint e fará a intermediação entre a área de negócios e a equipe de scrum.

Scrum Master

Atua como um líder-servo, blindando os demais membros e assegurando que a equipe siga a metodologia do Scrum sem interrupções externas. É também o responsável por remover obstáculos que possam prejudicar o desenvolvimento realizado pela equipe e ajudá-la a cumprir suas tarefas com a melhor performance possível.

Scrum Team

A equipe de desenvolvimento. Todos devem se comprometer em realizar as entregas estabelecidas dentro de uma Sprint. Para tal, é necessário que haja maturidade suficiente de cada membro para a execução de sua função e, quando preciso, solicite auxílio. Para a eficiência do Scrum, é recomendável que essas equipes sejam compostas por membros multidisciplinares e não envolvam muitos participantes.

As 4 iterações do Scrum

Sprint Planning

O planejamento da sprint é realizado nessa reunião, em que será definido como o trabalho da equipe será feito dentro do período estabelecido. Nesse momento, devem ser priorizadas as atividades do product backlog — descrições de todas as funcionalidades desejadas para o produto — que passarão a integrar o sprint backlog.

É importante ressaltar que o backlog é composto pelo repositório de projetos e ações da empresa. Em cada sprint, seleciona-se, de acordo com a prioridade e dificuldade do projeto, os projetos que sairão do backlog e comporão a sprint.

Daily Scrum

Diariamente, a equipe de desenvolvimento deve se reunir para discutir aquilo que tem sido desenvolvido dentro da sprint. Essa reunião deve ser rápida e, preferencialmente, não durar mais que 15 minutos. Nela, serão respondidas três perguntas por cada membro da equipe:

  • O que foi feito ontem para ajudar a equipe de desenvolvimento a atender a meta da sprint?
  • O que será feito hoje para ajudar a equipe de desenvolvimento a atender a meta da sprint?
  • Há algum obstáculo que impeça o atendimento da meta da sprint?

Se houver uma resposta afirmativa para a última pergunta, o Scrum Master deverá buscar rapidamente uma solução para que o desenvolvimento da sprint siga conforme o planejado. Por isso é importante que ele tenha autonomia na organização para corrigir problemas no processo.

Sprint Meeting Review

Ao final da sprint, uma reunião de revisão é realizada para a discussão daquilo que foi desenvolvido naquele ciclo. Caberá ao Product Owner analisar se cada tarefa foi concluída conforme o esperado ou se alguma delas deverá retornar ao Product Backlog para a inclusão em uma nova sprint.

Sprint Retrospective

A reunião de retrospectiva da sprint é realizada após a reunião de revisão e anteriormente à reunião de planejamento, para que seja discutido um plano de melhorias. O objetivo dessa reunião é promover a colaboração entre os membros da equipe de desenvolvimento para corrigir possíveis desvios de rota e aprimorar aquilo que já está nos trilhos.

Por que as empresas utilizam o Scrum?

Em qualquer gerenciamento de projeto, os pilares buscados são a diminuição de custos, entregas mais rápidas e com maior qualidade. Em suma, as empresas que recorrem ao Scrum miram esses três objetivos numa única metodologia.

De forma geral, os projetos são desenvolvidos para a criação ou melhoria de um produto, pensando em necessidades de mercado que podem se transformar rapidamente, de acordo com o segmento de cada cliente.

Com as entregas parciais a cada sprint, o Scrum permite que o projeto seja construído aos poucos e novas funcionalidades possam ser integradas. Dessa forma, a metodologia permite que os produtos sejam lançados, testados e validados no mercado rapidamente, reduzindo o “time-to-market”.

Uma vez que o Product Owner priorizará atividades mais importantes para a realização do projeto, haverá a segurança de que os requisitos de maior valor para o negócio terão sua entrega privilegiada pelo time de desenvolvimento. Ou seja, aquilo que é primordial para o cliente receberá atenção especial, enquanto funcionalidades secundárias tendem a levar mais tempo para entrar em uma sprint.

Por consequência, o Scrum agrega maior valor ao negócio e em menor tempo, o que diminui os custos de operação e potencializa o ROI desses projetos.

Espaço para alterações

Da mesma forma em que são estabelecidas prioridades para o desenvolvimento no projeto, o Scrum abre espaço para atender à necessidade de mudanças no decorrer desse processo, na medida em que o desenvolvimento é realizado em curtas etapas, com entregas parciais.

Enquanto as metodologias tradicionais não proporcionavam a liberdade para que alterações fossem implementadas durante o projeto — era necessário aguardar a entrega final para testar suas aplicações —, os desenvolvedores estão mais capacitados a absorver a necessidade de mudanças com a adoção de metodologias ágeis e podem modificar o escopo do projeto.

Nesse sentido, há um claro aumento de competitividade das empresas que recorrem ao Scrum. Com as entregas parciais daquilo que é desenvolvido e os testes realizados ao fim de cada sprint, há a possibilidade de o projeto ser modificado para atender a novas demandas do cliente e as prioridades serem alteradas no backlog já no próximo ciclo de produção.

Metodologia Scrum e Agile têm se consolidado como alternativas para o desenvolvimento de sistemas com rapidez e eficiência, permitindo não apenas a redução de tempo, como também de gastos.

Todavia, o gestor de projetos deverá conhecer diferentes técnicas, a fim de definir aquela que será a mais adequada para as necessidades de sua empresa. Nesse sentido, é possível aplicar Scrum e outras metodologias ágeis em soluções híbridas.

Leia também:

Sobre o autor
Udacity Brasil

A Udacity, conhecida como a "Universidade do Vale do Silício", é uma plataforma online e global que conecta educação e mercado para ensinar as habilidades do futuro – de data science e marketing digital à inteligência artificial e desenvolvimento. Hoje, há mais de 7 mil alunos ativos no país e 50 mil pelo mundo.