Há muito tempo, estava querendo fazer um post sobre Scrum. Mas só agora realmente, tomei iniciativa em fazê-lo.
Falar sobre Scrum é algo fácil e ao mesmo tempo difícil. Fácil por ser algo simples, e é difícil, pois há muitas outras pessoas falando sobre ele, então a chance de fazer um “post papagaio” é grande. E quando falo de muitas outras pessoas falando sobre Scrum, não é apenas quantidade e sim muita qualidade. E isso é um ponto muito forte, que vejo do Scrum, ele é muito vivo! As pessoas pesquisam, discutem, “blogam”, etc sobre Scrum.
O intuito desse post é passar algumas opiniões que tenho sobre Scrum, e também “papagaiar” um pouco sobre ele, afinal para muitos ele é ainda apenas mais um buzzword. Espero que gostem, qualquer coisa só “cornetar”, ou melhor, comentar. 🙂
Mas afinal o que é Scrum?
Vou primeiro colocar a definição que entendo como a melhor, do Ken Schwaber, um dos criadores do Scrum, e depois colocar uma definição pessoal:
“Um processo Ágil ou ainda um framework para gerenciamento de projetos Ágeis. É um processo de gerência de projetos, certamente não é uma metodologia, pois isto seria pesado demais.” (Ken Schwaber)
Scrum são boas práticas para gerenciar projetos de forma a otimizar o ambiente de trabalho, motivar as pessoas e satisfazer as reais necessidades do cliente. (Fabrício Ferrari de Campos)
Mas por favor, não se apegue muito as definições, o importante é conhecer as práticas e conceitos que o Scrum traz e os benefícios que podemos ter aplicando-os na nossa empresa.
As características principais do Scrum são:
- Ágil;
- Empírico;
- Incremental;
- Iterativo.
Mas o que significa a sigla Scrum?
Que sigla?… Não, não. Scrum não é uma sigla, é o nome de um tipo de jogada que acontece no jogo de rugby para retornar a bola, onde é necessário a participação de todos os jogadores. Se um falhar, todos falham. Por isso que você ver uma imagem parecida com essa abaixo, em vários posts sobre Scrum (e não poderia ser diferente nesse…rsrs).
Quem é quem no Scrum?
O Scrum organiza de forma diferente os papéis existentes num projeto:
- Scrum Master: Remove os impedimentos, garante o uso do Scrum e protege o time de interferências externas. Líder colaborador!
- Product Owner (PO): Preocupado com o ROI, se voltará dinheiro para o bolso do cliente, conhece as necessidades do cliente, funciona como proxy em ambientes com mais de um cliente. Gerencia a visão e a entrega!
- Time: Formado geralmente por 4 ou 5 pessoas e multidisciplinar. Ele define metas das iterações, auto-gerenciado e produz produto com qualidade e valor para o cliente. Gerencia a sprint de desenvolvimento.
Como é o processo do Scrum?
Só clicar na imagem para vê-la ampliada.
Como você pode ter percebido, o Scrum tem um processo bem definido e neste ponto ele é rígido, até pelo fato dele determina poucas coisas (tanto que consegui ilustrar num único desenho), mas o que determina você tem que seguir. Por isso, é rígido.
Vantagens e Desvantagens
Como é de praxe ao conhecer algo novo, sempre buscamos saber quais são as vantagens e desvantagens, portanto, segue abaixo as principais vantagens e desvantagens do Scrum:
- Vantagens
- Os papéis são bem definidos, todos têm conhecimento sobre as suas responsabilidades;
- É um processo ágil e flexível, tornando melhor a reação as mudanças que ocorrem durante o projeto;
- É focado no controle e gerenciamento, buscando minimizar os riscos e maximizar a qualidade;
- Os times são pequenos, a comunicação é mais eficiente;
- Espírito colaborativo.
- Desvantagens
- Ausência de práticas de Engenharia de Software, pois é voltada para o gerenciamento do projeto;
- Necessita a associação de uma outra metodologia de Engenharia de Software, por exemplo XP;
- É difícil de ser implementada, principalmente devido a resistência de mudanças culturais.
As duas primeiras desvantagens poderiam até ser desconsideradas, pois Scrum é voltado para a gerência de projetos e não para o desenvolvimento.
Scrum é mais uma modinha? Ou veio para ficar?
Acredito que a resposta depende muito da perspectiva que a pessoa tem, pois olhando de fora parece sim mais uma modinha, assim como ocorreu com o PMBOK. Sendo simplista a pessoa poderia até pensar que é apenas mais uma metodologia que tenta ser melhor do que as demais. Porém, para quem tem uma visão interna, que está realmente envolvido com o dia-a-dia do projeto, Scrum veio para ficar sim, ou melhor, os seus valores vieram para ficar.
Daí você pode está se perguntando, mas que valores são esses?
- Transparência;
- Ser empírico;
- Auto-organização;
- Integridade;
- Entrega de valor.
Além disso, o Scrum também tem como base os princípios ágeis do manifesto ágil:
- Indivíduos e iteração entre eles mais que processos e ferramentas.
- Produto em funcionamento mais que documentação abrangente.
- Colaboração com o cliente mais que negociação de contratos.
- Responder a mudanças mais que seguir um plano.
Nossa! Então Scrum é a famosa bala de prata!? Irá resolver todos os meus problemas?
Eu particularmente, sou bastante cético quando alguém fala que tal metodologia, framework, etc irá garantir o sucesso do seu projeto de desenvolvimento de software. Por isso, minha opinião é a mesma com Scrum.
Para mim ele é muito bom! Dentre os conhecimentos que temos sobre metodologias e afins na empresa em que trabalho, é o que melhor se encaixou a nossa realidade e o que trouxe mais melhorias.
Mas voltando a pergunta original do tópico, ele não irá resolver todos os seus problemas, pelo contrário, ele irá torná-los mais visíveis, e esse é um ponto que acho incrível. Pois se algo não estiver indo bem todos irão perceber bem rápido. Aliás uma das ferramentas que o Scrum traz e que ajuda na visualização do andamento do projeto é o gráfico Burndown.
Qualquer pessoa, consegue identificar pelo gráfico acima, que a quantidade de testes automatizados esperada para o sprint 1 não foi alcançada. Eu poderia listar uma série de causas que fez com que o objetivo não fosse alcançado, afinal o gráfico apresenta um cenário real. Mas não é esse o intuito do post.
Portanto, precisamos nos lembrar que a metodologia em si não irá resolver os problemas, mas sim, poderá nos ajudar. Quem resolve os problemas são as pessoas!!!
Scrum é fácil de ser implantado?
Se fosse fácil qualquer um faria!
Há uma série de obstáculos que fazem com que a implantação do Scrum não seja uma missão fácil, entre eles:
- Não tem como você exigir que haja auto-gestão na sua equipe se ela não é uma característica dos membros da equipe;
- Implantar numa equipe grande demais (mais de 5 pessoas, por exemplo);
- O seu cliente não tem o menor interesse de cooperar. Ele é parecido com uma criança mimada que só quer e ainda bate o pé;
- O único comprometimento que os membros da sua equipe tem, é em relação ao salário deles.
Mas me diga uma coisa, alguém já disse para você que desenvolvimento de software é fácil?
É para todos os obstáculos apresentados há uma ou mais soluções:
- Treine a sua equipe, uma das maiores capacidades do ser humano é da aprendizagem, portanto incentive o seu uso;
- Divida a sua equipe, “modularize” melhor o sistema;
- Converse com o seu cliente, explique que a cooperação dele é fundamental para o sucesso do projeto;
- Motive a sua equipe, mostre que o que ela faz não é apenas garantir a própria sobrevivência.
Portanto, temos que está sempre preparados para superar os obstáculos, transformando-os em motivação. Afinal seria muito chato se você chegasse no trabalho e fizesse sempre o mesmo trabalhinho sem a menor dificuldade. 😉
Última pergunta. Por que falam tanto sobre Scrum?
No meu entender são dois motivos principais:
- Scrum está dando certo na empresas;
- As pessoas gostam de trabalhar com Scrum.
Quando você faz alguma coisa é dá certo, qual é a sua reação? Conta para outras pessoas, não é!? E irá contar para mais pessoas ainda quando você gosta do que está fazendo. Eu mesmo, falo sobre Teste e Qualidade de Software porque gosto, simples assim. E estou agora falando sobre Scrum pelo mesmo motivo. 🙂
Mas por favor, não interprete errado a minha simples pesquisa, não estou falando que usar as práticas do PMBOK não dá certo, ou coisas do gênero.
Minha intenção é que esse seja o primeiro de muitos posts sobre Scrum, afinal esse foi mais um bombardeio de informações. Até mais!
Fique por dentro das novidades, assine o feed do QualidadeBR.
Fonte:
Você sabe o que é Scrum? – Nelson Abu
Scrum é um framework? – Luiz Claudio Parzianello
Scrum Gathering 2009 – Primeiro dia – Parte 2 – André Pantalião
SCRUM Processo de Desenvolvimento de Software – Dra. Eliane Martins (UNICAMP)
Magno, A. Apresentação do curso Certified Scrum Master (CSM). São Paulo, Caelum, 2008.
Imagens:
Formação do Scrum – Faculdade Oberlin
Define metas das iterações, auto-gerenciado e produz produto com qualidade e valor para o cliente. Gerencia a sprint de desenvolvimento.