O Scrum é uma estrutura na qual as pessoas podem abordar problemas adaptativos complexos, entregando, de maneira produtiva e criativa, produtos do mais alto valor possível.
- Leve
- Simples de entender
- Difícil de dominar
O que é o Scrum?
Um framework de processos que tem sido usado para gerenciar o trabalho em produtos complexos desde o início dos anos 90. Não é um processo, técnica ou método definitivo. Pelo contrário, é um quadro dentro do qual você pode empregar vários processos e técnicas. Deixa clara a eficácia relativa de seu gerenciamento de produtos e técnicas de trabalho para que você possa melhorar continuamente o produto, a equipe e o ambiente de trabalho. O framework consiste em equipes Scrum e seus papéis e responsabilidades, eventos, artefatos e regras associadas. Cada componente dentro do framework atende a um propósito específico e é essencial para o sucesso e uso do Scrum. As regras unem as funções, eventos e artefatos, governando os relacionamentos e a interação entre eles. Táticas específicas para usar o framework Scrum variam e são descritas em outros lugares (blogs, manuais, livros, etc).
Como utilizar?
Foi inicialmente desenvolvido para gerenciar e desenvolver produtos. Nascido nos anos 90, tem sido amplamente utilizado em todo o mundo para:
- Pesquisar e identificar mercados, tecnologias e capacidades de produtos viáveis;
- Desenvolver produtos e melhorias, incluindo os de Green Belt, Black Belt e Lean Six Sigma em geral;
- Liberar produtos e versões, com a frequência de várias vezes ao dia;
- Desenvolver e sustentar a nuvem (online, segurança, sob demanda) e outros ambientes operacionais para uso do produto; e,
- Sustentar e renovar produtos.
Tem sido usado para desenvolver software, hardware, software embarcado, redes de função de interação, veículos autônomos, escolas, governo, marketing, gerenciamento do funcionamento de organizações e quase tudo que usamos em nosso dia a dia, como indivíduos e sociedades. Como a tecnologia, o mercado e as complexidades ambientais aumentaram rapidamente, a utilidade do Scrum para lidar com a complexidade comprovou-se. Provou ser especialmente efetivo na transferência de conhecimento iterativo e incremental. Quando as palavras "desenvolver" e "desenvolvimento" são usadas no Guia do Scrum, elas se referem a um trabalho complexo, como os tipos identificados acima.
Qual a teoria por trás do Scrum?
É baseado na teoria do controle de processos empíricos, ou empirismo. O empirismo afirma que o conhecimento vem da experiência e da tomada de decisões com base no que é conhecido. Emprega uma abordagem incremental e iterativa para otimizar a previsibilidade e controlar o risco. Três pilares sustentam toda implementação de controle do processo empírico: transparência, inspeção e adaptação.
Transparência
Aspectos significativos do processo devem ser visíveis para os responsáveis pelo resultado. A transparência exige que esses aspectos sejam definidos por um padrão comum, para que os observadores compartilhem um entendimento comum do que está sendo visto. Por exemplo:
- Uma linguagem comum referente ao processo deve ser compartilhada por todos os participantes; e,
- Aqueles que executam o trabalho e aqueles que inspecionam o incremento resultante devem compartilhar uma definição comum de "Concluído".
Inspeção
Os usuários devem inspecionar os artefatos e progredir em direção a uma meta do Sprint para detectar variações indesejáveis. Sua inspeção não deve ser tão frequente para atrapalhar o trabalho. Inspeções são mais benéficas quando executadas diligentemente por inspetores qualificados no ponto de trabalho.
Adaptação
Se um inspetor determinar que um ou mais aspectos de um processo se desviam para fora dos limites aceitáveis e que o produto resultante será inaceitável, o processo ou o material que está sendo analisado deve ser ajustado. Um ajuste deve ser feito o mais rápido possível para minimizar mais desvios. O Scrum prescreve quatro eventos formais para inspeção e adaptação, conforme descrito na seção Eventos do Manual:
- Planejamento do Sprint
- Reunião Diária
- Revisão do Sprint
- Retrospectiva do Sprint
Como é o Time Scrum?
Consiste em um Dono do Produto, a Equipe de Desenvolvimento e um Scrum Master. Times Scrum são auto-organizados e interfuncionais. Equipes auto-organizadas escolhem a melhor forma de realizar seu trabalho, em vez de serem dirigidas por outras pessoas fora da equipe. Equipes multifuncionais têm todas as competências necessárias para realizar o trabalho sem depender de outros que não fazem parte da equipe. O modelo de equipe no Scrum foi desenvolvido para otimizar a flexibilidade, a criatividade e a produtividade. As equipes do Scrum oferecem produtos de forma iterativa e incremental, maximizando as oportunidades de feedback. As entregas incrementais do produto "Concluído" garantem que uma versão potencialmente útil do produto em funcionamento esteja sempre disponível.
O dono do produto
O Product Owner é responsável por maximizar o valor do produto resultante do trabalho da equipe de desenvolvimento. A maneira como isso é feito pode variar amplamente entre organizações, equipes do Scrum e indivíduos. O Product Owner é a única pessoa responsável pelo gerenciamento do Backlog Produto. Esse gerenciamento do Backlog inclui:
- Expressar claramente os itens do Backlog do Produto;
- Encomendar os itens no Backlog do Produto para melhor atingir metas e missões;
- Otimizar o valor do trabalho que a equipe de desenvolvimento executa;
- Assegurar que o Backlog do Produto esteja visível, transparente e claro para todos, e mostrar no que o Time Scrum irá trabalhar em seguida;
- Garantir que a Equipe de Desenvolvimento entenda os itens do Backlog do Produto no nível necessário.
O Product Owner pode fazer o trabalho acima ou fazer com que a Equipe de Desenvolvimento o faça. No entanto, o Product Owner permanece responsável. O Product Owner é uma pessoa, não um comitê. O Product Owner pode representar os desejos de um comitê no Backlog do Produto. Todos aqueles que desejam alterar a prioridade de um item de Backlog do produto devem se dirigir ao Product Owner. Para o Product Owner ter sucesso, toda a organização deve respeitar suas decisões. As decisões do proprietário do produto são visíveis no conteúdo e na ordem do Backlog do Produto. Ninguém pode forçar a equipe de desenvolvimento a trabalhar a partir de um conjunto diferente de requisitos.
A equipe de desenvolvimento
A Equipe de Desenvolvimento consiste em profissionais que realizam o trabalho de fornecer um pacote de trabalho aos produtos até ficarem "Concluídos" ao final de cada Sprint. Somente membros da equipe de desenvolvimento criam o incremento. Equipes de desenvolvimento são estruturadas e capacitadas pela organização para organizar e gerenciar seu próprio trabalho. A sinergia resultante otimiza a eficiência e a eficácia gerais da Equipe de Desenvolvimento. Equipes de desenvolvimento têm as seguintes características:
- Eles são auto-organizados. Ninguém (nem mesmo o Scrum Master) diz à Equipe de Desenvolvimento como transformar o Backlog do Produto em pacotes de trabalho;
- As Equipes de Desenvolvimento são multifuncionais, com todas as habilidades necessárias para criar um pacote de trabalho do produto;
- O Scrum não reconhece títulos para membros da Equipe de Desenvolvimento, independentemente do trabalho que está sendo realizado pela pessoa;
- O Scrum não reconhece subequipes na Equipe de Desenvolvimento, independentemente dos domínios que precisam ser tratados como testes, arquitetura, operações ou análise de negócios; e,
- Os membros da Equipe de Desenvolvimento Individual podem ter habilidades especializadas e áreas de foco, mas a responsabilidade pertence à Equipe de Desenvolvimento como um todo.
Qual o tamanho da equipe de desenvolvimento?
O tamanho ideal da Equipe de Desenvolvimento é pequeno o suficiente para permanecer ágil e grande o suficiente para concluir um trabalho significativo dentro de um Sprint. Menos de três membros da equipe de desenvolvimento diminuem a interação e resultam em menores ganhos de produtividade. Equipes de desenvolvimento menores podem encontrar restrições de habilidade durante o Sprint, fazendo com que a Equipe de Desenvolvimento não consiga entregar o pacote de trabalho potencialmente liberável. Ter mais de nove membros requer muita coordenação. Grandes equipes de desenvolvimento geram muita complexidade para que um processo empírico seja útil. As funções de Dono do Produto e Scrum Master não são incluídas nesta contagem, a menos que também estejam executando o trabalho do Backlog do Sprint.
O Scrum Master
É responsável por promover e apoiar o Scrum, conforme definido no Guia do Scrum. Os Scrum Masters fazem isso ajudando todos a entender a teoria, práticas, regras e valores. Também ajuda aqueles que estão fora do Time Scrum a entender quais de suas interações são úteis e quais não são.
Qual o serviço Scrum Master para o Dono do Produto?
O Scrum Master atende o Product Owner de várias maneiras, incluindo:
- Garantir que os objetivos, o escopo e o domínio do produto sejam compreendidos por todos os integrantes do Time Scrum da melhor forma possível;
- Encontrar técnicas para o gerenciamento eficaz do Backlog do Produto;
- Ajudar o Time Scrum a entender a necessidade de itens claros e concisos do Backlog do Produto;
- Entender o planejamento de produtos em um ambiente empírico;
- Garantir que o Product Owner saiba como organizar o Backlog do Produto para maximizar o valor;
- Compreender e praticar a agilidade; e,
- Facilitar eventos Scrum conforme solicitado ou necessário.
Serviço do Scrum Master para a equipe de desenvolvimento
O Scrum Master atende a Equipe de Desenvolvimento de várias maneiras, incluindo:
- Coaching da equipe de desenvolvimento em auto-organização e funcionalidade cruzada;
- Ajudar a equipe de desenvolvimento a criar produtos de alto valor;
- Remover impedimentos ao progresso da Equipe de Desenvolvimento;
- Facilitar eventos Scrum conforme solicitado ou necessário; e,
- Coaching da Equipe de Desenvolvimento em ambientes organizacionais nos quais o Scrum ainda não é totalmente adotado e compreendido.
Serviço Scrum Master para a Organização
O Scrum Master serve a organização de várias maneiras, incluindo:
- Liderar e treinar a organização na adoção do Scrum;
- Planejar as implementações Scrum dentro da organização;
- Ajudar funcionários e partes interessadas a compreender e promulgar o Scrum e o desenvolvimento de produtos empíricos;
- Causar mudanças que aumentem a produtividade do Time Scrum; e,
- Trabalhar com outros Scrum Masters para aumentar a eficácia da aplicação do Scrum na organização.
Referência: O Guia Scrum