O que é scrum? O scrum é um framework ágil utilizado no desenvolvimento e gestão de softwares.
O contexto histórico do Scrum
Oficialmente, o primeiro time de desenvolvimento Scrum foi criado por Jeff Sutherland em 1993, a sua primeira aplicação foi relacionada ao desenvolvimento de softwares na Easel Corporation.
Alguns anos depois Jeff, em parceira com Ken Schwaber, que na época pesquisava metodologias de otimização de tempo em projetos desenvolveram a primeira definição clara de Scrum e apresentaram na OOPSLA (Object-Oriented Programming, Systems, Languages & Applications) no ano de 1995.
Jeff e Ken fizeram parte do time de desenvolvedores responsáveis por escrever o Manifesto Agil.
Uma definição clara de Scrum, definida por Rafael Sabbagh (2013, p. 17) que diz:
“Scrum é um framework Ágil, simples e leve, utilizado para a gestão do desenvolvimento de produtos complexos imersos em ambientes complexos. Scrum é embasado no empirismo e utiliza uma abordagem iterativa e incremental para entregar valor com frequência e, assim reduzir os riscos do projeto”.
Beleza, mas o que é um Framework? Vamos desmembrar os conceitos contidos nas seguintes definições:
O que é um Framework?
Segundo SABBAGH (2013, p. 29), um “framework ou arcabouço é uma estrutura básica que pretende servir de suporte e guia para construção, a partir da expansão dessa própria estrutura, de algo com uso prático”.
Disso, podemos concluir que o Scrum é uma estrutura básica de desenvolvimento que sugere boas práticas com o objetivo de se alcançar algum resultado.
Ainda, um framework não tem a função de apresentar etapas especificas, ele indica um programa onde os métodos devem ser adicionados ou retirados dependendo diretamente do projeto a ser desenvolvido.
O que é Ágil?
A definição de Ágil, dentro desse contexto refere-se ao movimento que surgiu na década de 90 e que veio a culminar no Manifesto para o desenvolvimento Ágil de software, escrito e assinado em 2001, por 17 programadores renomados coordenados por Kent Beck.
Como o scrum funciona?
Agora que sabemos o que é scrum, o conceito e as definições vamos falar das etapas.
A estrutura do Scrum é relativamente simples e a sua necessidade de operação, referindo-se a equipe se resume em apenas três papeis: o Product Owner, o Scrum Master e a Equipe de desenvolvimento.
O que é Product Owner
Responsável por fazer a interface entre o cliente, a equipe de desenvolvimento, os usuários e qualquer outra pessoa que possa influenciar no decorrer do projeto. O Product Owner ainda possui a salva-guarda da Visão do Produto, é ele quem entre outras atividades cria o plano de evolução do produto conhecido como Roadmap.
O que é Scrum Master
Está presente no dia-a-dia do projeto e procura sempre facilitar o trabalho da equipe de desenvolvimento, ensinar a equipe sobre as práticas do Scrum e mediar às reuniões. É responsável pela gestão de riscos do projeto eliminando os empecilhos que venham a atrasar o projeto.
O que é Equipe de Desenvolvimento
É a equipe responsável por transformar em realidade tudo que foi planejado. Os membros devem possuir todos os conhecimentos necessários para realizar as demandas. Um ponto importante sobre o Scrum é que a equipe de desenvolvimento tem plena autonomia de se organizar dentro do ciclo de trabalho para decidir como realizar as demandas.
O que é scrum: etapas
Cronologicamente, o Scrum pode iniciar-se a partir de algum estimulo de natureza variada, como uma necessidade do cliente, oportunidade de negócio e etc.
Em seguida, o Product Owner, junto com o cliente elabora a Visão do Produto, que define, em linhas gerais, qual é o objetivo principal do projeto a ser seguido e constantemente visitado até o final do projeto.
Ainda o Product Owner é responsável por mais duas atividades de preparação que são de suma importância: a definição do Product Backlog e do Roadmap.
Product Backlog é uma lista ordenada dos pré-requisitos do projeto, nela estão os detalhes que o projeto deve atender, assim como as metas a serem alcançadas. O Product Backlog deve ser elaborado com a presença de todos os envolvidos, Scrum Master, Equipe de desenvolvimento, Product Owner e clientes. Ele é mutável e sofrerá inúmeras alterações durante o projeto, como a adição, subtração e repriorização de demandas.
Outro detalhe importante sobre o Product Backlog é a ordenação das demandas e o nível de detalhamento delas.
Devido ao fato do Scrum tentar entregar a proposta de valor logo no primeiro ciclo de trabalho, as demandas são priorizadas a fim de entregar o sistema funcionando, essas demandas essenciais ficam na parte de cima do Product Backlog e estão mais bem detalhadas, à medida que se desce no quadro de demandas, menos informação se tem sobre elas, pois elas serão executadas nos próximos ciclos, portanto não convém um detalhamento muito preciso, visto que elas possivelmente serão alteradas.
O que é roadmap?
O Roadmap é o plano de evolução do produto, ele é representado por meio de uma linha do tempo em que, metas e datas importantes estão representadas a fim de se ter um controle do tempo e das entregas pelo Product Owner, tornando mais fácil projetar prazos para os clientes e a própria equipe de desenvolvimento.
O que é sprint?
Feita essa preparação, o processo passa para a etapa de ciclos de desenvolvimento, que no Scrum chamamos de Sprint. Em linhas gerais, os Sprints as sessões de trabalho que acontecessem sucessivamente até o termino do projeto. Uma Sprint possui alguns eventos internos, todos eles têm seus tempos definidos pela equipe e devem ser rigorosamente respeitados. A duração máxima de um Sprint é usualmente chamada de timebox.
A estrutura básica de uma Sprint é definida pelos seguintes eventos: Sprint Planning, Sprint, Daily Sprint, Sprint Review e Sprint Retrospective.
O que é Sprint Planning?
Sprint Planning é a reunião de abertura de uma Sprint, nela é planejado o conteúdo seu conteúdo no que tange a priorização das demandas a serem realizadas e é definida da meta do Sprint. Em, priorizar demandas de um Sprint, deve-se entender que as demandas que estão priorizadas no Product Backlog serão ordenadas no Sprint Backlog, um painel de monitoramento de demandas próprio da Sprint.
O que é Daily Sprint?
A Daily Sprint é a reunião diária da equipe de desenvolvimento, nela são apresentadas de forma concisa o andamento das atividades da Sprint, os problemas encontrados e as próximas atividades. Essa reunião costuma a acontecer no começo do dia e não deve demorar muito. Esse evento é uma ótima oportunidade para a atualização do Burnout Chart, mais uma ferramenta do Scrum que ajuda no monitoramento do tempo das demandas. O Burnout Chart consiste em um diagrama onde em um eixo é representado o tempo discorrido e em outro eixo a quantidade de trabalho para a conclusão da Sprint, essa ferramenta alem de ajudar a monitorar o rendimento também possibilita projetar o tempo aproximado do termino da Sprint, que, caso esteja fora da meta estipulada, pode ser localizar a causa do atraso e realizada a coreção pelo Scrum Master.
Ao termino de cada Sprint, dois eventos acontecem, o Sprint Review e o Sprint Retrospective.
O que é Sprint Review?
No Sprint Review o Product Owner e a equipe apresentam ao cliente e aos usuários (se for o caso) o resultado obtido na Sprint, esse é o momento de apresentar o projeto já com suas funções básica para receber os feedbacks e a partir deles definir como será e o que será desenvolvido na próxima Sprint, lembrando que isso possivelmente traga alterações ao Product Backlog.
O que é Sprint Retrospective?
Já o Sprint Retrospective trata as boas práticas de trabalho, nessa reunião entre a equipe de desenvolvimento e o Scrum Master a equipe apresenta os pontos que deram certo na Sprint e os pontos onde eles tiveram problemas ou coisas que não surtiram efeito, esse conteúdo é analisado pela equipe e monta-se um plano de contingencia para a próxima Sprint, buscando sempre melhorar o processo.
A Sprint Retrospective encerra a Sprint, nesse momento imediatamente outra Sprint deve ser iniciada, a menos que o projeto tenha sido concluído.
O Scrum se destaca por ser um sistema que entrega valor com frequência, isso minimiza a possibilidade de erros. As entregas são definidas como Releases, a data em que elas acontecem é definida em uma reunião de Release Planning entre a equipe de desenvolvimento e o Product Owner.
Outro ponto a ser definido é a quem o produto deve ser entregue, se a um grupo de usuários especifico ou ao usuário final por exemplo. A ideia é que o produto chegue ao usuário final o mais rápido possível, mas quem deve definir isso é a equipe, o Product Owner e o cliente.
Ao termino do projeto, espera-se que todos os pontos e metas tenham sido alcançados. Geralmente, os projetos de Scrum tem um tempo determinado para seu encerramento. Os projetos, normalmente necessitam de acompanhamento posterior ao lançamento, para pequenas melhorias e serviço de suporte.
Para Sabbagh (2013), o Scrum não é uma ferramenta indicada para esse tipo de atividade, sendo mais indicada uma ferramenta de controle de demandas por Tickets como o Kanban por exemplo.
Conclusão: o que é scrum?
Espero que esse post tenha dado uma boa base de o que é scrum e te ajudar a ingressar no mundo do desenvolvimento ágil. Se você quiser saber mais sobre tecnologia acompanhe os outros posts no nosso blog.
Se quiser saber como começar uma startup leia esse post. Se quiser ajuda com o seu negócio solicite uma assessoria gratuita.
Um abraço e até o próximo post.
Referências bibliográficas:
MANIFESTO PARA DESENVOLVIMENTO ÁGIL DE SOFTWARE. Manifesto para desenvolvimento ágil de software. Disponível em: http://www.agilemanifesto.org/iso/ptbr/
SCRUM – A Arte De Fazer O Dobro Do Trabalho Na Metade Do Tempo
https://www.saraiva.com.br/scrum-a-arte-de-fazer-o-dobro-do-trabalho-na-metade-do-tempo-10508343.html?
Scrum: How to do twice as much in half the time | Jeff Sutherland | TEDxAix
Um comentário sobre “O que é scrum? Conceito, definições e etapas”