Seja Bem-Vindo. Este site tem recursos de leitura de texto, basta marcar o texto e clicar no ícone do alto-falante   Click to listen highlighted text! Seja Bem-Vindo. Este site tem recursos de leitura de texto, basta marcar o texto e clicar no ícone do alto-falante

AULA 08

SCRUM

De acordo com Ken Schwaber e Jeff Sutherland (desenvolvedores do SCRUM) bastaria o documento abaixo para saber tudo sobre esse método ágil.

Mas não serei tão cruel… Vamos ver uma explicação sobre o SCRUM um pouco mais detalhada.

Metodologias Ágeis​ – Introdução ao SCRUM​

Movimento ágil 

Surgimento das Metodologias Ágeis​
Surgimento das Metodologias Ágeis​

Contexto no Tempo:

Década de 1990: Na década de 1990, o desenvolvimento de software era frequentemente guiado por abordagens tradicionais, como o modelo cascata, que enfatizava a documentação extensa, requisitos rígidos e uma abordagem sequencial. Isso levava a longos ciclos de desenvolvimento e muitas vezes resultava em produtos que não atendiam às necessidades em constante evolução dos clientes.

Início dos anos 2000: No início dos anos 2000, as empresas começaram a perceber que as abordagens tradicionais estavam levando a atrasos, custos excessivos e produtos insatisfatórios. Muitos projetos de software estavam enfrentando dificuldades em acompanhar as mudanças tecnológicas e as demandas do mercado.

Problemas que Existiam:

  1. Rigidez nos Requisitos:Os projetos de software tradicionais frequentemente exigiam que todos os requisitos fossem especificados no início do projeto, tornando difícil acomodar mudanças nos requisitos ao longo do tempo.
  2. Falta de Comunicação:A comunicação entre equipes de desenvolvimento e partes interessadas (clientes, usuários) era muitas vezes limitada e burocrática, o que levava a malentendidos e produtos que não atendiam às necessidades reais.
  3. Entregas Infrequentes:Os ciclos de desenvolvimento eram longos, e os clientes muitas vezes tinham que esperar meses ou anos para ver qualquer entrega significativa de software.
  4. Baixa Qualidade do Software:A ênfase em documentação extensa frequentemente levava a menos tempo dedicado à codificação e à garantia de qualidade do software.
  5. Falta de Flexibilidade:As abordagens tradicionais não eram adequadas para lidar com mudanças rápidas nas necessidades do cliente ou no ambiente de negócios.

 

Surgimento das Metodologias Ágeis:

O movimento das metodologias ágeis surgiu como uma resposta a esses problemas. Os pioneiros das metodologias ágeis, como Kent Beck (criador do Extreme Programming  XP), Jeff Sutherland e Ken Schwaber (criadores do Scrum), e outros, começaram a desenvolver abordagens mais flexíveis e colaborativas para o desenvolvimento de software. Eles reconheceram a importância de responder às mudanças rapidamente, valorizando a comunicação direta e enfatizando a entrega contínua de software funcional.

As metodologias ágeis, como Scrum, XP, Kanban e Lean, surgiram para lidar com esses desafios, promovendo a adaptabilidade, a colaboração e a entrega incremental de software. Essas abordagens se espalharam rapidamente e transformaram a maneira como o desenvolvimento de software e a gestão de projetos eram abordados, resultando em ciclos de desenvolvimento mais curtos, maior satisfação do cliente e produtos de maior qualidade.

4 valores do manifesto ágil​
4 valores do manifesto ágil​

O Manifesto Ágil é um conjunto de valores e princípios que fundamentam as metodologias ágeis, como o SCRUM. Os quatro valores do Manifesto Ágil são:

  1. Indivíduos e interações mais que processos e ferramentas: este valor destaca a importância das pessoas em um projeto. Ele enfatiza que, embora processos e ferramentas sejam necessários, a colaboração entre indivíduos e as interações humanas são fundamentais para o sucesso do projeto. As metodologias ágeis valorizam a comunicação direta, a colaboração e o trabalho em equipe.
  2. Software em funcionamento mais que documentação abrangente: este valor ressalta a importância de criar um produto de software funcional em vez de se concentrar apenas na documentação detalhada. Embora a documentação seja necessária, o objetivo principal é entregar valor tangível ao cliente o mais rapidamente possível. Isso significa que os desenvolvedores devem se concentrar em construir software que funcione e atenda às necessidades do cliente em vez de gastar muito tempo em documentação extensa.
  3. Colaboração com o cliente mais que negociação de contratos: este valor enfatiza a necessidade de colaboração próxima com o cliente ao longo do projeto. Em vez de criar contratos rígidos e detalhados no início do projeto, as metodologias ágeis promovem a interação contínua com o cliente para entender e atender às suas necessidades em constante evolução. Isso permite uma resposta ágil as mudanças nas prioridades e requisitos do cliente.
  4. Responder a mudanças mais que seguir um plano: este valor reconhece que os requisitos e as circunstâncias podem mudar ao longo de um projeto. Em vez de aderir rigidamente a um plano inicial, as metodologias ágeis incentivam a adaptação às mudanças. Isso significa que os times devem ser flexíveis e estar dispostos a ajustar seu trabalho para atender às novas necessidades e oportunidades à medida que surgem.

 Esses quatro valores formam a base das metodologias ágeis, orientando equipes de desenvolvimento na entrega eficiente e eficaz de software de alta qualidade, com foco na satisfação do cliente e na capacidade de responder rapidamente às mudanças nas necessidades e no mercado.

Os 12 princípios do desenvolvimento ágil ​
Os 12 princípios do desenvolvimento ágil ​

Os 12 Princípios do Desenvolvimento Ágil são diretrizes adicionais que complementam os valores do Manifesto Ágil. Eles fornecem uma visão mais detalhada de como aplicar efetivamente os valores ágeis em projetos de desenvolvimento de software. Aqui estão os 12 princípios e uma breve explicação de cada um:

  1. Satisfaça o cliente através da entrega contínua de software de valor. Este princípio destaca a importância de entregar software funcionando de forma regular e frequente, de modo a proporcionar valor constante ao cliente.
  2. Mude os requisitos, mesmo no final do desenvolvimento. Reconhece que os requisitos podem mudar à medida que o projeto progride e incentiva a adaptabilidade para atender a essas mudanças.
  3. Entregue software funcionando com frequência, com preferência para semanas no lugar de meses. A entrega de incrementos de software em curtos intervalos ajuda a obter feedback mais cedo e a garantir que o software seja sempre funcional.
  4. Colaboração diária entre desenvolvedores e partes interessadas. Promove a comunicação constante entre a equipe de desenvolvimento e as partes interessadas, garantindo que todos estejam alinhados e informados.
  5. Construa projetos em torno de indivíduos motivados. Reconhece a importância de uma equipe motivada e confiável como fator-chave para o sucesso.
  6. Use métodos face a face de comunicação. Embora a tecnologia possa ser útil, a comunicação direta e pessoal é valorizada para evitar mal entendidos e promover interações mais ricas.
  7. Software funcionando é a medida primária de progresso. Em vez de depender apenas de documentos e relatórios, o progresso é medido pelo software funcionando que é entregue.
  8. Processos ágeis promovem desenvolvimento sustentável. Reconhece a importância de manter um ritmo de trabalho sustentável para evitar o esgotamento da equipe.
  9. Atenção contínua à excelência técnica e ao bom design. Destaca a importância de manter a qualidade do código e o design eficaz em todo o projeto.
  10. Simplicidade, a arte de maximizar a quantidade de trabalho não feito é essencial. Enfatiza a importância de manter o foco no que é essencial e evitar o desperdício de recursos em recursos desnecessários.
  11. As melhores arquiteturas, requisitos e designs emergem de equipes auto-organizadas. Confia nas equipes para tomar decisões relacionadas à arquitetura e ao design, uma vez que são as mais capacitadas para fazê-lo.
  12. Em intervalos regulares, a equipe reflete sobre como se tornar mais eficaz e ajusta seu comportamento de acordo. Promove a melhoria contínua mediante retrospectivas regulares para identificar e abordar problemas e oportunidades de aprimoramento.

Esses princípios oferecem uma estrutura sólida para equipes que adotam abordagens ágeis, ajudando a orientar suas práticas e decisões em direção a entregas mais eficazes e satisfação do cliente. Eles incentivam a flexibilidade, a comunicação eficaz e a busca constante pela excelência na entrega de software.

SCRUM

Nascimento do SCRUM​
Nascimento do SCRUM​

Contexto no Tempo:

  • Década de 1990: Na década de 1990, o desenvolvimento de software enfrentava vários problemas. Os projetos frequentemente sofriam atrasos, estouravam orçamentos e entregavam produtos que não atendiam às expectativas dos clientes. As abordagens tradicionais, como o modelo cascata, eram inflexíveis e não permitiam acomodar mudanças nos requisitos dos clientes.
  • Meio da década de 1990: Foi nesse cenário que Ken Schwaber e Jeff Sutherland começaram a desenvolver o SCRUM como uma alternativa mais flexível e adaptável para o gerenciamento de projetos de software. Eles se basearam em suas experiências anteriores e no trabalho de outros profissionais, como Takeuchi e Nonaka, que haviam explorado ideias semelhantes no contexto da fabricação.

Contexto no Espaço:

  • Estados Unidos: O SCRUM foi desenvolvido nos Estados Unidos, onde havia uma grande concentração de empresas de tecnologia e desenvolvimento de software. As empresas norte americanas estavam na vanguarda da inovação em tecnologia da informação e enfrentavam os desafios associados ao rápido avanço tecnológico e às crescentes demandas dos clientes por produtos de software de alta qualidade.

O SCRUM surgiu como uma resposta a esses desafios e como uma abordagem que valoriza a flexibilidade, a colaboração e a entrega incremental de software. Com o tempo, o SCRUM se tornou um dos frameworks ágeis mais amplamente adotados em todo o mundo, não apenas na indústria de software, mas também em outras áreas, como gerenciamento de projetos, marketing e até mesmo na área de saúde.

O surgimento do SCRUM e de outras metodologias ágeis marcou uma revolução na forma como o desenvolvimento de software e a gestão de projetos eram abordados, proporcionando uma maneira mais eficaz de lidar com as mudanças constantes e as necessidades dos clientes em um mundo cada vez mais dinâmico e orientado pela tecnologia.

Pilares do SCRUM​
Pilares do SCRUM​

Transparência:

  • Explicação: A transparência é fundamental no SCRUM. Isso significa que todas as informações relevantes sobre o projeto, o progresso e os obstáculos devem ser visíveis e disponíveis para todos os membros da equipe e as partes interessadas. A transparência cria um ambiente em que todos têm acesso à mesma informação, o que ajuda a tomar decisões informadas.
  • Exemplo: Durante a reunião diária de standup, cada membro da equipe compartilha o que fez desde a última reunião, o que planeja fazer até a próxima e quaisquer obstáculos que estejam enfrentando. Essa transparência permite que todos saibam o status do trabalho e sejam capazes de colaborar para resolver problemas.

Inspeção:

  • Explicação: A inspeção envolve a avaliação contínua do trabalho realizado durante o projeto. Isso significa que a equipe e as partes interessadas examinam regularmente o produto em desenvolvimento, o processo de trabalho e as métricas de desempenho para identificar problemas e oportunidades de melhoria.
  • Exemplo: Durante a revisão da Sprint, a equipe apresenta o Incremento do Produto concluído aos stakeholders para obter feedback. Esse processo de inspeção permite que todos vejam o que foi feito e forneçam comentários valiosos que podem influenciar o próximo Sprint.

Adaptação:

  • Explicação: A adaptação é a capacidade de ajustar o produto e o processo com base nas informações coletadas durante a inspeção. Isso significa que o SCRUM é flexível e permite que a equipe faça mudanças à medida que aprende mais sobre o projeto e as necessidades do cliente.
  • Exemplo: Se a equipe de desenvolvimento descobre durante a Sprint que uma funcionalidade planejada não atende aos requisitos do cliente, eles podem adaptar o Sprint Backlog e focar em outra tarefa mais importante. A adaptação permite que a equipe seja ágil e responsiva às mudanças.

Esses três pilares trabalham juntos para criar um ambiente no qual a equipe pode colaborar eficazmente, inspecionar o trabalho em andamento e adaptar-se às mudanças conforme necessário. A transparência garante que todos tenham informações claras, a inspeção permite que a equipe e as partes interessadas avaliem o progresso, e a adaptação permite que a equipe faça ajustes para atender melhor às necessidades do cliente. Juntos, esses pilares sustentam a abordagem ágil do SCRUM ao desenvolvimento de projetos.

Princípios e Valores do SCRUM​
Princípios e Valores do SCRUM​

Valores do SCRUM:​​

  1. Comprometimento: As equipes do SCRUM são comprometidas em atingir os objetivos do projeto. Isso significa que todos os membros da equipe estão empenhados em cumprir suas tarefas e contribuir para o sucesso do projeto. O comprometimento é essencial para manter o foco nas metas e prioridades do projeto.
  2. Coragem: A coragem no contexto do SCRUM envolve a disposição de enfrentar desafios, tomar decisões difíceis e lidar com problemas. Isso inclui a coragem de admitir quando algo está errado e tomar medidas para corrigir o curso.
  3. Foco na Abertura: A transparência é fundamental no SCRUM. As equipes são incentivadas a serem abertas e honestas sobre o progresso, os problemas e os obstáculos que enfrentam. Isso promove a confiança entre os membros da equipe e as partes interessadas.
  4. Respeito: O respeito mútuo é um valor fundamental no SCRUM. Isso envolve tratar todos os membros da equipe com dignidade e consideração, valorizando suas opiniões e contribuições. O respeito também se estende às partes interessadas e clientes.

 Princípios do SCRUM:​​

  1. Entrega de Valor: O SCRUM se concentra na entrega contínua de valor ao cliente. Isso significa que as equipes trabalham para entregar funcionalidades de alto valor a cada iteração, permitindo que o cliente veja resultados tangíveis de forma rápida e frequente.
  2. Adaptação à Mudança: O SCRUM reconhece que os requisitos e as circunstâncias podem mudar ao longo do projeto. As equipes são encorajadas a serem ágeis e a se adaptarem a essas mudanças de maneira eficaz, garantindo que o produto final atenda às necessidades em constante evolução do cliente.
  3. Colaboração Intensa: O SCRUM promove a colaboração intensa entre os membros da equipe e as partes interessadas. Isso é facilitado por meio de reuniões regulares, comunicação aberta e trabalho conjunto para resolver problemas e tomar decisões.
  4. Time Empoderado: As equipes do SCRUM são auto organizadas e autogerenciáveis. Isso significa que têm a autoridade e a responsabilidade de tomar decisões relacionadas ao projeto, o que promove um maior senso de propriedade e responsabilidade.
  5. Iterações e Inspeções Constantes: O SCRUM se baseia em ciclos de desenvolvimento curtos chamados de “sprints”, nos quais as equipes entregam incrementos de software funcional. Durante esses ciclos, há inspeções regulares do progresso e ajustes com base no feedback.
  6. Melhoria Contínua: O SCRUM promove a melhoria contínua por meio de retrospectivas após cada sprint. As equipes revisam seu desempenho, identificam áreas de melhoria e implementam mudanças para aprimorar o processo.

 

Esses valores e princípios do SCRUM formam a base para a aplicação eficaz desse framework ágil. Eles enfatizam a entrega de valor ao cliente, a colaboração, a adaptação e a melhoria contínua, permitindo que as equipes desenvolvam produtos de alta qualidade de maneira eficiente.

Papéis do SCRUM​
Papéis do SCRUM​

Product Owner (PO):

  • Função: O Product Owner é responsável por representar os interesses dos stakeholders (partes interessadas) e definir as prioridades para o trabalho da equipe de desenvolvimento.
  • Responsabilidades:
    • Elaborar e manter o Product Backlog, que é uma lista priorizada de funcionalidades, melhorias e correções necessárias para o produto.
    • Definir critérios de aceitação para as histórias do Product Backlog.
    • Tomar decisões sobre a priorização das histórias do Product Backlog, com base no valor para o cliente e nas necessidades do negócio.
    • Estar disponível para a equipe de desenvolvimento para esclarecimento de dúvidas e feedback constante durante o desenvolvimento.
    • Aceitar ou rejeitar o trabalho concluído pela equipe com base nos critérios de aceitação.
  • Exemplo: Em um projeto de desenvolvimento de um aplicativo de entrega de comida, o Product Owner pode ser um gerente de produto que decide que a prioridade máxima é implementar a funcionalidade de pagamento online, pois isso atenderia a uma demanda crítica dos usuários.

Scrum Master:

  • Função: O Scrum Master atua como um facilitador e defensor do SCRUM na equipe, removendo obstáculos e garantindo que o processo SCRUM seja seguido adequadamente.
  • Responsabilidades:
    • Facilitar a reunião de planejamento da Sprint, a reunião diária de standup, a revisão da Sprint e a retrospectiva da Sprint.
    • Auxiliar a equipe a entender e seguir as práticas e valores do SCRUM.
    • Identificar e remover obstáculos que possam impedir o progresso da equipe.
    • Promover um ambiente de trabalho colaborativo e de aprendizado contínuo.
    • Proteger a equipe de interrupções externas durante a Sprint.
  • Exemplo: Se a equipe de desenvolvimento estiver enfrentando problemas de comunicação entre os membros, o Scrum Master pode facilitar uma reunião para abordar esses problemas e encontrar soluções.

Time de Desenvolvimento:

  • Função: O Time de Desenvolvimento é responsável por criar o produto, implementando as funcionalidades e itens do Product Backlog.
  • Responsabilidades:
    • Selecionar as histórias do Product Backlog a serem incluídas no Sprint Backlog durante o planejamento da Sprint.
    • Desenvolver, testar e entregar incrementos de software funcionais ao final de cada Sprint.
    • Trabalhar em colaboração e autogerenciamento para cumprir os objetivos da Sprint.
    • Manter um alto nível de qualidade em todo o trabalho realizado.
    • Participar das reuniões diárias de standup, da revisão da Sprint e da retrospectiva da Sprint.
  • Exemplo: Em um time de desenvolvimento de um site de comércio eletrônico, os membros do Time de Desenvolvimento podem incluir programadores, designers de interface do usuário, testadores de qualidade e especialistas em segurança. Eles trabalham juntos para implementar e entregar novos recursos do site.

Esses são os três principais papéis no SCRUM, e cada um desempenha um papel fundamental na colaboração e no sucesso da equipe de desenvolvimento ágil. O Product Owner representa o cliente e define as prioridades, o Scrum Master facilita o processo e remove obstáculos, e o Time de Desenvolvimento cria o produto. Todos trabalham juntos para entregar valor ao cliente de forma iterativa e eficaz.

Artefatos do SCRUM​
Artefatos do SCRUM​

Os artefatos no SCRUM são documentos e informações que ajudam a equipe a planejar, monitorar e comunicar o progresso do projeto.  

  1. Product Backlog (Lista de Produto):
  • Explicação: O Product Backlog é uma lista priorizada de todas as funcionalidades, melhorias e correções necessárias para o produto. Ele é uma representação dinâmica dos requisitos do projeto e é propriedade do Product Owner. O Product Backlog está em constante evolução, à medida que novos requisitos são adicionados, priorizados e detalhados.
  • Finalidade: O Product Backlog ajuda a equipe a entender o trabalho que precisa ser feito, priorizá-lo com base no valor para o cliente e manter o foco nas entregas mais importantes.
  1. Sprint Backlog (Lista de Sprint):
  • Explicação: O Sprint Backlog é uma seleção das histórias e tarefas do Product Backlog que a equipe concordou em realizar durante uma Sprint (um período de tempo fixo de desenvolvimento). O Sprint Backlog é criado no início da Sprint e é uma representação estática das atividades planejadas para essa Sprint específica.
  • Finalidade: O Sprint Backlog fornece à equipe uma visão clara do trabalho a ser realizado durante a Sprint. Ajuda a equipe a se concentrar nas tarefas definidas para atingir os objetivos da Sprint.
  1. Incremento do Produto:
  • Explicação: O Incremento do Produto é o resultado do trabalho da equipe durante uma Sprint. É uma versão funcional do produto que inclui todas as funcionalidades completas e testadas que foram implementadas durante a Sprint. O Incremento do Produto deve estar em condições de ser entregue aos usuários finais, se necessário.
  • Finalidade: O Incremento do Produto é uma demonstração tangível do progresso realizado durante a Sprint. Ele permite que os stakeholders vejam o valor adicionado pelo trabalho da equipe em cada Sprint.
  1. Gráficos de Burndown e Burnup:
  • Explicação: Os gráficos de Burndown e Burnup são ferramentas visuais usadas para rastrear o progresso do trabalho ao longo do tempo durante uma Sprint. 
  • Finalidade:
    • Gráfico de Burndown: Representa a quantidade de trabalho restante ao longo do tempo. Idealmente, a linha de burndown deve se mover em direção a zero até o final da Sprint.
    • Gráfico de Burnup: Representa a quantidade total de trabalho planejado e a quantidade de trabalho concluído ao longo do tempo. O objetivo é que a linha de burnup alcance a linha de trabalho planejado até o final da Sprint.
  • Uso: Os gráficos de Burndown e Burnup são usados para monitorar se a equipe está no caminho certo para atingir seus objetivos na Sprint e identificar possíveis desvios ou atrasos.

Esses artefatos desempenham um papel fundamental na gestão de projetos SCRUM, fornecendo transparência, priorização, foco e visibilidade sobre o progresso do trabalho. Eles são ferramentas valiosas para garantir que a equipe esteja alinhada com as metas da Sprint e do projeto como um todo.

Os eventos no SCRUM​
Os eventos no SCRUM​

Os eventos no SCRUM são encontros regulares que ocorrem ao longo do ciclo de desenvolvimento para facilitar a comunicação, a colaboração e o monitoramento do progresso:

  1. Sprint:
  • Explicação: A Sprint é um período de tempo fixo durante o qual o Time de Desenvolvimento trabalha para criar um Incremento do Produto. As Sprints têm uma duração geralmente fixa, como 2, 3 ou 4 semanas, e são escolhidas pela equipe com base na complexidade do trabalho e em outros fatores.
  • Finalidade: A Sprint fornece um quadro de tempo limitado e focado para que a equipe entregue valor ao cliente de forma iterativa e incremental.
  1. Reunião de Planejamento da Sprint:
  • Explicação: No início de cada Sprint, a equipe realiza a Reunião de Planejamento da Sprint. Durante essa reunião, a equipe seleciona as histórias do Product Backlog que serão incluídas no Sprint Backlog e define as metas da Sprint.
  • Finalidade: A Reunião de Planejamento da Sprint estabelece as bases para o trabalho que será realizado na Sprint e garante que a equipe tenha um entendimento claro das metas e prioridades.
  1. Reunião Diária de Standup:
  • Explicação: A Reunião Diária de Standup é um encontro curto e diário, geralmente com duração máxima de 15 minutos, no qual cada membro da equipe compartilha atualizações sobre o progresso do trabalho, discute obstáculos e planeja o trabalho para o próximo dia.
  • Finalidade: A Reunião Diária de Standup promove a comunicação e a colaboração diárias entre os membros da equipe, ajuda a identificar e resolver problemas rapidamente e mantém todos atualizados sobre o status do projeto.
  1. Revisão da Sprint:
  • Explicação: No final de cada Sprint, a equipe realiza a Revisão da Sprint, na qual demonstra o Incremento do Produto concluído aos stakeholders, como clientes e usuários finais. Os stakeholders fornecem feedback e discutem o que foi realizado na Sprint.
  • Finalidade: A Revisão da Sprint fornece um momento para que os stakeholders vejam o progresso do projeto, avaliem as funcionalidades implementadas e forneçam feedback valioso.
  1. Retrospectiva da Sprint:
  • Explicação: Após a Revisão da Sprint, a equipe realiza a Retrospectiva da Sprint para revisar seu processo de trabalho e identificar maneiras de melhorar. Eles discutem o que funcionou bem, o que não funcionou e planejam ações de melhoria para a próxima Sprint.
  • Finalidade: A Retrospectiva da Sprint promove a aprendizagem contínua e o aprimoramento do processo de trabalho da equipe, garantindo que problemas sejam resolvidos e melhorias sejam implementadas.

Esses eventos no SCRUM são projetados para manter a equipe alinhada com as metas da Sprint, promover a comunicação e a colaboração, e garantir que o projeto esteja sempre caminhando na direção certa. Eles ajudam a equipe a se adaptar às mudanças e a entregar valor de forma eficaz.

Aplicação Prática do SCRUM em Projetos Reais​
Aplicação Prática do SCRUM em Projetos Reais​

Aplicação Prática do SCRUM em Projetos Reais:

O SCRUM é amplamente utilizado em projetos reais de desenvolvimento de software, gestão de projetos e até mesmo em áreas fora da tecnologia. Sua aplicação prática envolve a implementação dos princípios, papéis, artefatos e eventos do SCRUM em um ambiente de trabalho. Aqui estão alguns aspectos importantes da aplicação prática do SCRUM:

  • Equipe Multifuncional: Uma equipe multifuncional composta por membros com habilidades complementares trabalha em conjunto para realizar o trabalho. Cada membro pode ser um especialista em sua área, como desenvolvimento, design, testes, etc. 
  • Planejamento das Sprints: A equipe seleciona um conjunto de histórias do Product Backlog para serem desenvolvidas durante uma Sprint. Durante a Reunião de Planejamento da Sprint, eles estimam o esforço necessário para cada história e definem as metas da Sprint. 
  • Desenvolvimento Incremental: A equipe trabalha em ciclos curtos, geralmente de 2 a 4 semanas, para criar incrementos funcionais do produto. Cada incremento deve ser testado e potencialmente entregável.
  • Reuniões Diárias: Todos os dias, a equipe realiza uma Reunião Diária de Standup de curta duração para compartilhar atualizações sobre o progresso do trabalho, discutir obstáculos e planejar o trabalho para o próximo dia. 
  • Revisão da Sprint: No final de cada Sprint, a equipe realiza uma Revisão da Sprint para demonstrar o Incremento do Produto aos stakeholders e obter feedback. 
  • Retrospectiva da Sprint: Após a Revisão da Sprint, a equipe realiza uma Retrospectiva da Sprint para analisar o processo de trabalho e identificar melhorias para a próxima Sprint.

Exemplos de Casos de Sucesso:

  1. Desenvolvimento de Software: Uma equipe de desenvolvimento de software implementa o SCRUM para criar um aplicativo móvel. Eles entregam incrementos funcionais a cada duas semanas, o que permite que o cliente veja o progresso e faça ajustes nos requisitos.
  2. Gestão de Projetos: Uma equipe de gerenciamento de projetos adota o SCRUM para melhorar a colaboração e a comunicação com as partes interessadas. Eles usam o Product Backlog para rastrear as tarefas do projeto e realizam Sprints de 3 semanas para avançar no trabalho.
  3. Marketing Digital: Uma equipe de marketing digital usa o SCRUM para planejar e executar campanhas de marketing. Eles usam o Product Backlog para listar todas as atividades de marketing, priorizam-nas e as executam em Sprints de 4 semanas.

Desafios Comuns na Adoção do SCRUM:

  1. Mudança Cultural: A transição para o SCRUM muitas vezes exige uma mudança cultural nas organizações. As equipes podem enfrentar resistência à mudança e a necessidade de adotar uma mentalidade ágil.
  2. Compreensão Inadequada: Algumas equipes podem ter uma compreensão inadequada do SCRUM e aplicá-lo de maneira inadequada. Isso pode levar a problemas de implementação.
  3. Gestão de Expectativas: Stakeholders e clientes podem ter expectativas irrealistas sobre a velocidade de entrega e a capacidade de resposta do SCRUM. É importante gerenciar essas expectativas de forma eficaz.
  4. Escalabilidade: O SCRUM funciona bem em equipes pequenas a médias, mas pode ser desafiador de escalar para projetos maiores ou organizações inteiras. A implementação de frameworks ágeis de escala, como o SAFe (Scaled Agile Framework), pode ser necessária.
  5. Treinamento e Capacitação: A equipe precisa ser treinada e capacitada adequadamente no SCRUM para garantir que todos entendam como aplicá-lo corretamente.

A aplicação do SCRUM em projetos reais pode trazer benefícios significativos, mas também requer esforço e comprometimento para superar os desafios comuns associados à sua adoção. É importante adaptar o SCRUM ao contexto específico de cada projeto e buscar melhorias contínuas com base no feedback e nas lições aprendidas.

Melhores Práticas para uma Implementação Bem-Sucedida do SCRUM​
Melhores Práticas para uma Implementação Bem-Sucedida do SCRUM​

Melhores Práticas para uma Implementação Bem-Sucedida do SCRUM: 

  1. Educação e Treinamento: Garanta que todos os membros da equipe, incluindo o Product Owner, Scrum Master e Time de Desenvolvimento, entendam os princípios e práticas do SCRUM. A educação e o treinamento são fundamentais para uma implementação bem-sucedida.
  2. Transparência e Comunicação: Promova uma cultura de transparência e comunicação aberta. Todos devem estar cientes do progresso do projeto, obstáculos e prioridades. Isso ajuda a evitar surpresas desagradáveis.
  3. Definição de Pronto: Estabeleça critérios claros de “pronto” para as histórias do Product Backlog. Isso ajuda a garantir que as funcionalidades estejam completas e testadas no final de cada Sprint.
  4. Feedback Constante: Incentive o feedback constante dos stakeholders, incluindo o cliente ou usuário final. A comunicação contínua ajuda a ajustar as prioridades e a manter o produto alinhado com as necessidades do cliente.
  5.  Realize retrospectivas da Sprint regularmente para identificar oportunidades de melhoria no processo de trabalho. Implemente melhorias de forma constante.

 Referências Bibliográficas e Recursos Online:

 Aqui estão algumas sugestões de leitura e recursos online para aprofundamento no SCRUM:

 Livros:

  1. “Scrum: A Arte de Fazer o Dobro do Trabalho na Metade do Tempo” por Jeff Sutherland: O autor, um dos cocriadores do SCRUM, oferece insights sobre como o SCRUM pode melhorar a produtividade.
  2. “Scrum and XP from the Trenches” por Henrik Kniberg: Um guia prático para a implementação do SCRUM e do Extreme Programming (XP).
  3. User Story Mapping: Discover the Whole Story, Build the Right Product” por Jeff Patton: Explora a criação e o gerenciamento de User Stories, um aspecto fundamental do SCRUM.

Recursos Online:

  1. Scrum.org (https://www.scrum.org/): Um recurso abrangente com guias, treinamentos e avaliações relacionados ao SCRUM. Oferece certificações SCRUM.
  2. Scrum Alliance (https://www.scrumalliance.org/): Fornece treinamento e recursos para profissionais do SCRUM. Também oferece certificações.
  3. Agile Alliance (https://www.agilealliance.org/): Uma organização que promove os princípios ágeis, incluindo o SCRUM. Oferece artigos, conferências e recursos educacionais.
  4. Medium (https://medium.com/): Muitos profissionais ágeis compartilham suas experiências e dicas no Medium. Pesquisar por artigos relacionados ao SCRUM pode ser útil.
  5. YouTube (https://www.youtube.com/): Existem muitos vídeos educacionais sobre o SCRUM disponíveis no YouTube, incluindo tutoriais e palestras.

Lembrando que, para obter um entendimento completo do SCRUM e sua implementação bem-sucedida, é fundamental combinar a teoria com a prática. Além disso, cada equipe pode precisar adaptar o SCRUM para se adequar ao seu contexto específico. Portanto, a experimentação e a aprendizagem contínua são cruciais.

Cenário Hipotético: Desenvolvimento de um Aplicativo de Gerenciamento de Tarefas​
Cenário Hipotético: Desenvolvimento de um Aplicativo de Gerenciamento de Tarefas​

Cenário Hipotético: Desenvolvimento de um Aplicativo de Gerenciamento de Tarefas

Requisitos:

Uma empresa chamada “TechTask” decidiu criar um aplicativo de gerenciamento de tarefas para ajudar seus funcionários a acompanhar projetos e tarefas. Eles optaram por usar o SCRUM para o desenvolvimento do aplicativo, devido à sua flexibilidade e capacidade de entrega rápida. Aqui estão os principais requisitos do projeto:

  1. Funcionalidade Básica:​
    1. Os usuários devem poder criar, editar e excluir tarefas.​
    2. Cada tarefa deve ter um título, descrição, data de vencimento e status (a fazer, em progresso, concluída).​
    3. As tarefas devem ser organizadas em projetos.​
    4. Os usuários devem fazer login com suas contas para acessar suas tarefas.​​
  1. Notificações:
    1.  Os usuários devem receber notificações por e-mail quando uma tarefa for atribuída a eles ou quando uma tarefa estiver próxima do prazo de vencimento.​​
  1. Integração com Calendário:
    1. Os usuários devem poder sincronizar suas tarefas com seus calendários pessoais, como o Google Calendar.​​
  1. Relatórios e Métricas:
    1. O aplicativo deve gerar relatórios sobre a produtividade do usuário, como a quantidade de tarefas concluídas por mês.​

Roteiro de Atuação dos Participantes (Papéis SCRUM):

 Product Owner (PO) – Ana:

  • Ana é a representante da TechTask e será a Product Owner.
  • Ela trabalhará com os stakeholders (gerentes de equipe) para definir o Product Backlog com base nos requisitos e prioridades.
  • Ana será responsável por manter o Product Backlog atualizado, definir critérios de aceitação e priorizar as histórias.

 Scrum Master (SM) – Pedro:

  • Pedro será o Scrum Master do projeto.
  • Ele ajudará a equipe a entender e adotar as práticas do SCRUM.​
  • Pedro facilitará as reuniões SCRUM, removerá obstáculos e garantirá que o processo seja seguido adequadamente.​

 Time de Desenvolvimento – Equipe de Desenvolvedores:

  • A equipe de desenvolvedores é composta por Alice, Carlos, e João.
  • Eles trabalharão juntos para implementar as funcionalidades definidas no Sprint Backlog.​
  • Durante a Reunião Diária de Stand-up, compartilharão atualizações sobre o progresso, discutirão impedimentos e planejarão o trabalho para o próximo dia.

 Etapas do Projeto (Sprints):​

  • Sprint 1 (2 semanas):
    • Ana, como Product Owner, apresenta os requisitos iniciais à equipe.
    • A equipe realiza a Reunião de Planejamento da Sprint para selecionar as histórias do Product Backlog e definir as metas da Sprint.
    • Durante a Sprint, a equipe desenvolve a funcionalidade básica do aplicativo.​ ​
  • Sprint 2 (2 semanas):
    • A equipe trabalha nas notificações e na integração com calendário.​
    • Ana atualiza o Product Backlog com novas funcionalidades e ajustes com base nas lições aprendidas na Sprint 1.
  • Sprint 3 (2 semanas):
    • A equipe aprimora a funcionalidade de relatórios e métricas.​
    • Pedro, como Scrum Master, realiza uma Retrospectiva da Sprint para identificar melhorias no processo de trabalho.​​
  • Sprints Subsequentes:
    • O projeto continua com Sprints subsequentes, cada uma adicionando novas funcionalidades e refinando as existentes com base no feedback dos stakeholders.​

 Este é um cenário hipotético que demonstra como o SCRUM pode ser aplicado em um projeto real. As Sprints são repetidas até que o aplicativo atenda aos requisitos e expectativas dos stakeholders, com melhorias contínuas baseadas no feedback.

Tarefa

Tarefa: Análise de Caso Prático de Implementação do SCRUM

Objetivo:

O objetivo desta tarefa é permitir que os alunos apliquem seus conhecimentos teóricos sobre o SCRUM a um cenário de projeto do mundo real. Eles devem analisar um caso prático de implementação do SCRUM e fornecer uma avaliação crítica, identificando os pontos fortes, as áreas de melhoria e fazendo recomendações.

Instruções:

  1. Escolha um Caso de Estudo: Selecione um caso de estudo de implementação do SCRUM. Você pode procurar por exemplos de empresas que adotaram o SCRUM em projetos de desenvolvimento de software, gerenciamento de projetos ou outras áreas.
  2. Descreva o Contexto: Apresente uma breve descrição do contexto do caso de estudo, incluindo a organização envolvida, o tipo de projeto, os objetivos e os desafios enfrentados.
  3. Detalhe a Implementação do SCRUM: Analise como o SCRUM foi implementado no caso de estudo. Isso pode incluir a definição dos papéis (Product Owner, Scrum Master, Time de Desenvolvimento), a estrutura das Sprints, a gestão do Product Backlog e do Sprint Backlog, entre outros aspectos.
  4. Identifique Pontos Fortes: Destaque os aspectos positivos da implementação do SCRUM no caso de estudo. Isso pode incluir ganhos de produtividade, melhorias na qualidade do produto, maior colaboração da equipe, etc.
  5. Aponte Áreas de Melhoria: Identifique as áreas em que a implementação do SCRUM poderia ser aprimorada. Isso pode incluir desafios enfrentados, problemas de comunicação, obstáculos para a entrega de valor, entre outros.
  6. Recomendações: Com base na análise, forneça recomendações específicas para melhorar a implementação do SCRUM no caso de estudo. Como a organização poderia abordar os desafios identificados? Que ajustes poderiam ser feitos para obter melhores resultados?
  7. Conclusão: Resuma suas principais conclusões a partir da análise do caso de estudo, destacando a importância do SCRUM na gestão de projetos ágeis.
  8. Entrega: Prepare um relatório ou apresentação que inclua todas as informações acima. Certifique-se de citar todas as fontes utilizadas.

Slides Utilizados na Aula

 

Apostila Baseada nos Slides Utilizados na Aula

 

​Fim da Aula.

Click to listen highlighted text!