A metodologia scrum foi criada por Jeff Sutherland, piloto norte americano da aeronáutica. Para Jeff, jamais existirá uma fórmula fixa para se fazer o que se faz, mesmo que a mesma coisa já seja executada há muitos anos.
E isso é fato: todo projeto tem seus ajustes, mesmo que esse projeto seja algo extremamente simples, como a produção de um copo.
Se a demanda por copos aumenta, algo precisa ser revisto em seu ciclo produtivo, e é justamente aí que o método scrum entrada.
Com o passar do tempo, o método scrum foi incorporado com maior aderência em equipes de desenvolvimento de software, por conta da complexidade versus necessidade de rapidez nas entregas.
Se você trabalha em equipes de desenvolvimento, em algum momento da sua vida irá se deparar com alguma empresa que usa o método scrum, considerando que entender de scrum é uma exigência em várias corporações.
Se você busca uma leitura prática, direta e completa sobre o que é e como executar o método scrum, está no lugar certo.
Vamos lá?
Metodologia Scrum: do que estamos falando?
Afinal, o que é Scrum? De maneira prática, nós podemos dizer que o método scrum propicia a criação de soluções “fora da caixa” para problemas complexos. E claro, o objetivo final é sempre a agilidade na entrega de uma solução que deixe alguém feliz.
A fórmula é: agilidade + eficiência.
Podemos, sim, dizer que o método scrum é o uso da criatividade para o desenvolvimento de um projeto. No contexto de TI, para o desenvolvimento de soluções. Na realidade o scrum é um método, mas não a metodologia ágil em si, já que existem várias, como Kanban e Lean
Isso quer dizer que Scrum, Kanban e Lean são frameworks por onde qualquer metodologia ágil flui.
Se um projeto é longo e complexo demais, ele precisa ser fragmentado e ao mesmo tempo ser acompanhado. Caso contrário vira bagunça, certo? E é a partir daí que você começa a entender a importância do scrum.
Sim, podemos definir o scrum como uma espécie de rede de priorização e acompanhamento, que gera eficiência e reduz o gasto de tempo. É a essência da praticidade.
>>Leitura recomendada:
Se quiser saber mais sobre outras metodologias ágeis, confira este artigo aqui!
O diferencial da metodologia scrum
Método Scrum |
Outras formas de trabalho |
Foco interativo, nas pessoas, conexões e trocas de conhecimento. | Ênfase maior em processos, ferramentas e menos interação entre equipes. |
Máquina rodando. Produto ou serviços fluindo, funcionamento satisfatório. | Documentação excessiva, demora para execução e ação, planejamento excessivo. |
Interação com o cliente. Colaboração com suas dores, absorção de feedback e mais eficaz resolução dos seus problemas. | Negociação de contratos, foco em pura receita, sem a real necessidade de resolução de problema. |
Abraçar mudanças e ter flexibilidade para mudar o curso de um projeto. | Seguir um plano do começo ao fim. Com rigor e rigidez. |
Por que DEVs precisam aprender Scrum?
Ambiente adaptativo e criativo
O que toma mais tempo de uma equipe, não só de desenvolvimento, mas de qualquer área, é a inflexibilidade na hora de resolver um problema. Acreditar que só existe uma ou duas maneiras de resolver um mesmo problema é assinar um atestado de não agilidade.
Isto é, no velho de bom português, de lentidão mesmo. Se o Scrum Master – falaremos mais adiante desse profissional – levar a sério o método scrum várias soluções criativas surgirão, criando um terreno fértil de ideias e ciência, onde várias hipóteses poderão coexistir, ser testadas e as melhores implementadas.
Isso é transformar problemas em oportunidades. E, sim, também é trocar o motor de um carro em movimento. Lembra aquele ditado “várias cabeças pensam melhor do que uma”? Então, justamente disso que falamos.
Transparência no workflow
Além de desconstruir um escopo fixo e engessado de trabalho, no scrum todos do projeto acompanham o que já foi feito, o que está sendo feito, o que está sendo testado, o que foi efetivamente aprovado e o que ainda será executado (o nosso famoso backlog).
Isso porque, no scrum, as agendas são abertas e não existe necessariamente um “dono” para determinadas atividades em um time de desenvolvimento.
É claro que, usualmente, o Scrum Master, o Product Manager e alguns desenvolvedores (dependendo da estrutura da área), tem atividades bem delimitadas.
A mensagem do scrum é basicamente: o que está no sprint precisará ser feito. E é perfeitamente cabível que o dono da atividade seja alterado.
>>Leitura Recomendada:
A junção do Behavior Driven Development e metodologia ágil
Trabalho ágil e colaborativo entre equipes
Quando se conhece as prioridades e também o andamento da execução dos projetos, a entrega fica muito mais fácil.
Até porque o gestor do projeto conseguirá alocar a atividade para outra pessoa, se preciso for, como também poderá conversar com o atual executor, em casos de nítidos atrasos. O trabalho colaborativo é forte no scrum.
É também com o método scrum que as equipes entenderão melhor o papel de cada um, em cada etapa.
“Vi no scrum que o responsável pela task é o João. Como meu trabalho é a continuidade do dele, pedirei para que faça x, ao invés de y”.
Com isso, a equipe pode interagir mais entre si, sem precisar necessariamente da ponte de um gestor direto.
>>Leitura Recomendada:
Dicas essenciais para Gestão de Projetos em T.I
Autogerenciamento
Quando o colaborador tem um representação gráfica da sua produtividade e do urgência, já sabe o ritmo que deverá ter em tais dias, semanas ou meses.
O autogerenciamento é especialmente especial em times de desenvolvimento de software, já que cada “problema” tem um impacto diferente no produto.
>>Leitura recomendada:
Qual é o seu papel na equipe de desenvolvimento? Veja o panorama de salário de programador em 2019!
Conceitos do Scrum: por onde começar?
Conceitos Scrum |
Outras formas de trabalho |
Daily Scrum |
A DS também é uma reunião, só que diária e de acompanhamento. Se a execução está tomando caminhos errados, a DS indica e aí o Gestor do Projeto, o Scrum Master, pode convocar uma reunião de revisão do sprint e, em seguida, uma nova de planejamento. O intuito de todas as reuniões de Scrum é agilidade. |
Product Backlog |
Aqui constam os principais pontos a serem “atacados” em cada projeto. Se falarmos de um projeto de desenvolvimento, o backlog de Produto nada mais é do que as features que precisam ser produzidas. O esmiuçado das atividades será feito no Sprint Backlog. |
Sprint Backlog |
O Sprint Backlog é o banco de atividades de cada sprint. É diferente de Product Backlog, pois abrange apenas as atividades definidas em cada sprint. |
Sprint Planning Meeting |
Os sprints são fases ou etapas do trabalho no scrum. Assim como as SRMs, as SPMs são reuniões de sprint. No entanto, são reuniões para planejar o sprint. |
Sprint Retrospective |
Ao final de um sprint, acontece uma outra reunião, chamada Sprint Retrospective. Essa reunião serve debater o que deu certo, oo que não, o que pode ser melhorado e o que é preciso fazer para melhorar. Essa reunião costuma ter alguns entregáveis em nível de otimização. |
Sprint Review Meeting |
SRM é como chamam as reuniões de revisão do sprint, que podem ser feitas no start de cada um. É feita para priorizar as atividades que constam no backlog de produto (product backlog). Correspondem à execução periódica. |
Release Burndown |
Ao final de cada sprint, há atualização do progresso (andamento do projeto). Essa atualização chama-se Release Burndown. Tudo isso éapresentado, geralmente, por meio de um diagrama, onde o eixo horizontal representa os sprints, enquanto o vertical representa o que ainda falta ser feito. |
Burnup chart |
O Burnup Chart é a representação gráfica das entregas, relacionando com a entrega da versão final de uma solução. Aqui é mais macro, por isso não está ligado ao sprint, mas ao Backlog de Produto, onde falamos de features. |
Histórias |
As histórias são atividades do backlog de produto. Uma única história pode ser quebrada em várias atividades de um sprint. Já os Pontos de História expressa a complexidade de cumprimento de uma história. |
Impedimentos | Impedimentos, como o próprio nome diz, são problemas que ocorrem no percurso. O problema pode ser tanto no sprint, como na entrega de uma história. |
Timebox |
É o tempo de execução de um sprint. Existem sprints que duram uma semana, e outros que duram um mês, dependendo da dinâmica e disponibilidade. |
Estimativa |
A estimativa é um scoring da complexidade de realização de uma história. |
Quem faz parte do time Scrum?
Product Manager
O Product Manager – que também é conhecimento como Product Owner – nada mais é do que o responsável pelo backlog de produto. É o responsável maior por melhorar o produto e está diretamente conectado à negócios. O Product Manager cria e prioriza as histórias e também pode inferir nas atividades fragmentadas do sprint.
Ele deve entender de comportamento consumidor, e mergulhar profundamente na persona. É a pessoa que dirá quando uma feature deve ser criada, se transformar ou simplesmente deixar de existir. Isso porque ele tem o poder de mercado, o controle dos dados. Ele também deve entender de desenvolvimento, já que por priorizar uma história, deve ter noção de quanto tempo leva para ser implantada e da sua complexidade.
Scrum Master
O Scrum Master dá muito suporte ao trabalho do Product Manager e também está lado a lado com a equipe de desenvolvimento. Também atua diretamente na gestão do backlog de produto. É o Scrum Master que ajuda a equipe de Desenvolvimento a “vencer” problemas de execução e atuando diretamente como gestor de operação. O Scrum Master também deve prezar pelas diretrizes do Scrum, utilizando de todos os artifícios já validados pela metodologia para melhorar o desempenho do time de DEV.
É a pessoa que motiva, “defende” e ajuda a equipe a produzir melhor.
Desenvolvedores
A equipe de desenvolvimento atua mais na operação e menos na estratégia. Se dentro do método scrum, devem praticar autogestão e são responsáveis diretos pela execução do sprint. Geralmente, em um único time scrum, estamos falando de no mínimo 4 e no máximo 10 desenvolvedores. No contexto de desenvolvimento de software, podemos contemplar diversos profissionais:
- Arquiteto de Software
- Programador Back-end, Front-end e Full-stack
- Testador
- UX
- Entre vários outros.
>>Leitura recomendada:
QA Scrum: como a metodologia otimizar os testes ágeis?
Scrum na prática: As etapas da metodologia ágil
Sprint
Como já falamos antes, o sprint é o período de cumprimento das tasks das histórias, que são definidas na reunião de Planning.
Na imagem acima, podemos ver que a reunião de Planning é dividida em duas etapas: a montagem do backlog de produto e das histórias e depois na fragmentação de histórias em tasks, para que o Scrum Master consiga efetivamente passar os próximos passos para a equipe.
O que é importante lembrar sobre o Sprint:
O Sprint será sempre um resultado das histórias do backlog de produto. E, claro, será por meio do Sprint que será gerado o insumo para a montagem do scrum.
Alinhamento periódico
Dentro de alinhamentos periódicos, nós temos vários “encontros”: o daily scrum, que é o acompanhamento diário, o Planning Meeting (que é o Sprint Meeting), o Review e o Retrospective Meeting, que podem ser realizados em uma mesma ocasião.
O que é importante lembrar sobre o Alinhamento periódico:
Não existe um prazo fechado para as reuniões. Elas podem ser convocadas sempre o que Product Manager sentir necessidade ou precisar passar algo sobre negócios e estratégia, ou sempre que algo tiver que ser priorizado ou acelerado, geralmente pelo Scrum Master.
Acompanhamento do Sprint
O acompanhamento do sprint é feito pelo Scrum Master e é outra etapa bem importante do método scrum. Como todas as atividades estão dispostas para a visualização de todos, o andamento do projeto é acompanhado por todos.
No entanto, a cobrança, a aceleração do projeto e a priorização de tasks fica por conta do Scrum Master, que além de acompanhar graficamente o andamento, também o faz pelas reuniões diárias que você já ouviu falar: os Daily Scrums.
O que é importante lembrar sobre o Acompanhamento de Sprint:
Embora a gestão do projeto fique oficialmente na mão do Scrum Master, o acompanhamento do Scrum é responsabilidade de todos. Lembra que falamos sobre as atividades terem um dono, mas ao mesmo tempo não?
Isso quer dizer que a execução de determinadas tarefas podem ser alocadas, transferidas para outras pessoas, de modo que o projeto flua bem e prazos não sejam estourados.
Como aplicar Scrum?
O framework scrum pode ser aplicado de maneiras diferentes entre times, então é sempre importante frisar que as dicas que vamos dar são adaptáveis.
As fases básicas do scrum são planejamento, execução, revisão e otimização.
O que a equipe da GeekHunter indica:
Estudos de Scrum
Comece lendo o Guia Scrum por completo. Não importa se você Aqui está o Guia Scrum em Português e em PDF, escrito pelos próprios criadores. Vale a pena!
Product Backlog
Essa é uma das partes mais importantes de um projeto Scrum. O que é necessário para começar? Quais atividades o produto precisa para começar a andar? É importante frisar que as atividades precisam ser priorizadas, caso contrário o projeto não anda.
O método de priorização ICE (Impact, Confidence, Reach, Effort), criado pelo Growth Hacker e empreendedor Sean Ellis, tende a fortalecer bastante o modelo scrum, embora não tenham nascido juntos.
Time Scrum
Quem fará o que? Nós sabemos que no time scrum não há muito espaço para “estrelas”, ou pessoas com ego inflado que se recusam a abraçar responsabilidades.
As pessoas se ajudam, mas as lideranças precisam ser muito bem definidas. Isto é, é importante escolher dentre os DEVs — geralmente — alguém com boa comunicação e inteligência interpessoal, já que essa pessoas será responsável por guiar o grupo. “Mas precisa necessariamente ser um DEV?”
Nem sempre, pode apenas ser um bom gestor de projeto com conhecimentos em TI. No entanto, se for alguém que entende e se dá bem com o time, os resultados tendem a ser potencializados.
Montando o Sprint
Agora que os papéis principais já foram definidos, as lideranças bem acertadas e o backlog calibrado, é hora de priorizar e escolher os responsáveis pelas tasks.
A equipe scrum pode tanto utilizar o método ICE para priorização, ou também pode definir o que virá primeiro junto ao PO e ao SM.
Agora um ponto bem importante: geralmente os sprints ocupam períodos semanais, embora alguns times optem por fazer mensal. Particularmente, na GeekHunter, achamos mais efetivo fazer semanalmente.
Execução e revisão de sprint
Agora que já temos responsáveis e priorização é preciso entender, diariamente, como as tasks estão andando. Nada de prestação de contas ou pressão, essa reunião diária serve apenas para alinhamentos e possíveis destravamentos de tasks. Esse papel é um dos principais do SM.
Tudo isso é feito no que chamamos de Daily Scrum Meeting.
Perguntas comuns do Daily Scrum Meeting:
1. Você vem trabalhando no quê?
2. Hoje, o que você fará?
3. Está seguindo a priorização conforme combinado?
4. Você precisa de ajuda? Existe algo que necessita destravar?
Obs:. No modelo scrum, todos os membros praticam a autogestão. Então o Daily Scrum Meeting jamais deve ser considerado uma prestação de contas, mas sim, uma prática de alinhamento, comunicação e interação entre o time.
Os alinhamentos podem rolar diariamente, como no Daily Scrum Meeting, ou em reuniões de retrospectiva, onde o foco sai do trabalho de cada um e vai para o cenário geral de desempenho da equipe.
Ferramentas para usar a metodologia ágil Scrum
Trello
O Trello possui uma interface extremamente prática. Aqui na Geek nós utilizamos e temos um ótimo ganho de tempo.
Por meio de colunas é possível segmentar grupos de tasks e movê-las com facilidade. Também é possível, dentro da tarefa, especificar seu escopo, os responsáveis, o deadline e trabalhar com etiquetas (que segmentam ainda mais).
Também é possível comentar, fornecer feedbacks e fazer alinhamentos no ambiente. A grande vantagem do Trello é que, já na versão gratuita, oferece muito mais funcionalidades do que qualquer outro framework.
Um exemplo de uso seria:
Criar colunas “Product Backlog”, “Backlog Sprint”, “Doing”, “Done”, pode ajudar no manejo de atividades. As etiquetas podem servir para priorização, fornecendo pontos para histórias e também para tasks. E além disso, também é interessante marcar o Scrum Master nas tasks, para que receba dúvidas e consiga fazer alinhamentos no próprio ambiente.
Asana
Funcionalmente o Asana é bem parecido com Trello. O Asana, no entanto, possui algumas funcionalidades adicionais, como monitoramento de bugs, feedback e lançamento de produto, além de uma hierarquia de permissões, que é bem importante para agilidade do projeto. E o melhor: assim como o Trello também possui versão free.
O Asana também apresenta relatórios de desempenho por membro do projeto, bem como progresso para entrega do produto final.
Todas essas features tornam o Asana uma ferramenta mais poderosa para equipes de TI mais maduras.