Prévia do material em texto
AULA 6 FRAMEWORK SCRUM Prof. Anderson Rodrigues Matos 2 TEMA 1 – SCRUM DE SCRUMS Durante as últimas aulas, discorremos sobre todos os pontos necessários ao entendimento sobre o Framework Scrum. Foram abordadas as diferenças entre Scrum e o Guia PMBOK, onde cada um é melhor aplicado e a possibilidade de uma combinação entre os dois, que pode resultar em sucesso para qualquer projeto. Agora vamos apresentar o Scrum de Scrums (MetaScrum), seu surgimento, conceituação e forma de aplicação. Figura 1 – Scrum de Scrums Fonte: Matos, 2021. O Scrum de Scrums, ou Scrum of Scrums (SOS), é uma técnica de agilidade escalada, uma ferramenta que permite a divisão de uma equipe Scrum em várias equipes menores, para conectá-las com o objetivo de interagirem constantemente e entregarem soluções complexas. O Time do Scrum de Scrums é formado por até nove integrantes, que vão interagir constantemente por meio de reuniões, com o objetivo de alinhar as técnicas das equipes, bem como os obstáculos encontrados. Sempre com foco na construção final do produto. As reuniões serão realizadas semanalmente ou, se houver necessidade, podem ocorrer diariamente. Elas são chamadas geralmente de reuniões de alinhamento. A escolha do integrante do Time Scrum de Scrums parte da equipe da qual ele participa, e este deve ser capaz de representá-la dando posições técnicas sobre o produto e achando soluções para as demais equipes. 3 Para questões técnicas, operacionais e de integração, é recomendável que o representante seja um membro da equipe, já para questões táticas e gerenciais, recomenda-se que o representante seja o Scrum Master. Nas reuniões do Scrum de Scrums, devem ser realizadas pelo menos quatro perguntas que as tornarão mais dinâmicas e produtivas, levantando as informações necessárias para o andamento e a conclusão do produto. São elas: • O que a equipe realizou desde a última reunião? • O que será feito após a reunião? • Se existem obstáculos, quais são as ações para removê-los? • A equipe está fazendo ou deixando de fazer algo que pode impactar as demais equipes? O Scrum Master e o membro representante da equipe devem trabalhar em conjunto para chegar à reunião com todas as informações compiladas para apresentar ao Time de Scrum de Scrums, agilizando e dinamizando sua realização. Para a existência de um Time de Scrum de Scrums, é necessária uma quantidade suficiente de Scrum Masters – o indicado é um para cada equipe, facilitando a comunicação. A mesma indicação vale para o Product Owner, que até pode ser um, mas ele poderá encontrar problemas com o tempo a dedicar a cada uma das equipes. Como o Scrum de Scrums é direcionado a um projeto grande, havendo a necessidade de quebrar uma grande equipe em várias menores, todas as sprints devem iniciar e terminar ao mesmo tempo, pois se referem ao mesmo produto. Assim, devem estar alinhadas e ser entregues juntas. No Product Backlog, os requisitos devem estar alinhados entre si e combinados entre as equipes para que não fiquem espalhados de forma aleatória. Jeff Sutherland e Ken Schwber, pioneiros da estrutura de Scrum, apresentados no início deste módulo, precisavam de uma forma para coordenar unidades de negócios com muitas linhas de produção por unidade, além de sincronizar equipes que trabalhavam individualmente uma com as outras. Foi então que aplicaram uma maneira de escalar equipes de Scrum para atingir a meta. Essa experiência fez Sutherland publicar um artigo, em 2001, que recebeu o nome de Agile Can Scale: Inventing and Reinventing SCRUM in Five Companies 4 (“O ágil pode ser escalado: a invenção e a reinvenção do Scrum em cinco empresas”). Assim, o Scrum de Scrums foi citado pela primeira vez. Depois deste artigo, o Scrum de Scrums foi incorporado ao Scrum@Scale, desenvolvido por uma associação entre duas empresas, a Scrum Inc. e a Scrum Alliance, com a supervisão de Jeff Sutherland. TEMA 2 – SCRUM@SCALE O Guia Scrum@Scale foi criado por Jeff Sutherland com o objetivo de fornecer informações suficientes para que cada um possa implementá-lo por conta própria. Este guia está baseado nos princípios do Scrum, na Teoria dos sistemas complexos adaptativos, na Teoria dos jogos e tecnologia voltada à orientação ao objeto e, ainda, nas experiencias dos praticantes do Scrum e nos resultados obtidos nas várias áreas de atuação. Figura 2 – Scrum@Scale Fonte: Matos, 2021. Segundo o Guia Scrum@Scale, de 2018, sua definição se dá da seguinte forma: Scrum@Scale (n): Framework no qual redes de times Scrum que operam em consistência com o Guia Scrum tratam de complexos problemas adaptativos, enquanto entregam criativamente produtos com o maior valor possível. Scrum@Scale é: • Leve, porque se utiliza do mínimo de burocracia possível e viável. • Fácil de entender, pois é formado apenas por times Scrum. • Difícil de dominar, porque se faz necessário implementar um novo modelo operacional, que é o Scrum@Scale, um framework para escalar Scrum. Esse framework tem o princípio de simplificar o processo de escalar, utilizando do Scrum para escalar o Scrum, formando times Scrum, que serão coordenados pelo Scrums of Scrums e MetaScrums. A intenção do Scrum@Scale é obter uma escalabilidade linear em uma estrutura sem escalas. Para que isso ocorra, é indicado utilizar uma burocracia 5 mínima viável, com uma abordagem ágil, para que os processos se mantenham eficientes na consistência da escala, contudo sem comprometer a produtividade e a criatividade do time. TEMA 3 – COMO FUNCIONA O SCRUM@SCALE? O Scrum@Scale utiliza o escalonamento de uma equipe e cria uma equipe de equipes, gerando uma rede de equipes. Para atingir o sucesso nesse escalonamento, propõe evitar uma complexidade extrema quando as equipes são criadas. No Scrum@Scale, as competências e responsabilidades do Scrum Master e do Product Owner são separadas em dois ciclos: o ciclo Scrum Master, que seria o como, e o ciclo do Product Owner, que seria o quê. Esses dois ciclos, quando unidos, produzem um framework capaz de coordenar esforços de vários times para um único objetivo. Além das competências do como e do quê, busca criar nas organizações uma cultura baseada nos valores e pilares do Scrum. Para a implementação do Scrum@Scale, é necessário primeiramente criar um modelo de referência escalonável para um número pequeno de grupos, pois as deficiências encontradas neste serão ampliadas quando implementado em mais times. À medida que os times seguem esse modelo, conseguem acelerar, eliminando os obstáculos e gargalos da entrega e que desperdícios que afetam a qualidade do produto e a produtividade das equipes. Com isso, essas práticas podem ser espalhadas para toda a organização, fazendo com que o Scrum seja conhecido por todos, agilizando e otimizando o fluxo de valor. Dessa forma, o Scrum@Scale atinge uma escala linear de produtividade que abrange toda a organização com a velocidade e qualidade de forma orgânica, compatível com o produto, os serviços e a estratégia específica para a organização. TEMA 4 – CICLO SCRUM MASTER (O COMO) Refere-se a um conjunto de representantes de times que coordenam, formando o Scrum of Scrums. 6 O Scaled Daily Scrum é um evento que reúne um representante de cada time, geralmente o Scrum Master. Esse evento é responsável por coordenar os times e remover os impedimentos que afetam a entrega de valor. É a mesma reunião diária realizada em um projeto único, mas com proporção maior, em que são discutidos vários projetos realizados ao mesmo tempo. Participa da reunião um representante de cada time, para expor os pontos de seu projeto. O Scaled Daily Scrum deve ter um time-box de até 15 minutos, com um representante de cada time,para responder questões básicas, tais como: • Quais são os obstáculos encontrados e como podem impedir o time de alcançar o objetivo da Sprint em questão ou da próxima? • As ações de um time estão impactando nas ações de outro time? • Se existe alguma dependência entre os times, como resolvê-la? A prática do Scrum de Scrums tem o objetivo de fornecer suporte para uma equipe muito grande que precisa ser quebrada em várias equipes menores, mantendo um nível de interação alto para entregas de soluções complexas. O Scrum de Scrums equivale às reuniões diárias, mas com proporção muito maior, mais especializada e com a função de manter as equipes atualizadas em relação aos acontecimentos desde a última reunião. A reunião deve ocorrer pelo menos uma vez a cada Sprint, mas normalmente acontece uma vez por semana e conta com a participação do Scrum Master de cada equipe. Nela são discutidos os problemas relatados e assuntos trazidos nas reuniões diárias de cada equipe, fornecendo uma visão do processo. Para organizar a reunião, é definido um Scrum Master dentre os Scrum Masters, que ficará responsável por interagir com o Product Owner no intuito de esclarecer dúvidas que ocorram durante as reuniões Scrum de Scrums. É possível até convocar o Product Owner para participar das próximas reuniões, bem como representantes de cada equipe, para discutir problemas e dependências apontadas pelo time. O time de Scrum Masters é responsável por um conjunto de incrementos de produto totalmente integrado e potencialmente entregável ao final de cada Sprint de todos os times participantes. Como o time de Scrum Masters é responsável pela entrega de valor aos clientes, entre suas responsabilidades e competências está seguir o Guia Scrum e ter seus próprios papéis, artefatos e eventos. 7 Como exemplo, podemos citar um refinamento de Backlog, em que são elencados, definidos e priorizados os impedimentos “prontos” para ser removidos. Também devem definir a melhor forma de removê-los e como saberão que está concluído. Na retrospectiva da Scrum of Scrums, os representantes de cada time compartilham as lições aprendidas e as melhorias que obtiveram, para que as práticas realizadas positivamente sejam compartilhadas e padronizadas entre os times participantes do Scrum of Scrums. Para entregar um produto integrado e potencialmente entregável ao final de cada Sprint, é necessário que o time seja formado por todas as habilidades necessárias. Como, no início, os times podem não apresentar uma infraestrutura de integração e entrega contínua, o Scrum of Scrums se vê obrigado a criar um time com esse intuito, que vai gerar um trabalho extra para solucionar impedimentos à integração e à implantação de um ambiente de hiperprodutividade. Scrum of Scrums Master é responsável pela divulgação de todo o esforço conjunto dos times, com algumas atividades como: • Remover obstáculos que os times não conseguem resolver; • Priorizar os impedimentos e a distribuição do backlog; • Melhorar a eficácia do Scrum of Scrum; • Trabalhar em colaboração com o Product Owner para a entrega das funcionalidades potencialmente entregáveis ao final de cada Sprint. Figura 3 – Scrum of Scrum of Scrums Fonte: Matos, 2021. 8 A criação de um ou mais Scrum of Scrums vai depender do tamanho da organização ou implementação do projeto. Se o produto for muito complexo, pode ser criado mais de um Scrum of Scrums. Neste caso, haverá a necessidade de um Scrum of Scrum of Scrums, criado com base em vários Scrum of Scrums. Figura 4 – SoSos Fonte: Matos, 2021. O SoSoS é um padrão orgânico de times Scrum infinitamente escalável que necessita de Scrum of Scrum of Scrums Masters, bem como versões escaladas de cada artefato e evento. O SoSoS interage com o Scrum of Scrums, assim como este interage com um único time Scrum. Esta técnica de escalar o Scrum of Scrums diminui o os caminhos que a comunicação faz em uma organização, de maneira que a complexidade seja reduzida consideravelmente. Além do Scrum of Scrum of Scrums, existe o The Executive Action Team (EAT), forma como é chamado o Scrum of Scrums para toda organização ágil. É a última instância para impedimentos que não foram removidos pelos Scrum of Scrums, sendo submetidos para sua remoção definitiva. 9 Figura 5 – The Executive Action Team (EAT) Fonte: Matos, 2021. O EAT é formado por pessoas que dispõem de poder político e financeiro para remover os impedimentos. A função do EAT é o de coordenar os vários Scrum of Scrums, e é necessário, na sua formação, ter um Product Owner e um Scrum Master, que devem se reunir pelo menos uma vez a cada Sprint e apresentar um Backlog transparente, para que os demais integrantes tenham pleno entendimento das decisões tomadas. O EAT deve criar um Backlog para Transformação Organizacional e acompanhar sua realização. Como a qualidade do Scrum na organização é de sua responsabilidade, vamos listar algumas das funções essenciais do EAT. • Criar um sistema operacional ágil para o modelo de referência conforme a escalação na organização, com regras, procedimentos operacionais e diretrizes administrativas; 10 • Acompanhar a qualidade, medindo sempre o desempenho e promovendo melhorias; • Capacitar os profissionais do Scrum na própria organização, por meio de um centro de aprendizado contínuo; • Apoiar as inovações referentes a novas formas de trabalho; • Criar e oferecer suporte a uma organização correspondente de Product Owner por meio de associações que espelham os Scrum of Scrums e escalam suas funções. Essa organização, ou times de Product Owner, juntamente das partes interessadas, são denominadas MetaScrum. Toda essa organização de Scrum Masters, Scrum of Scrums, Scrum of Scrum of Scrums e Executive Action Team é formada e trabalha como um todo para completar os componentes do Ciclo de Scrum Master, que são: melhoria contínua e remoção de impedimentos, coordenação entre times e entregas. Conforme o Guia Scrum@Scale, observe as metas e os objetivos de toda essa organização. As metas de melhoria contínua e remoção de impedimentos são: • Identificar os impedimentos e transformá-los em oportunidades; • Promover e manter um ambiente seguro e com estrutura para priorizar e remover impedimentos e verificar as melhorias resultantes; • Promover a visibilidade na organização para efetuar mudanças. Os objetivos da coordenação entre times são: • Coordenar processos semelhantes em múltiplos times relacionados; • Gerenciar as dependências existentes entre times, garantindo que não se transformem em impedimentos; • Manter alinhadas as normas e diretrizes do time, garantindo resultados consistentes. TEMA 5 – CICLO PRODUCT OWNER (O QUÊ) Este é um grupo de Product Owners com a responsabilidade de coordenar um Backlog que vai alimentar um Scrum of Scrums, grupo denominado MetaScrum. Existirá um para cada Scrum of Scrums. 11 Figura 6 – MetaScrum Fonte: Matos, 2021. Um MetaScrum vai alinhar as prioridades dos times para a coordenação dos backlogs de acordo com as necessidades das partes interessadas. O evento do MetaScrum é o Refinamento de Backlog escalado, uma espécie de fórum para as lideranças e partes interessadas. Deve ocorrer pelo menos uma vez a cada Sprint para que o reparo do backlog seja garantido. O Guia Scrum@Scale lista as principais funções do MetaScrum: • Criação de uma visão abrangente do produto, tornado visível para organização; • Alinhar com as partes interessadas um suporte para implementação do backlog; • Criar uma definição de pronto, padronizado para todos os times que participam do Scrum of Scrums; • Eliminar pendências apontadas pelos Scrum of Scrums; • Implementar um plano coordenado de versões; • Definir e acompanhar métricas que forneçam a compreensãodo produto. 12 Figura 7 – Executive MetaScrum Fonte: Matos, 2021. O MetaScrum funciona por conta própria e precisa de um Scrum Master que mantenha o time nos limites nas discussões, assim como uma pessoa para gerar um único Backlog do Produto para todos os times suportados pelo MetaScrum. Essa pessoa é designada Chief Product Owner e, por meio do MetaScrum, coordena as prioridades dos Product Owners, que trabalham individualmente com os times. As responsabilidades do Chief Product Owner são as mesmas do Product Owner, porém, em escala. Figura 8 – Responsabilidades do Chief Product Owner Crédito: Annasunny24/Shutterstock. 13 Cada organização, dependendo do número de Scrum of Scrums, pode escalar os MetaScrums, bem como os Chiefs, expandindo pelo mesmo mecanismo. Na escala do Scrum, ainda existe outro grupo, denominado Executive MetaScrum (EMS), que tem a visão organizacional e define as prioridades estratégicas para toda a empresa, sempre alinhado com os times para um objetivo comum. A figura anterior demonstra a estrutura do Ciclo do quê, com as denominações e posições ocupadas por cada grupo conforme descrevemos anteriormente. Essa organização de Product Owners funciona para atender a visão estratégica; a priorização do Backlog; o refinamento e a decomposição do Backlog e o plano de versões. Cada um desses pontos tem seus objetivos e metas, as quais serão descritas de acordo com o Guia Scrum@Scale. Os objetivos da visão estratégica são: • Alinhar na organização, de forma clara, o objetivo a ser alcançado por todos; • Demonstrar para a organização, de forma convincente, o motivo pelo qual ela existe; • Descrever o que será realizado pela organização para disponibilizar os principais recursos necessários, em apoio à missão; • Atualizar continuamente as respostas de mudanças e condições de mercado. Os objetivos da priorização do backlog: • Identificar os produtos, os serviços e os recursos que serão entregues; • Avaliar a criação de valor, mitigação de riscos, bem como as dependências internas da ordem dos requisitos no backlog; • Priorizar as iniciativas de alto nível em toda organização antes de ocorrer a decomposição e o refinamento do backlog. Os objetivos da decomposição e refinamento do backlog: 14 • Dividir projetos e produtos complexos em elementos funcionais independentes, que podem ser feitos por apenas um time já na primeira Sprint; • Obter e disseminar requisitos e feedback dos clientes; • Garantir que todos os itens listados no backlog e necessários ao produto estejam realmente prontos, para que então sejam puxados pelos times individuais. Metas do plano de versões, ou planejamento da release: • Prever a entrega dos principais recursos e funcionalidades; • Comunicar expectativas com relação à entrega para as partes interessadas; • Realizar a atualização das prioridades, conforme necessário. 15 REFERÊNCIAS CRUZ, F. Scrum e Agile em Projetos: Guia Completo. Rio de Janeiro: Brasport, 2018. Scrum of Scrums – Tudo sobre a importância de um sincronismo perfeito. 11 mar. 2020. Agile4ever. Disponível em: <https://www.agile4all.com.br/blog/reunioes- Scrum-of-Scrums/>. Acesso em: 14 fev. 2021. Scrum of Scrums. Gerenciamento Ágil de Projetos Distribuídos. [S.d.]. Disponível em: <https://gerenciamentoagilprojetosdistribuido.wordpress.com/adaptacao-das- praticas-Scrum/Scrum-de-Scrums/>. Acesso em: 14 fev. 2021. SUTHERLAND, J. Guia SCRUM@Scale. O Guia Definitivo para Scrum@Scale: Escala que funciona. Trad. Rodrigo Camargo. Scrum Inc, 2018.