Scrum

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).

Fonte: Colégio Oberlin

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.

O ciclo de trabalho do Scrum

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.

Sprint 1 - 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?

Comparação pesquisa feita no Google

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.

12 comentários sobre “Scrum

  1. Ótimo post Fabricio, como sempre… 😀
    Mas cara, o Scrum ainda é modinha em diversas empresas sim… Tem gente que utiliza Scrum mas não quer que os problemas aparecam no ScrumBoard… tornando-se uma anti-prática do mesmo.
    Especialmente na aplicação do Scrum em projetos de Teste de Software ele se torna um pouco diferente. Como tenho tido experiência nisso durante os ultimos 5 meses, de nada adianta tu querer colocar a metodologia Scrum se o cliente tem uma outra metodologia ou forma de pensar, mesmo que ele colabore.
    Um grande peoblema que pode ocorrer é que as métricas podem não ser tão bem coletadas, pois todo o time “ágil” estará voltado para apresentar resultados, não preencher dados históricos, mas isso torna-se um tiro no pé!
    Pelo menos o Scrum ainda tem muito o que amadurecer em Teste de Software, com adaptações e tal, mas ele fica 100% se o proprio desenvimento for Ágil.
    Com isso agora me deu até vontade de blogar sobre o que acontece la na empresa com Scrum 😀

    Abraços!

    Responder
    • É Elias… quando o cliente tem uma outra forma de pensar as coisas se tornam complicadas. Vejo que esse é um dos maiores obstáculos para adoção do Scrum. Pois se mudar a visão das pessoas que trabalham com você já é uma missão difícil, imagina só mudar a visão do seu cliente. :s

      Numa situação dessa você terá que, literalmente, vender a idéia de Scrum para o cliente. Tem um vídeo interessante sobre “Padrões para Introduzir Novas Idéias” aqui, talvez possa ser útil: http://www.vimeo.com/4766693

      E como o cliente sempre quer dados reais, uma boa é você mostrar algumas estatísticas internas ou externas (ex. o chaos reports). E ainda poderia apresentar alguns cases de sucesso brasileiros, como por exemplo o da Globo.com.

      Quanto a adaptação do Scrum ao Teste de Software, eu vejo que é algo bem difícil, pois ele é focado na gerência de projetos. Portanto ele não irá te fornecer nenhuma informação de qual abordagem usar no Teste de Software. Para isso será necessário acoplar uma metodologia de desenvolvimento de software.

      A maioria dos cases que vejo por aí, o pessoal costuma usar XP com Scrum, é a “combinação porreta”! (rsrs).

      Na empresa mesmo, temos adotados práticas de XP junto com o Scrum. Mas ainda não conseguimos colocar a equipe de testes realmente dentro do sprint, o que temos são apenas alguns retestes e testes de regressão feitos. Ainda necessitamos de um grande tempo para os testes de aceitação, feitos pela nossa equipe de teste interna. Essa é a parte que nos mais machuca, pois não é ágil. 😦

      Mas estamos pensando em soluções para minimizar essa etapa não-ágil. 🙂

      Abraços! E obrigado pelo comentário Elias e Rodrigo!

  2. Parabéns pelo Post…

    Informações muito úteis para aquelas pessoas que estão iniciando suas pesquisas sobre o Scrum.

    Abraço.

    Responder
  3. muito bom o post, na empresa que trabalho existe um núcleo de desenvolvimento que está adotando SCRUM, estou tendo que estudar um pouco para adaptar o nosso processo (Fábrica de Software) a metodologia ágil.

    Abraço.

    Responder
  4. Pingback: Gerente X Capataz « QualidadeBR

  5. Pingback: Cobertura CInTeQ 2010 – Dia 2 (parte 1) « QualidadeBR

  6. Pingback: Você precisa de Agile? « QualidadeBR

  7. Pingback: Vocabulário básico para testadores ágeis « The Bug Bang Theory

  8. Pingback: Começando a estudar Scrum! « Vinicius Sabadoti

  9. eu só gostaria de comentar, a respeito da imagem sobre o processo do scrum, que o Scrum Master NÃO planeja a sprint. Isso é feito pelo PO e pelo time. Tanto é que o Scrum Master NÃO precisa participar da sprint planning. []’s. no mais, parabéns pela iniciativa.

    Responder
    • Correto Marco . Estou em um grupo que esta fazendo a certificação e acreditamos que o papel do Scrum Master necessita de um profissional muito mais equilibrado nos aspectos sociológicos do que propriamente alguém que se envolva em negociações de cronograma . Esse papel , o PO negocia com sponsor e o gerente de projetos. Quanto ao teste de software, ainda não há como realizar os testes disponíveis e conhecidos pois não há tempo hábil para se criar case tests na analise pelo tempo de execução previsto para entrega das sprints. Nesse caso, quanto a qualidade e homologação de software , devemos ter por um bom tempo ainda metodologias complementares ao ágil para garantir qualidade em todas as fases do projeto.

      Parabéns pela matéria . Com certeza será matéria de reflexão para todos nos que estamos atrás de conhecer mais e mais das praticas ágeis.

Deixe um comentário