Curso CSM – Certificação Scrum

Depois de trabalhar alguns anos com Scrum, tive a oportunidade de participar do curso de certificação CSM ministrado por Alexandre Magno da AdaptWorks, que é reconhecido mundialmente pela Scrum Alliance.

O curso tem 16 horas de duração divido em dois dias. A minha turma estava bem heterogênea, composta desde programadores, desenvolvedores, líderes técnicos, arquitetos, gerentes de projetos, gerentes de desenvolvimento… entre outros cargos tendo o software em comum.

Preparei-me para o curso anotando em um rascunho várias dúvidas que acumulei durante o tempo que tive em contato com o framework. Dúvidas que eu não havia encontrado no Scrum Guide, fóruns, listas de discussões, blogs… nem conversando com pessoas que tinham vivência com o Scrum. O engraçado de questionar as pessoas que tem um pouco de experiência em Scrum é que ao receberem alguma pergunta (na maioria das vezes perguntas complexas) sobre o Scrum, a resposta by default era:

“Então… é assim porque o Scrum fala que tem que ser assim!”

Na minha cabeça também vinha uma resposta por padrão:

“Que jóia! Fiquei na mesma!”

E continuava com as dúvidas…

O Scrum em si é bem simples, o framework segue alguns conceitos básicos e regras bem definidas.OK! Mas o quê afinal é o Scrum?

O Scrum é um framework de desenvolvimento iterativo e incremental utilizado para gerenciamento de projetos e desenvolvimento ágil de software.

Seu foco principal é a aplicação em sistemas complexos. Eu disse complexos! Li muita coisa equivocada por aí… várias pessoas escrevendo em artigos, livros, revistas, blogs entre outros, tratando o Scrum como o solução para os principais problemas de desenvolvimento de software: produtividade, agilidade, qualidade, satisfação do cliente…

Se o sistema a ser desenvolvido é simples, então por quê utilizar Scrum? Se você sabe exatamente o escopo, prazo, custo do seu projeto, esqueça Scrum!

Ah… mas o Abilio tem uma empresa que desenvolve sistema para locadoras de DVDs e lá eles utilizam Scrum.Tá errado?!

Você pode escolher uma entre as várias metodologias tradicionais que aprendemos em Engenharia de Software e aplicá-la no seu projeto. Afinal, a maioria delas segue um modelo definido de desenvolvimento de software baseado em fases e atividades.

No decorrer de minha vida me deparei com comentários do tipo:

“Desenvolver software é que nem construir um prédio. Você faz a fundação e vai levantando as paredes… depois faz o acabamento e pronto”.

Só uma pergunta: Vocês já viram ou acham que é possível durante a construção de um prédio ocorrer alguma mudança porque o cliente solicitou? Algo do tipo:

Hum… não gostei desse quarto! Vocês poderiam aumentar somente o quarto do apartamento número 10? Ah… outra coisa: Gostaria que a sacada fosse maior também… porque quero assar um boi inteiro nos fins de ano porque a minha família é muito grande. Sabe como é né?!

Desculpe informar, mas isso não é possível! Em construções deste tipo o escopo é fechado. Sendo assim, vocẽ consegue mensurar facilmente as variáveis: prazo, custo e a data de entrega.

E em software? Durante o decorrer do desenvolvimento, o cliente não muda de ideia? Em alguns casos o cliente nem sequer sabe o que ele realmente precisa. Aí você me pergunta:

E com Scrum, eu consigo fazer alterações durante a criação do software?

É claro! Alterações são bem vindas! Como no Scrum o cliente participa ativamente no desenvolvimento do projeto, ele acompanhará as mudanças e saberá dos riscos de tais alterações, e melhor… ele saberá a data em que as próximas funcionalidade serão entregues a ele. As entregas acontecem nos finais de cada sprint. Diferente de uma construção convencional, onde o cliente precisa esperar até o fim da obra para ocupá-lo, em produção de software utilizando Scrum o cliente já tem as funcionalidades que ele julgou ser mais importantes, e por isso serão entregues primeiramente, pois ele ajudou na priorização dos itens.

O Scrum trabalha de forma empírica, isso quer dizer que não importa como você vai desenvolver certa coisa, mas sim o que você quer como resultado.

Sistemas mudam e requisitos mudam. Propriedades emergentes aparecerão. Quando é impossível de saber o que realmente vai ocorrer, este pode ser um cenário favorável para a inclusão do Scrum no projeto.

Não, Scrum não é solução para todos os problemas de software, e sim uma boa opção que depende do projeto, e das pessoas envolvidas nele.

O curso é bem esclarecedor. No fim do primeiro dia de curso cheguei em casa com mais da metade das dúvidas sanadas, e no segundo dia já tinha uma ideia bem diferente sobre o Scrum e projetos de software.

Espero que daqui alguns anos nós não estejamos utilizando o Scrum. Assim como o RUP foi criado para resolver problemas da época, espero que o Scrum seja substituído por outro framework que resolverá outros tipos de problemas, estes mais complexos dos que os que enfrentamos hoje.

Na minha opinião todos que trabalham ou têm algum contato diariamente com Scrum deveriam passar por um curso oficial. Não pela certificação em si, que acredito não ter muito valor, mas pelo conteúdo que é apresentado.


One Comment on “Curso CSM – Certificação Scrum”

  1. Breno Cristovão disse:

    parabéns pelo post… ficou claro !


Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s