SCRUM

O que é SCRUM

O Scrum é uma metodologia Agile focada em gestão e planeamento de projetos. Por ser baseada em princípios Agile, o Scrum também tem ciclos mais curtos de entrega, chamados de “Sprints”. Como metodologia de gestão, o Scrum pode vir a ser combinado com mais alguma metodologia ou ferramenta, e serão referidos alguns exemplos ao longo do texto.

Como qualquer metodologia Agile, o Scrum tenta facilitar a gestão de mudanças e estreitar laços entre cliente e empresa. O relacionamento é tão importante no Scrum que é criado o cargo do “Product Owner”, que é o responsável pelo sistema e por todas as funcionalidades desenvolvidas nele. É ainda responsável por entender o projeto como um todo e ser a ponte entre o cliente e a “Scrum Team”. A Scrum Team não se refere a uma equipa de desenvolvimento convencional, com os seus papéis tradicionais definidos, mas um grupo no qual todos se comprometem a executar as atividades definidas naquela Sprint.

As atividades a serem feitas numa Sprint são descritas na “Sprint Backlog”, que é uma fração do “Product Backlog”, que será desenvolvida na Sprint atual. Product Backlog, ou apenas Backlog refere-se à lista de funcionalidades desejadas num produto, e a atualização do Backlog é uma das principais atividades do PO(Product Owner). Além de atualizar o Backlog, o PO é responsável por planear as Sprints, elaborar histórias de utilizador e participar na retrospetiva da Sprint.

Apesar de facilitar a gestão da Scrum Team, uma Sprint tem várias atividades relacionadas. O responsável por garantir a correta aplicação dos conceitos do Scrum nas Sprints é chamado de “Scrum Master”. Pode ser qualquer pessoa dentro da equipa, mas, de preferência, um gerente ou líder técnico, pois garante a assistência na aplicação dos valores do Scrum e garante que a equipa não assuma mais responsabilidades do que o necessário pela Sprint. Uma das atividades mais conhecidas e importantes dentro do Scrum é a “Daily Scrum”, também chamada de reunião diária. Essa reunião é feita diariamente com todos os membros da equipa, na qual eles devem responder às seguintes perguntas:

-O que fez ontem?

-O que fará hoje?

-Há algum impedimento no seu caminho?

Essa reunião tem como objetivo difundir conhecimentos e manter uma imagem clara de como a equipa se está a sair na Sprint, onde os membros podem falar das suas dificuldades e ajudar os colegas.

No final de cada Sprint é feita uma “Sprint Review Meeting”, na qual é mostrado ao PO, ao Scrum Master, a membros de outras equipas e engenheiros, o que foi feito na Sprint. Geralmente, é feita uma demo do que foi executado e as funcionalidades são mapeadas e comparadas com o Product Backlog e é avaliado se o objetivo da Sprint foi obtido. Como qualquer metodologia Agile, o fim da Sprint é tratado como o fim de um projeto inteiro, pelo que o que foi desenvolvido é comparado com os objetivos do cliente, o que, no caso do Scrum, é representado pelo PO, e são feitas melhorias para a próxima interação. No Scrum, essa atividade já é reservada, e é chamada de “Sprint Retrospective”, em que é avaliado o que funcionou dentro da Sprint e o que pode ser melhorado e aplicado na nova.

Após a retrospetiva, é começado o planeamento das atividades da nova Sprint. O “Sprint Planning Meeting” é uma reunião que conta com a presença do PO, do Scrum Master, do Scrum Team e de qualquer outra pessoa interessada no projeto, preferencialmente da gerência ou relacionada com o cliente. Nesse planeamento são definidas as funcionalidades de maior prioridade dentro do Backlog que devem ser adicionadas ao Sprint Backlog, e assim é definido tudo que será feito naquela Sprint.

Caso posteriormente alguma coisa precise de ser redefinida, o Scrum Master deve solicitar ao PO, para negociar funcionalidades ou duração da Sprint.

O Scrum pode ser usado como única metodologia, mas, em diversos projetos, é usado em conjunto com Lean ou Kanban. Pode ser também adaptado à união com outras metodologias como Extreme Programming ou PMBOK, mas são convenções menos comuns, que exigem maior esforço dos gestores e da equipa. No caso do Kanban, a implantação junto com o Scrum é de mais fácil transição, já que não exige tanta modificação nem requer papéis tão rigidamente aplicados. A ser uma abordagem WIP (Work in Progress), na qual são exibidas as atividades que devem ser feitas, o progresso das que estão em andamento e as já concluídas, num quadro em branco, que representa um ciclo, e que pode ser facilmente adicionado ao quotidiano da Sprint.

Apesar de metodologias Agile e Scrum serem conhecidas e estudadas, muitas empresas que se dizem ágeis não aplicam os seus conceitos de forma correta ou para obter o melhor dessas ferramentas. Um dos erros mais comuns é não realizar a reunião diária, subestimar a importância da comunicação e da integração da equipa junto com as suas atividades no projeto. O que também se pode mencionar como outro erro comum é o de reposicionar um membro da equipa para qualquer outro projeto “mais prioritário”, o que vem romper uma colaboração gerada durante a execução das Sprints. Com a ideia do Scrum Team, separar a equipa traz uma perda real para o todo, uma vez que cada membro tinha o seu próprio conhecimento aprendido, exigências e experiências a somar dentro da equipa. Outro erro comum é atrasar Sprints porque os objetivos não foram atingidos, afetando a agilidade das Sprints de forma geral e muitas vezes não permitindo que o processo seja melhorado a fim de impedir atrasos no futuro.

De forma geral, o Scrum é uma metodologia que vem trazer vários benefícios para a gestão de projeto, mas tem várias dificuldades e exige compromisso principalmente dos gestores, já que a hierarquia dentro da empresa será profundamente modificada. Com a figura do PO e do Scrum Master, funções como líder técnico e gerente de projeto são alterados, e nem todas as empresas têm tempo e disponibilidade para uma mudança tão drástica. Por isso, antes de implantar alguma metodologia que possa vir a atrapalhar em vez de ajudar, o gerente deve estudá-la e planear a sua transição dentro da empresa e dentro das equipas.