Aproveite milhões de eBooks, audiolivros, revistas e muito mais

Apenas $11.99 por mês após o período de teste gratuito. Cancele quando quiser.

Scrum: Gestão ágil para produtos de sucesso

Scrum: Gestão ágil para produtos de sucesso

Ler a amostra

Scrum: Gestão ágil para produtos de sucesso

Duração:
624 páginas
6 horas
Lançados:
27 de jan. de 2022
ISBN:
9786586110937
Formato:
Livro

Descrição

Scrum chega para romper com a ideia dominante de que os esforços de desenvolvimento de produtos devem ser estruturados, gerenciados e avaliados como prega o taylorismo para o trabalho fabril, que é repetitivo e previsível. O framework promove o aprendizado contínuo e a adaptação frequente, essenciais para que as organizações prosperem no ambiente de constantes mudanças dos dias de hoje.

Neste livro, Rafael Sabbagh apresenta uma visão profunda do Scrum, a partir dos valores e princípios ágeis que o fundamentam e de suas responsabilidades, artefatos, compromissos e eventos. Com as ideias, boas práticas e técnicas complementares trazidas pelo autor, sua organização poderá adotar o Scrum no desenvolvimento de seus produtos e transformar o que, de fato, for necessário.
Lançados:
27 de jan. de 2022
ISBN:
9786586110937
Formato:
Livro

Sobre o autor


Relacionado a Scrum

Livros relacionados

Artigos relacionados

Amostra do livro

Scrum - Rafael Sabbagh

Sumário

ISBN

Sobre o autor

Agradecimentos

Dedicatória

Prefácio

Prefácio da segunda edição

Prefácio da primeira edição

Como este livro está organizado

Introdução ao Scrum

1 Por que Scrum?

2 O que é Scrum?

3 Como é o Scrum?

4 De onde veio o Scrum?

Time de Scrum

5 Sobre o Time de Scrum

6 Desenvolvedores

7 Product Owner

8 Scrum Master

Artefatos e compromissos do Scrum

9 Sobre os artefatos e os compromissos do Scrum

10 Product Backlog

11 Compromisso: Objetivo do Produto

12 Compromisso: Definição de Preparado (adicional)

13 Sprint Backlog

14 Compromisso: Objetivo do Sprint

15 Incremento

16 Compromisso: Definição de Pronto

Eventos do Scrum

17 Sobre os eventos do Scrum

18 Inicialização (adicional)

19 Sprint

20 Sprint Planning

21 Daily Scrum

22 Sprint Review

23 Sprint Retrospective

24 Release Planning (adicional)

25 Refinamento do Product Backlog (adicional)

Técnicas complementares

26 Contratos ágeis: pactuando sobre as entregas

27 User Stories: representando o trabalho

28 Story Points: estimando o trabalho

29 Burndown e Burnup: acompanhando o trabalho

Final

30 Apêndice - Glossário

31 Apêndice - Bibliografia

ISBN

Impresso: 978-65-86110-92-0

Digital: 978-65-86110-93-7

Caso você deseje submeter alguma errata ou sugestão, acesse: http://erratas.casadocodigo.com.br.

Sobre o autor

Rafael Sabbagh é instrutor oficial de Scrum (Certified Scrum Trainer, pela Scrum Alliance) e de Kanban (Accredited Kanban Trainer, pela Kanban University). Entre 2015 e 2017, ele foi membro do Board de Diretores da Scrum Alliance, organização internacional responsável pelo Scrum. Rafael já fez treinamentos e coaching em mais de vinte países da Europa, Américas e Ásia e é palestrante em eventos pelo mundo desde 2009, incluindo diversos Scrum Gatherings globais e regionais.

Engenheiro de Computação e Mestre em Administração de Empresas pela PUC-Rio, Rafael é cofundador da K21, onde atua na transformação de empresas que vão desde startups a multinacionais. Ele atualmente vive em Madri, Espanha, e conduz os negócios da empresa na Europa.

Agradecimentos

Agradeço aos revisores técnicos de diferentes partes desta edição, cujas sugestões levaram a importantes decisões sobre o conteúdo e sobre a estrutura do livro: Marcelo Paiva, Tadeu Marinho e Maria José Levy Ibarra. Agradeço também aos revisores técnicos das duas edições anteriores: Manoel Pimentel, Marcos Garrido e Rodrigo de Toledo.

Agradeço à minha mulher, Maria José Levy Ibarra, pelo apoio nessa longa jornada que é escrever (e atualizar) um livro.

Agradeço a tantos outros que, com seu apoio e feedback, me encorajaram e ajudaram a construir mais uma edição.

Dedicatória

Para as pessoas mais importantes da minha vida:

meu pai, Miguel Armony, que não está mais aqui, mas se orgulharia mais do que ninguém ao ver este trabalho pronto;

meus filhos, Clara e Henrique, e minha mulher, Maria José, que são a minha razão de estar aqui;

minha mãe, Réjane, e meus irmãos, Nathália e Flávio, que, juntos com meu pai, me fizeram quem eu sou.

Prefácio

Este livro do Rafael Sabbagh é um marco para a Agilidade brasileira. Foi o primeiro livro de Scrum escrito em português, com dezenas de milhares de exemplares vendidos. Ao mesmo tempo que é excelente ver as atualizações desta terceira edição, é interessante perceber como o que foi dito na primeira edição há dez anos ainda faz sentido até hoje.

Neste livro você vai aprender muito mais do que um processo, mas uma cultura. Claro que o livro também está recheado de técnicas e em especial analogias, algo que o Rafael sabe fazer muito bem. Um destaque para a analogia do horizonte e o planejamento contínuo, em que afirmamos que o nível de detalhamento de um plano tem que ser inversamente proporcional à distância no tempo.

Fiquei muito empolgado em receber o convite do Rafael para escrever este prefácio. Tenho orgulho de ter sido o primeiro a falar sobre Scrum ao Rafael e desde então temos uma história lado a lado na Agilidade de mais de uma década. Começamos com palestras, participação em congressos, a criação de um treinamento que perdura até hoje - o CSPO (Certified Scrum Product Owner) - até fundarmos a K21 com Marcos Garrido e Carlos Felippe Cardoso (o CFC). Ao longo desses anos, todas essas iniciativas, juntamente com o livro, ajudaram a influenciar e a definir o mercado brasileiro de Agilidade.

Há quinze anos trabalhando com Agilidade, posso afirmar que a evolução alcançada na área vai além das técnicas, práticas, métodos e alcance (como novas áreas nas organizações). Uma grande evolução está na forma como quebramos resistências ao assunto. No início, alguns times queriam trabalhar com Agilidade, mas seus gestores diretos eram contra pela não conformidade com o status quo. Com o tempo, e em especial com os resultados, esses gestores começaram a valorizar e incentivar outros times a fazerem o mesmo. A resistência então passou a ser de outras áreas da empresa. Essa barreira foi vencida quando começamos a ter exemplos em setores como financeiro, RH ou negócios, além de indústrias de todos os tipos: cosméticos, telecom, vestuário, farmacêuticas etc. Então a nova resistência estava no C-level, mas até mesmo o convencimento desses está se tornando mais natural. Claro que para cada uma dessas etapas, a forma de convencer mudou e se adaptou, como tudo na Agilidade.

Ao mesmo tempo em que ficamos muito felizes com o pensamento ágil se espalhando pelas empresas, transformando negócios e pessoas, ficamos também apreensivos com os mal-entendidos. Às vezes há uma interpretação errônea sobre o que é Agilidade: é apenas um processo, é só uma mudança de nomes, só funciona em empresa pequena, aquele negócio em que não se planeja nada. Além de um pensamento de que é algo que apenas se instala, sem considerar que na verdade Agilidade é uma cultura. É uma cultura de experimentação, uma cultura de ser user-centric, foco em valor e melhoria contínua. Existem até métodos que se dizem ágeis no nome, mas que criam processos gigantescos de várias etapas e entrega de valor em apenas a cada tantos meses.

Podemos dizer, no entanto, que o Brasil é um grande exemplo de Agilidade. Nos últimos anos, com a experiência da K21 internacional (EUA, México e Europa), várias vezes testemunhamos a admiração das pessoas com os cases que trazíamos do Brasil. Talvez em parte pela cultura de adaptação ser natural ao brasileiro, ou pela nossa vontade de fazer diferença no que trabalhamos. Mas também pela didática de pessoas como o Rafael que foram capazes de formar milhares de pessoas, que se tornaram agilistas.

— Rodrigo de Toledo, PhD. (Certified Scrum Trainer e Accredited Kanban Trainer)

Prefácio da segunda edição

Imagine. Você contando aos seus netos que participou da grande transformação do início do século. Transformação na forma como as pessoas trabalham. Uma mudança de paradigma. Que começou com empresas de TI e, aos poucos, expandiu-se para todas as áreas da sociedade.

É como se o seu bisavô tivesse trabalhado com Taylor e lhe contasse como se sentiu com as primeiras mudanças daquela transformação do início do século passado.

Foi o Taylor aparecer e a empresa logo implementou as mudanças. O trabalho ficou mais específico, com alocação e especialização de tarefas para cada cargo. Criaram metas para a produtividade e um sistema de recompensas para o cumprimento delas. Ah, a empresa também instalou a tal esteirinha (assembly line, em inglês), meu bisneto. — Conversa imaginária com seu bisavô que trabalhou com Taylor em 1916.

Pois bem. É isso que está acontecendo. Uma profunda transformação na essência de como trabalhamos. Uma transformação dos canais digitais, permitindo novos tipos de inovação e criatividade em vários domínios.

Uma transformação que afeta tanto os pequenos empreendimentos quanto os grandes segmentos da sociedade, tais como governo, transporte, comunicação de massa, arte e a ciência. Esta transformação não só mudará sociedades e economias inteiras, mas mexerá com a própria essência da natureza humana, do nosso comportamento e convívio em sociedade.

E você ali, na crista da onda, no lugar certo, na hora certa. Um protagonista deste admirável novo mundo buscando um modelo de transformação baseada em princípios e valores fortes que impulsione uma cultura de melhoria contínua. Tentando saber qual a parte do futuro que pode ser introduzida no presente.

Você já escolheu tomar a pílula vermelha (do filme Matrix). Não tem mais volta. Agora é fazer o upload do conhecimento, praticar e comemorar as conquistas.

Neste excelente livro, Rafael Sabbagh, um dos precursores do Scrum no Brasil, compartilha a teoria e a prática desse framework simples, efetivo e poderoso; um conhecimento essencial para a sua jornada.

Boa leitura.

— Paulo Caroli (cofundador do Agile Brazil e autor do livro Lean Inception)

Prefácio da primeira edição

Vivemos em um período de extrema riqueza na quantidade e qualidade de adoções de Agilidade em diferentes organizações. Hoje, é possível ver os assuntos ligados à Agilidade sendo discutidos nos mais diferentes níveis dentro dela. E um dos grandes catalisadores desse movimento de adoção é o Scrum. O Scrum fez com que Agilistas de todo o mundo ganhassem ferramentas para empatizar com os problemas gerenciais e econômicos das organizações.

Se fizermos uma busca rápida pela internet, encontraremos vários artigos, apresentações e vídeos falando sobre Scrum. Na prática, entender a mecânica básica do seu fluxo de trabalho é algo fácil e sem grandes desafios pela sua extrema simplicidade. Mas, segundo o próprio Rafael Sabbagh:

A adoção mundial de Scrum não significa que todos os problemas estão resolvidos. Longe disso, Scrum é apenas uma ferramenta que pode trazer diversos benefícios em comparação a outras formas de se conduzir projetos, mas somente se bem utilizada.

Essa frase resume muito bem o grande desafio em questão. Ser bem utilizado é um estado paradoxal em se tratando do Scrum. Por ser um framework iterativo e incremental para se desenvolver produtos, ele também estimula que o próprio aprendizado acerca dos seus detalhes seja construído de forma iterativa e incremental. Isso significa que não é necessário ter uma ampla compreensão do Scrum para começar a usá-lo. Logo, por definição, usar bem o Scrum é um estado que pode demorar um considerável tempo para ser alcançado.

A dinâmica de framework, as peculiaridades dos papéis e suas respectivas interações são uma parte difícil do Scrum. Existe uma grande variedade de possibilidades no uso de seus papéis, cerimônias, artefatos e regras. Na prática, compreender esses detalhes do framework é fundamental para permitir uma extensibilidade saudável, de forma que possa ser adotado em qualquer tipo de ambiente organizacional.

Tipicamente, o maior desafio se dá exatamente em função de sua extensibilidade. Na verdade, muito mais difícil do que usar bem o Scrum é estender seus papéis, cerimônias, artefatos e regras de forma a gerar uma congruência do contexto organizacional com os pilares do Scrum e com os valores do Manifesto Ágil.

É comum, por exemplo, que, movidos por um desejo de gerar menos conflitos no processo de adoção, sejamos compelidos a retirar algum dos elementos básicos do framework. Outro comportamento comum é usarmos de maneira desenfreada a extensibilidade para fazer o Scrum conviver de forma harmônica com todos os outros papéis, cerimônias, artefatos e regras já existentes na organização. Em ambos os casos, os resultados gerados são muito efêmeros e não promovem um uso sustentável do Scrum.

Adotar Scrum traz uma série de ganhos relacionados, mas também traz uma gama de perdas inerentes. Perdas, nesse caso, possui o sentido de coisas de que precisamos abrir mão para usá-lo. Como um framework ágil, ele promove invariavelmente uma reflexão organizacional acerca de o que e por que melhorar. Logo, é comum que, com seu uso, seja necessário abrir mão de algum papel, de alguma cerimônia, de algum artefato ou de alguma regra existente na organização.

Na realidade, ao contrário do que muitas organizações buscam, o Scrum é um meio, e não o fim. Isso significa que ele sempre estará em uma contínua mutação, pois deve ser usado para ajudar a organização a chegar a uma forma melhor no que tange ao mindset e aos processos de gestão de projetos e de produtos.

Logo, o propósito do Scrum não é se perpetuar em uma organização. Muito pelo contrário, almeja-se que um dia a organização não mais precise dele.

Uma forma típica de compreender plenamente essa dinâmica é ter muitas horas de experimentação real do Scrum em algum ambiente organizacional complexo. Na verdade, somente com essa carga de experiência na adoção será possível que muitos de seus detalhes sejam revelados e compreendidos.

Dadas todas essas peculiaridades da adoção de Scrum, é possível afirmar que Rafael Sabbagh conseguiu um feito singular: com este livro, Rafael conseguiu sintetizar de maneira didática todos os principais detalhes do uso de Scrum. Acredito piamente que este livro poderá encurtar o caminho para uma compreensão plena da sua essência e de como adotá-lo de maneira efetiva dentro uma organização.

Tive a honra de revisar este livro. Na verdade, há alguns anos, tive a honra maior de trabalhar junto do Rafael em um complexo processo de adoção de Scrum para uma grande empresa de telecomunicações aqui do Brasil. Lá tive a felicidade de conhecer e ser inspirado pela forma analítica e questionadora do pensamento do Rafael.

Na época, um dos objetivos desse trabalho foi produzir materiais sobre como usar Scrum para aquela organização. Apesar da aspiração que Rafael já tinha para escrever um livro, gosto de pensar que foi ali que ele começou a se concretizar.

Uma marca inconfundível do Rafael é destilar o conhecimento como se fosse uma cebola. Nessa abordagem, cada camada representa um aprofundamento do conhecimento que fora iniciado na camada anterior. Este livro tem essa abordagem da cebola. Dessa forma, tenho plena certeza de que, muito mais do que de um simples livro, você está munido de uma poderosa ferramenta de trabalho. Portanto, aproveite cada linha deste livro para que ele lhe ajude a transformar o seu dia a dia de trabalho em direção a um estado Ágil de gerenciar e desenvolver produtos.

— Manoel Pimentel Medeiros (autor do livro The Agile Coaching DNA)

Como este livro está organizado

Este trabalho está dividido em sete partes: Introdução ao Scrum, Time de Scrum, Artefatos e compromissos do Scrum, Eventos do Scrum, Técnicas Complementares e Final.

Na Parte I — Introdução ao Scrum, começo com as principais razões para escolher e utilizar Scrum. Em seguida, ofereço uma definição formal e sigo explicando o que Scrum é em detalhes, indicando também onde melhor o framework pode ser aplicado. No capítulo Como é o Scrum?, o leitor pode fazer um passeio pelo trabalho com Scrum e com diversos elementos associados, muitos deles adicionais ao framework. A Parte I se encerra com uma explicação das origens do Scrum e quais são as suas principais influências.

A Parte II — Time de Scrum trata em detalhes do que é, o que faz e como é cada uma das responsabilidades do Time de Scrum, ou seja, Desenvolvedor, Product Owner e Scrum Master. Mostro também nessa parte ideias e práticas associadas a essas responsabilidades, como resolução de impedimentos, motivação e facilitação, entre outras.

Na Parte III — Artefatos e compromissos do Scrum, explico o que são e como utilizar os artefatos Product Backlog, Sprint Backlog, e Incremento, além de seus respectivos compromissos, o Objetivo do Produto, o Objetivo do Sprint e a Definição de Pronto. Acrescento também a Definição de Preparado, que não é parte oficial do Scrum.

A Parte IV — Eventos do Scrum descreve as reuniões de Sprint Planning, de Daily Scrum, de Sprint Review e de Sprint Retrospective, indicando em detalhes boas práticas para sua execução e problemas comuns enfrentados por seus participantes. Adiciono também o planejamento de entregas, o Refinamento do Product Backlog e atividades de inicialização. O Sprint também é abordado na Parte IV, além dos fatores determinantes para a escolha de sua duração, motivos para seu cancelamento e a sua relação com a Definição de Pronto.

Na Parte V — Técnicas complementares, ofereço alguns conceitos adicionais que podem ser muito úteis na execução do trabalho, como: Contratos Ágeis, User Stories, Estimativas Ágeis com Story Points (que também incluem Planning Poker e Velocidade) e os Gráficos de Acompanhamento do Trabalho (Release Burndown, Release Burnup e Sprint Burndown).

Na Parte VI — Final, o leitor tem acesso a um glossário dos termos relacionados ao Scrum e à bibliografia utilizada neste livro.

Para mais discussões, material e complementos ao conteúdo deste livro, acesse o site do livro em http://livrodescrum.com.br.

Introdução ao Scrum

Capítulo 1

Por que Scrum?

Conteúdo

Por que Scrum?

Entregas de valor.

Entregas frequentes.

Maior qualidade no produto desenvolvido.

Transparência sobre o progresso.

Redução do desperdício.

Produzir incrementalmente o mais simples que funcione.

Desenvolver o produto com base em seu próprio uso.

Planejar utilizando apenas o nível possível de detalhes.

Utilizar apenas os artefatos necessários e suficientes.

Foco nas pessoas.

Trabalho em equipe e a autonomia.

Facilitação e remoção de impedimentos.

Melhoria contínua.

Ritmo sustentável de trabalho.

Trabalho de ponta a ponta.

Redução dos riscos do desenvolvimento do produto.

1.1 Por que Scrum?

Scrum existe desde o início dos anos 1990, mas foi só na década seguinte que se tornou popular. Ele ganhou o mundo, desbancou métodos tradicionais e se tornou a forma mais bem-sucedida de se trabalhar em desenvolvimento de software. Uma pesquisa de 2015 mostra que projetos de desenvolvimento de software que utilizam Scrum ou métodos similares têm 3,5 vezes mais chances de sucesso (THE STANDISH GROUP, 2015).

O crescimento espetacular na adoção de Scrum nos últimos anos não significa que todos os problemas estão resolvidos. Longe disso. O uso do Scrum implica em uma profunda mudança em como as organizações entendem e lidam com o trabalho, com as pessoas que realizam esse trabalho, com quem solicita e com quem utiliza de seus resultados. Assim, embora o Scrum seja de fácil compreensão, sua adoção pode ser difícil e dolorosa. Não é incomum essas organizações buscarem atalhos e simplificações sem, no entanto, transformarem o que, de fato, é necessário.

Scrum permite aumentar as chances de sucesso, entregar valor mais rápido e, desde cedo, lidar com as inevitáveis mudanças de escopo, transformando-as em vantagem competitiva. Seu uso pode também aumentar a qualidade do produto entregue e melhorar a produtividade das equipes.

Em suma, o uso de Scrum permite aumentar a eficiência na realização do trabalho de desenvolvimento de produtos e, mais importante ainda, a eficácia dos seus resultados.

Eficiência e eficácia

Eficiência significa fazer certo as coisas; eficácia significa fazer as coisas certas.

- Peter Drucker

Scrum é aplicado no desenvolvimento de produtos com características igualmente variadas. Em produtos críticos de centenas de milhares de dólares e em produtos internos simples. No desenvolvimento de softwares comerciais, de negócios digitais, de softwares embarcados, de aplicativos para dispositivos móveis, de softwares financeiros e de jogos. É adotado com sucesso por organizações de diversos tamanhos e tipos, de multinacionais a startups, de famosas a desconhecidas.

Seu uso não se limita a desenvolvimento de software, embora tenha sido concebido originalmente com essa finalidade. Scrum é hoje também usado para diferentes fins, como criação de campanhas de marketing, desenvolvimento de produtos de hardware e a concepção e execução de serviços diversos.

Neste livro, considero desenvolvimento de um produto o trabalho de realização das atividades necessárias para a criação e evolução do produto, ao adicionarmos e modificarmos funcionalidades, características e comportamentos, além da corrigirmos problemas e erros.

No caso de desenvolvimento de software, por exemplo, essas atividades podem incluir programação, diferentes tipos de testes e de documentação etc. Com Scrum, o trabalho de desenvolvimento de um produto é realizado continuamente.


Exemplo: loja virtual

Temos como objetivo vender nossos produtos on-line. Ao final do primeiro de vários ciclos curtos de desenvolvimento, já implementamos uma loja virtual que, quando colocada em produção, permitirá a venda, mesmo que básica, de nossos artigos mais rentáveis para os usuários compradores com maior potencial de compra. Em seguida, recebemos o feedback de pessoas relevantes e implementamos, no ciclo seguinte, algumas melhorias decorrentes que consideramos necessárias.

Somente agora disponibilizaremos a loja para os nossos usuários compradores, visando apenas àquele perfil com maior potencial de compra. Esses usuários, ao começarem a acessar, realizar buscas e comprar, gerarão métricas que nos ajudarão a definir o que melhorar na loja e o que implementar em seguida, nos próximos ciclos. Continuaremos com o trabalho, ciclo após ciclo e, aos poucos, alcançaremos mais usuários compradores e ofereceremos mais produtos, e em cada vez melhorando a experiência.


Exemplo: campanhas de marketing

Somos uma agência de marketing digital e desenvolvemos nossas campanhas trabalhando em ciclos curtos de uma semana. Nossas equipes são multifuncionais e cada uma possui fortes conhecimentos em SEO, ciência de dados, criação de roteiro e desenho gráfico, entre outros. Os membros das equipes trabalham em conjunto, sempre em busca de um objetivo bem definido, planejado no início do ciclo. Ao seu final, fazemos uma videoconferência com os clientes que foram o foco do nosso trabalho e coletamos feedback, que vai alimentar o trabalho do ciclo seguinte.


Exemplo: automação de processos

Desenvolveremos a automação de processos internos repetitivos em nossa organização, com o objetivo primário de liberar colaboradores para realizarem trabalhos mais nobres. De acordo com esse objetivo, o maior valor está em desenvolver a automação daquelas rotinas que ocupam mais tempo do nosso pessoal. E é por aí que começaremos, desde o primeiro de vários ciclos curtos de desenvolvimento do produto, gerando rotinas de automação e substituindo de parte em parte o trabalho manual. Seguiremos priorizando o trabalho perseguindo esse objetivo e entregando o mais frequentemente possível, liberando cada vez mais tempo do nosso pessoal.


Exemplo: telecomunicações

Em nossa empresa de telecomunicações, possuímos produtos de software que nos ajudam na operação do dia a dia e na interação com os consumidores dos nossos serviços. Mantemos equipes razoavelmente estáveis, que cuidam tanto do desenvolvimento quanto da operação e evolução desses produtos. São esses produtos que, de fato, apoiam todo o funcionamento da nossa empresa e nos permitem ter um negócio lucrativo. As equipes trabalham com Scrum em ciclos curtos, continuamente adicionando funcionalidades e modificando os produtos de forma a nos ajudar a atender cada vez melhor às necessidades dos nossos usuários, tanto internos quanto externos. Essa constante evolução nos permite estar à frente da concorrência e responder rapidamente a qualquer movimento relevante do mercado.


Ao aprender Scrum, você passará por termos como entregas de valor, trabalho em equipe, autonomia, facilitação, motivação e relacionamento com os clientes e usuários, entre tantos outros. Scrum utiliza-se de poucos conceitos realmente novos e, na minha opinião, essa é uma de suas grandes qualidades: juntar diversas ideias e práticas de mercado, muitas já conhecidas e consagradas, de uma forma organizada e direcionadas a contextos em que se mostram adequadas.

Clientes e usuários

Neste livro, chamo de clientes aqueles que solicitam ou contratam o desenvolvimento do produto, e de usuários aqueles que efetivamente utilizam o produto. Clientes podem ser usuários, mas não necessariamente o são.

É importante lembrar que não existe uma solução única para todos os problemas. Scrum é um framework simples e pequeno e, assim, funciona bem em cada contexto se for usado em conjunto com outras técnicas e práticas a serem escolhidas, experimentadas e adaptadas. É uma excelente escolha para o desenvolvimento de produtos, para as organizações que realizam esse trabalho e para os seus clientes. Os benefícios obtidos com o uso do Scrum serão explicados ao longo deste livro. A seguir, sumarizo alguns deles.

1.2 Entregas de valor

Um estudo de 2001 informa os resultados de uma pesquisa em que foram analisados 400 projetos de desenvolvimento de software durante 15 anos, em uma época em que pouquíssimos projetos utilizavam Scrum e similares. Em nenhum dos projetos analisados mais de 20% das funcionalidades entregues foram utilizadas por seus usuários (COHEN et al., 2001).

Esses números evidenciam o que nossa experiência já nos mostra: o quanto somos ineficazes em nosso trabalho, já que a maior parte do que produzimos não atende às necessidades dos usuários.

No cenário mais tradicional, é definida uma longa lista de funcionalidades a serem desenvolvidas antes de qualquer entrega, sob a crença de que uma extensa e detalhada análise de requisitos inicial vai se traduzir em um produto de sucesso. Assim, clientes ou pessoas de negócio decidem antecipadamente os detalhes do produto que será criado durante meses adiante e mudanças posteriores nessa definição não são bem-vindas. São, desse modo, induzidos a listar tudo o que puderem imaginar naquele momento, gerando como consequência um grande desperdício. Essa prática nociva de definir e detalhar o escopo antes de iniciar o desenvolvimento do produto é conhecida como BDUF (veja em Scrum é ágil, no capítulo O que é Scrum?).

Em outro cenário comum, o trabalho é realizado em ciclos curtos e com um escopo flexível e evolutivo, assim como fazemos com o Scrum. No entanto, embora o produto seja demonstrado e receba feedback no decorrer de seu desenvolvimento, ele apenas sofrerá algum tipo de uso real após um longo período.

Em ambos os cenários, cometemos o erro de definir o produto nos mantendo distantes daqueles que vão utilizá-lo, bem como do uso em si. A entrega para os usuários será realizada apenas ao final do projeto ou após a conclusão de uma grande etapa. Dessa forma, investimos no trabalho por um longo tempo sem obter qualquer retorno, que é esperado apenas como resultado dessa entrega. Não há, no entanto, qualquer garantia de que a entrega realmente vai atender às necessidades dos usuários e, portanto, de que vai gerar sequer algo próximo do valor esperado.

O uso define o produto.

Essa afirmação circular que criei e que tenho utilizado em meus treinamentos indica que é somente ao interagir com partes funcionando do produto, e que potencialmente lhe gerem valor, que o usuário começa a ser capaz de entender melhor como esse produto pode ajudá-lo a resolver suas necessidades. Como consequência, uma das práticas de mercado mais arriscadas é a de detalharmos um grande escopo e demorarmos a oferecer aos usuários algo pronto que eles possam ver, utilizar e, somente então, oferecer feedback a partir desse uso tardio. O que criamos e entregamos para nossos usuários constitui apenas uma hipótese de algo útil para eles, que assim deveria ser validada ou invalidada o mais rapidamente possível. Como conclusão, o uso do que já foi entregue é necessário para guiar a definição e construção do produto. Quanto mais postergarmos essa possibilidade de feedback, maior é o potencial desperdício gerado com a construção de um produto realizada sob premissas erradas.

Com o uso do Scrum, o desenvolvimento do produto ocorre em ciclos curtos. Em cada um deles, implementamos ao menos um incremento pronto desse produto, definido a partir do que acreditamos serem as maiores necessidades para os clientes e usuários naquele momento. Cada um desses incrementos, somado aos anteriores, é um produto funcional. Esse produto é, portanto, um candidato a entrega, que recebe algum feedback de clientes e demais partes interessadas ao verem e interagirem com ele em uma reunião ao final de cada ciclo.

No entanto, é apenas quando colocarmos essas partes funcionando do produto nas mãos de usuários que receberemos o feedback mais valioso, provindo do uso real do produto. Esse feedback permite que os detalhes do produto emerjam ao longo de seu desenvolvimento. Por essa razão, buscamos realizar entregas para usuários reais desde cedo e com frequência. E quando, por exemplo, tomamos decisões equivocadas sobre o produto, esse feedback obtido rapidamente a partir do uso gera transparência sobre o problema e permite correções de rumo. Dessa forma, o produto é continuamente definido e seu trabalho de desenvolvimento é ordenado a partir do entendimento em constante evolução das necessidades a serem atendidas, em consequência ao uso do próprio produto.

Esse processo de definição do produto a partir do seu uso busca garantir o desenvolvimento de um produto de valor.

1.3 Entregas frequentes

Em projetos tradicionais, o trabalho consiste em realizarmos tarefas definidas em um longo plano, que geralmente devem ser cumpridas quase em sua totalidade para que possamos entregar o produto para seus usuários o utilizarem. Nesses cenários, não existe a preocupação em convergir desde cedo para algo entregável, pois há a crença equivocada de que tudo deve ser criado para que possamos entregar algo. Assim, apenas uma ou poucas entregas são programadas.

Para o desenvolvimento de software, por exemplo, é comum ordenarmos as tarefas de forma a desenvolver o produto módulo após módulo, camada após camada, passo após passo no fluxo do uso do produto ou, mais frequentemente, utilizando alguma combinação dessas possibilidades. Algo similar acontece com outros tipos de produtos e serviços: o trabalho é orientado ao cumprimento integral das tarefas planejadas.

Essa forma de trabalhar nos leva ao risco máximo de tudo ou nada para cada entrega planejada. Ou seja, ou chegamos à data estabelecida com tudo pronto, ou não teremos nada a entregar. Infelizmente o pior cenário é o mais provável de acontecer. Não é possível, por exemplo, entregar um software sem testes, ou sem a camada de interface com o usuário, ou sem um passo essencial no seu fluxo de uso, como o pagamento de uma compra realizada. Dessa forma, com frequência geramos atrasos nas entregas.

O uso de equipes funcionais, cenário em que cada equipe realiza uma função distinta e bem definida, reforça o problema nas entregas. Essas equipes, em conjunto, não são geralmente capazes de convergir para algo de valor com frequência para seus usuários. O trabalho a ser realizado, nesses casos, deve passar por uma sequência de equipes funcionais, cada uma realizando a sua parte no desenvolvimento do produto, até que possa ser entregue. Sempre que há essa transferência de responsabilidade sobre um item de trabalho (ou seja, uma passagem de bastão), esse item entra na fila de trabalho a ser realizado da equipe funcional que o recebe. Há, consequentemente, a geração de um tempo de espera, pois a equipe estará trabalhando de acordo com suas prioridades quando o item chegar. O mesmo acontecerá quando essa última equipe funcional passar o item de trabalho à equipe seguinte, e assim por diante.

As esperas aumentam consideravelmente o tempo necessário para implementarmos algo que possa ser entregue aos usuários e, portanto, diminuem as oportunidades de entregas. Elas também podem tornar a possibilidade de entrega ainda mais imprevisível do que já é, potencializando os riscos de não as realizar nas datas previstas. O problema piora ainda mais quando ocorre o refluxo, ou seja, quando itens de trabalho são devolvidos a alguma das equipes funcionais anteriores, em geral por conta de defeitos encontrados (por exemplo, por uma equipe de controle de qualidade ou de auditoria).

No trabalho com Scrum, o produto é construído em ciclos curtos e incrementalmente, partindo-se do que cremos serem suas partes mais importantes. Em cada ciclo, o foco não está no simples cumprimento de tarefas planejadas, mas sim na realização de um trabalho convergente para algo entregável. Ciclo a ciclo, o time produz algo pronto, que funciona e que potencialmente representa valor para seus clientes e usuários. Cada incremento produzido em cada ciclo representa um passo seguro de trabalho pronto, já que oferece uma oportunidade de entrega. Como consequência, o produto pode, inclusive, já ser introduzido no mercado em um curtíssimo prazo.

O time que desenvolve o produto com Scrum é multifuncional ou multidisciplinar, o que significa que possui entre seus membros todos os conhecimentos e habilidades necessários para o desenvolvimento do produto, de ponta a ponta. Esse time produz partes prontas e funcionando do produto em cada ciclo curto do seu desenvolvimento. Dessa forma, Scrum evita o cenário em que um time deveria esperar pelo trabalho de outros times para poder começar a trabalhar em algo.

No desenvolvimento de software não é incomum o item ter que passar necessariamente pelo trabalho de validação de requisitos, de design e de segurança, por exemplo, antes de chegar ao time de desenvolvimento do produto. Na outra ponta, Scrum também evita ainda que o trabalho realizado por esse time tenha que passar por outros times antes de chegar nas mãos dos usuários. Ou seja, o trabalho ainda poderia ter que passar, por exemplo, pelos testes de um time de qualidade, que por sua vez devolveria ao time uma lista de problemas a serem corrigidos e, somente após aprovado em novos testes, o produto chegaria a um time de operações que, dentro de suas prioridades, finalmente poderia o colocar nas mãos dos usuários.

O uso de times multifuncionais, portanto, elimina ou, ao menos, minimiza dependências externas. Ou seja, buscamos eliminar esperas no desenvolvimento do produto, sejam as esperas por entradas ou, na outra ponta, por validação, maximizando a eficiência no trabalho. Aumentamos, portanto, a chance de termos partes do produto prontas em cada ciclo de seu desenvolvimento. Seguindo a mesma ideia, ainda que haja mais de um time trabalhando no desenvolvimento de um mesmo produto, cada time será multifuncional.

Caso identifique uma habilidade necessária em que é deficiente, o time busca formas de incorporar aprendizado suficiente para ser capaz de desenvolver o produto. Além disso, ao trabalharem juntos e dividirem responsabilidade sobre o produto sendo desenvolvido, os membros do time aprendem uns com os outros e o conhecimento vai gradualmente se disseminando entre eles. Esse conhecimento compartilhado ajuda a minimizar

Você chegou ao final dessa amostra. para ler mais!
Página 1 de 1

Análises

O que as pessoas acham de Scrum

0
0 notas / 0 Análises
O que você achou?
Nota: 0 de 5 estrelas

Avaliações do leitor