O Scrum é um framework que permite a utilização da metodologia de desenvolvimento ágil. Muito utilizada atualmente, principalmente em startups.
Diferente do modelo waterfall, ou a metodologia clássica de gestão, o scrum é um processo iterativo e incremental de desenvolvimento.
O projeto é particionado em vários pedaços ou fases, cada uma resultando em valores funcionais para a finalização do produto final.
Ao final de cada fase, chamadas de sprints, os stakeholders possuem entregáveis em mãos, implementados e testados.
Os feedbacks feitos pelos stakeholders durante e após a finalização de cada sprint, ajudam relevar problemas ou alterações necessárias para alcançar a melhor qualidade do produto.
Diferente da metodologia waterfall(cascata) o scrum permite um dinamismo durante todo o processo de desenvolvimento e até mesmo alterar drasticamente o escopo do projeto durante o seu desenvolvimento.
Conteúdo
Papeis principais do Scrum
- Product Owner(PO) – cuida dos interesses dos stakeholders e usuários finais
- Scrum Master(SM) – coordena todo os processos de desenvolvimento, garante que a metodologia scrum seja utilizada da forma correta e auxilia toda a equipe retirando impedimentos.
- Scrum Team ou Squads – são os desenvolvedores que implementam, analisam e testam o produto.
Fases do modelo Scrum
Fase 1 – Criação do Backlog do Produto
O backlog do produto é uma lista que contém todas as features que serão implementadas durante todo o processo de desenvolvimento do produto final. Também podem ser chamadas de User Story.
Cada User Story possui uma identificação única e deve ser priorizada no backlog do produto. Elas também possuem uma padronização de escrita que segue o seguinte modelo:
” Como um [papel do usuário], eu quero [feature a ser implementada] para que [valor a ser entregue].”
Exemplos de um site/aplicativo de reserva de hoteis:
- Como [Cliente], quero [Encontrar hotéis com vagas para entrada imediata], para [Não haver preocupação em reservar vagas em hotéis em caso de viagens de emergência]
- Como [Cliente], quero [Filtrar as cidades que vou procurar hoteis], para [Não haver problemas de reservas em cidades erradas]
Além do User Story, também há algumas opções que podem ser implementadas para complementar o entendimento das features de acordo com a necessidade.
- Escolher identificações por códigos de acordo com certo tipo de Story para alterar as prioridades de desenvolvimento.
- Identificar componentes do produto que vão ser alterados durante o desenvolvimento, como autentificação ou buscas dentro do sistema.
- Funcionalidades específicas que podem ser adicionadas para melhorar o produto que não estavam previstas e só foram observadas no meio do processo
- Identificar atividades de erros e bugs em uma lista relacionada a uma User Story específica.
Fase 2 – Sprint Planning e criação da Sprint Backlog
Primeiramente, deve ser determinado o tempo de duração das sprints. Isso vai depender muito da forma que foi particionado o desenvolvimento do produto.
Dessa forma, sprints menores permitem que a squad tenha uma cadência de entregas mais frequentes e, como resultado, haverá mais feedbacks dos stakeholders para refinar a qualidade das features.
Além disso os erros e bugs também serão resolvidos em menor tempo. Porém, caso opte por sprints mais longas, os desenvolvedores podem trabalhar nas features de uma forma mais aprofundada e que pode resultar em uma maior qualidade nas entregas.
As sprints possuem uma duração mínima de 1 semana e máxima de 4 semanas e, sempre devem buscar alcançar o objetivo da Sprint e toda Sprint deve possuir um objetivo traçado.
Com isso, é extremamente importante o trabalho colaborativo entre os stakeholders e a squad. O PO é responsável por organizar, detalhar e priorizar a Sprint Backlog e a squad vai definir qual é o esforço necessário para finalizar as atividades.
Também, a squad pode dividir uma User Story em diversas atividades caso seja necessário. Assim, a Sprint backlog deve ser criada após o levantamento, priorização e esforço dos User Stories que serão feitos na sprint.
Fase 3 – Sprint Daily ou Daily Scrum
Após a criação das sprints, as atividades já estão priorizadas e foi iniciado o desenvolvimento.
Para acompanhar o progresso da sprint, normalmente é utilizado uma ferramenta chamada Kanban, que auxilia na organização das atividades em quadros fáceis de se manusear e que ficam visíveis para todos.
Cada quadro possui atividades que se relacionam entre si de acordo com as especificidades do projeto.A Sprint Daily é uma das cerimonias do scrum que devem ser feitas diariamente pela Scrum Team.
O Scrum Master auxilia a equipe até que ela compreenda o processo e faça por conta própria.
A Daily Scrum funciona da seguinte forma, a equipe toda possui 15 minutos para falar sobre quais atividades ela fez para atingir o objetivo da sprint, quais atividades ela irá fazer em seguida e se existem impedimentos para o desenvolvimento dessas atividades.
Fase 4 – Sprint Review
Ao final da Sprint a equipe toda faz uma revisão das atividades finalizadas e analisam o que será entregue.
Com isso, é muito importante a participação dos stakeholders para verificar se o que foi feito está de acordo com as necessidades do produto e se há necessidade de alterações ou criação de novas atividades para uma próxima sprint.
Fase 5 – Retrospectiva da Sprint e Sprint Planning
A Retrospectiva da Sprint possui como objetivo debater, com toda a squad, sobre os resultados obtidos na última sprint e como eles podem melhorar para a próxima.
É importante salientar os pontos positivos e os negativos observados por todos da equipe.
Após o levantamento desses pontos, será definido a nova forma de processo afim de optimizar o desenvolvimento e assim a equipe pode fazer novamente a Sprint Planning para criação da próxima sprint e refazer o processo das fases já citadas.
Conclusão
O Scrum é uma metodologia de melhoria continua e agilidade que pode ser usada em diversos setores de uma empresa, cada qual com suas adaptações.
É necessário uma boa comunicação e transparência por toda a equipe afim de ter bons resultados.
Os stakeholders devem ser ativos durante todo o processo de desenvolvimento e podem trazer novas ideias a qualquer momento para gerar mais valor para o produto final.
É extremamente importante que os gestores das squads, principalemente o Scrum Master, domine os processos do scrum e ferramentas que auxiliam na execução desse framework.
A Rockapps possui uma equipe experiente na execução do scrum em projetos complexos, podemos atuar diretamente no desenvolvimento do produto ou dar consultorias para te ajudar na implementação do scrum.
Entre em contato com nossos analistas!