Backlog DEEP, Histórias INVEST e Tarefas SMART

Atualizado em 29/12/2019 com os slides e vídeo!

Quem trabalha comigo há algum tempo sabe o quanto eu repito a frase “agile não é bagunça” e quando o assunto é o backlog do time, isso não pode ser menos verdade. Existe uma má interpretação do Manifesto Ágil e da própria cultura Lean-Agile em geral que entende que não se precisa ter documentação em projetos rodando sobre frameworks ágeis.

Pura mentira!

A grande mudança de mindset nos métodos ágeis é criar a documentação estritamente necessária e somente quando for necessária, ao invés de gastar meses escrevendo documentos de Visão do Produto, Especificações Funcionais e Não-Funcionais e por aí vai. Isso não quer dizer, no entanto, que jamais vamos ter este tipo de documentação ou algo próximo à elas, mas que vamos distribuir a sua produção ao longo de várias sprints conforme nosso entendimento for aumentando e a necessidade se torne emergente.

E por que eu falo que agile não é bagunça?

Porque justamente em um ambiente auto-gerenciável e sem metodologias prescritivas é que precisamos do mais alto grau de organização e isso começa com nosso requisitos ágeis. No artigo de hoje falarei sobre três acrônimos bem populares para ajudar na organização dos requisitos ágeis:

É importante ressaltar que estes acrônimos são norteadores para a criação e organização destes artefatos e de que não devem se tornar uma “religião” nem criar fanáticos que impeçam os projetos de prosseguirem apenas porque alguma demanda não atende 100% a todos requisitos do acrônimo. Use-os como guias e não como grilhões.

No final deste artigo você encontra este material em forma de slides e nesse link você vê o vídeo da minha palestra sobre este assunto.

Vamos começar?

Backlog DEEP

DEEP é um acrônimo para Detalhado, Estimado, Emergente e Priorizado e são as características que o Product Owner deve buscar sempre em seu backlog.

Detalhado quer dizer que o backlog deve ter os detalhes suficientes para garantir clareza que propicie execução, mas não detalhado em demasia que gere desperdício. Entenda que a necessidade de profundidade no detalhamento é proporcional à emergência de uso do backlog, ou seja, os itens que vão entrar na próxima sprints (mais emergentes) devem estar melhor detalhados, enquanto que os itens que vão entrar daqui a várias sprints, podem estar bem menos detalhados.

Detalhamento de Backlog
Detalhamento de Backlog

Estimado quer dizer que todo item quando chega a um nível de detalhamento suficiente deve ter uma estimativa de esforço associada a ele, uma vez que o backlog não é apenas uma ferramenta de trabalho, mas e planejamento. Essa estimativa pode ser em horas, em pontos, em t-shirt size, em E/EE/EEE ou o que você possa imaginar e que faça sentido para seu time. Essa estimativa inclusive lhe auxilia a entender se o nível de detalhes está bom o suficiente, pois via de regra itens de backlog com uma estimativa muito alta deveriam ser quebrados em itens menores (a técnica de Planning Poker ou de Nivelamento de Features ajuda nisso).

 

T-Shirt Size
T-Shirt Size

Emergente quer dizer que o backlog evolui conforme o Product Owner vai aprendendo sobre o produto e o mercado vai lhe dando feedback sobre seus lançamentos (seu MVP, por exemplo), ele não é estático. O constante refinamento do backlog permite que o produto reaja bem a mudanças de estratégia e de escopo, ao invés de se apegar a um planejamento waterfall. O segredo aqui é rever todo o backlog a cada ciclo construir-medir-aprender do Lean Startup.

Ciclo do Lean Startup
Ciclo do Lean Startup

Priorizado quer dizer que a ordem em que os elementos estão dispostos no backlog importa. Os itens mais prioritários devem estar ao topo, enquanto que os menos prioritários devem estar mais embaixo. Os critérios e técnicas utilizados para priorização variam muito de Product Owner para Product Owner, de produto para produto e de mercado para mercado. Para o Scrum, não importa qual é a sua técnica, mas sim que o resultado deve gerar valor para os clientes e para a empresa.

WSJF - Técnica de Priorização do SAFe
WSJF – Técnica de Priorização do SAFe

Histórias INVEST

O acrônimo INVEST é um trocadilho para dizer que devemos “investir” tempo na escrita de boas histórias de usuário, tema de outro artigo aqui do blog. INVEST significa Independente, Negociável, Valiosa, Estimável, Small (Pequena) e Testável.

Independente significa que uma boa história de usuário não depende de outras e que outras não dependem dela. Que qualquer história deveria poder ser desenvolvida em qualquer ordem, conforme a prioridade que o Product Owner determinar. Sabemos que isso não é lá muito fácil de se alcançar, mas é sempre bom chegar o mais próximo possível disso.

Negociável significa que toda boa história é uma co-criação, uma negociação entre profissionais de negócio e profissionais técnicos. Uma história deve capturar a essência de um requisito, mas não os seus detalhes, que devem ser criados de forma colaborativa e emergente. Ao longo do tempo, mais detalhes serão adicionados a cada história conforme o produto evolui e os usuários demonstram novos comportamentos. Aqui entram os 3C’s necessários em todas histórias: Card, Conversation e Confirmation.

Valiosa quer dizer que toda história deve agregar valor ao produto e principalmente, ao usuário-chave da mesma. Uma historia jamais deveria agregar valor apenas ao desenvolvedor ou apenas ao negócio, e sim sempre centrada no cliente. O Product Owner sempre se deve perguntar se ele tornará melhor a vida do cliente ao colocar aquela historia em produção. A técnica de Nivelamento de Features pode ajudar a determinar o quão valiosa é cada história.

Estimável é semelhante ao que já falamos no DEEP sobre o backlog. Para entregar um backlog estimado que me permita planejar meu roadmap de produto, é necessário ter histórias estimadas primeiro. E para conseguir estimar as histórias elas precisam ser pequenas e claras, com detalhes suficientes e bom nível de entendimento entre negócio e técnicos. Esta estimativa não precisa ser precisa, mas deve dar noções de grandeza que ajudem na tomada de decisão, priorização, etc.

Small (Pequena) para que seja possível entregá-la em no máximo uma sprint, caso contrário ela será um épico. O grande desafio obviamente é o equilíbrio entre histórias pequenas o suficiente para que seja possível estimar, mas não tão pequenas que não entreguem valor algum para o cliente. Na verdade esse é o desafio de todo o INVEST, conciliar todas as características desejáveis em uma história. Via de regra, uma história não deveria levar mais do que alguns dias de um par de programadores trabalhando nela, se está levando mais de uma semana é uma dica de que deveríamos pensar em quebrá-la.

Testável indica que toda história deve poder ser coberta de testes para validar se seus requisitos funcionais e não-funcionais foram atendidos, geralmente abordados nos critérios de aceitação da história. Uma história que não podemos testar para garantir seu funcionamento não é uma boa história, pois ou não está Independente ou é pequena demais e não entrega valor algum.

Livro para Agile Coaches
Livro para Agile Coaches

Tarefas SMART

E para terminar, o acrônimo SMART é o mais famoso dentro e fora da computação uma vez que é usado para definir muito mais do que tarefas de qualidade, mas boas métricas, bons objetivos e por aí vai. Isso porque SMART é um acrônimo para Specific (Específica), Mensurável, Alcançável, Relevante e Temporal.

Specific (Específica) indica que toda tarefa deve ter uma responsabilidade única, ser coesa com seu objetivo e entregar apenas uma parte de uma história de usuário. Para quem é programador, é o mesmo que aplicar o princípio SRP (Single Responsibility Principle) do SOLID para tarefas. Ser específica ajuda a história ser Alcançável, Mensurável e Temporal, além de garantir o entendimento de todos no time.

Mensurável é uma característica desejável para apoiar o planejamento da sprint. Se eu não tenho como medir uma tarefa, como sei se entregaremos ela a tempo? Aqui não importa a unidade de medida, embora o ágil encoraje muito mais o uso de pontos do que de horas, desde que a unidade faça sentido para todos no time e gere informação valiosa para o time e para a empresa.

Alcançável é um requisito básico para toda tarefa. O time tem que ter as competências e recursos necessários para conseguir entregar a tarefa. Simplesmente não adianta definir como prioridade uma tarefa que ninguém sabe fazer ou que vai levar tanto tempo que ela por si só deveria ser uma história ou épico. Definir tarefas inalcançáveis para o time é o primeiro passo para perder o time, até mesmo por isso que geralmente a atividade de quebra de histórias em tarefas e feitas pelo Dev Team e não pelo PO.

Relevante tem a ver com o valor que esta tarefa agrega ao todo da história. Se a tarefa não agrega em nada, ou seja, é irrelevante para a história, ela não deveria ser feita. Tarefas são quebradas para ajudar os desenvolvedores a organizarem seu trabalho, mas cada uma deveria poder ser explicada em como contribui para a história principal.

Temporal quer dizer que toda tarefa tem um tempo para ser realizada, ela tem de estar delimitada a uma timebox específica, previamente combinada entre os membros do time e utilizada para ajudar na priorização e planejamento da sprint.

Claro, nenhum desses acrônimos é bala de prata e usar todos eles juntos, todos os dias, é um desafio imenso. Mas não desista, é justamente esta busca pela perfeição no trabalho com backlog, histórias e tarefas que cria maturidade em times ágeis.

E você, conhece algum outro acrônimo que eu não citei aqui? Deixe nos comentários!

* OBS: curtiu o post? Então dá uma olhada no meu livro de Scrum e Métodos Ágeis e/ou no meu curso sobre o mesmo assunto!

Curso de Scrum e Métodos Ágeis
Curso de Scrum e Métodos Ágeis

Métricas que todo Agile Coach deveria estar olhando

Tem algum tempo que escrevi um artigo falando sobre métricas ágeis para Scrum Masters ficarem de olho. Como William Deming sempre dizia, o que não se mede, não se gerencia e apesar do Scrum Master não ser um gerente, a sua posição de servo-líder lhe exige um olhar mais clínico da performance e saúde do time, o que facilita muito tendo métricas para se apoiar.

Mas enfim, e o Agile Coach?

O agilista a nível organizacional também precisa acompanhar métricas e elas podem inclusive serem compartilhadas com os Scrum Masters em um esforço coletivo de melhoria contínua, auxiliando na transformação da empresa como um todo. Quando estive quando estive quase dois anos à frente de uma grande transformação ágil em um banco gaúcho, eu usei de muitas métricas para acompanhar o progresso dos times e da transformação como um todo e a ideia deste artigo é compartilhar um pouco disso.

Roda Ágil

Essa ferramenta é muito interessante, tanto pro Scrum master quanto pro Agile Coach. A Roda Ágil é uma ferramenta criada por Ana G Soares, uma Agile Coach catarinense, que se inspirou na Roda da Vida do coaching profissional (uma das minhas dicas para se tornar um Agile Coach é fazer uma formação de coaching profissional).

Basicamente a roda é dividida em algumas seções e o coach aplicando a roda (individualmente ou em grupo) lê, explica e faz perguntas sobre aquela sessão, sendo que dependendo do formato de aplicação a(s) pessoa(s) responde abertamente ou apenas reflete sobre o que foi perguntado, escrevendo em um papel para organizar os pensamentos. Depois de algumas perguntas da mesma sessão, pede-se que o coachee (quem está passando pelo processo de coaching) dê uma nota para a situação atual do seu time em relação aquela seção.

Após passar por todas seções, pode-se colorir a roda de maneira que ela fique bem visual e os gaps apareçam facilmente, como na imagem abaixo.

Roda Ágil
Roda Ágil

Enquanto na roda original do coaching temos seções como Relacionamentos e Finanças, na Roda Ágil temos Pipeline e DevOps. Faz sentido, não? Eu particularmente uso uma versão pessoal que fiz, com menos áreas e focando no que deve trazer mais valor para o time no momento.

Com base no resultado da roda (que é apenas uma fotografia do momento), o Scrum Master pode identificar junto do time pontos a se trabalhar, ações e estratégias de melhoria, o que pode ser feito em uma Sprint Retrospective. Já o Agile Coach auxilia o SM e guarda o resultado da roda para conferência futura, para verificar se este time está conseguindo avançar ou não.

É importante nunca comparar um time com outro, pois o rigor e consequentemente a escala usada para pintar a roda pode variar entre os times. A Roda serve para o time se comparar consigo mesmo entre um ciclo e outro de melhoria.

Outra ferramenta parecida e que talvez você se interesse em usar é o Team Self-Assessment do SAFe. Segue a mesma ideia mas já inclui as perguntas , ou seja, é para ser feita de maneira individual e completamente introspectiva, enquanto que a Roda Ágil tem um fit maior com os princípios ágeis de transparência, colaboração, comunicação, etc. Ainda assim, pode ser uma opção, especialmente se você tiver times distribuídos.

Lean Enterprise Radar

Já que falei em SAFe, não posso deixar de citar o excelente Lean Enterprise Radar, fruto de um assessment muito bem construído pela Scaled Agile Inc. A ideia aqui é medir a empresa e não o time, então é uma ferramenta mais focada em gestores e executivos, para o Agile Coach aplicar.

Você já parou para pensar em que nível da sua transformação ágil sua empresa está hoje? Considerando 15 competências cheias de perguntas que derivam em um gráfico de radar, você pode ter esse diagnóstico mostrando como está a sua Cultura DevOps ou sua Governança Lean.

Lean Enterprise Radar
Lean Enterprise Radar

Como o Agile Coach muitas vezes vai ser um dos líderes da transformação e o principal facilitador da mesma no dia a dia, tirar essa fotografia junto aos gestores e executivos com alguma regularidade vai ajudar a identificar os principais ofensores à transformação e a evolução da mesma.

Talvez a organização não vá querer evoluir em todas essas frentes com a mesma intensidade, então adapte a ferramenta à sua realidade, embora a minha experiência mostre que Business Agility é isso aí mesmo.

Outro uso possível dessa ferramenta é combiná-la com um Modelo de Maturidade, construído a partir dos objetivos da empresa + resultado de um primeiro Lean Enterprise Assessment.

Nível de Maturidade dos Times

Quem me conhece sabe o quanto eu gosto de modelos de maturidade. Embora polêmicos dentre os agilistas é uma prática relativamente comum tanto entre metodologias tradicionais (CMMI) quanto ágeis. Os anos como Agile Coach profissional me mostraram que um modelo de maturidade bem construído ajuda e muito a dar o norte e o passo da transformação digital e/ou ágil de uma empresa.

Eu já escrevi bastante sobre esse assunto neste artigo sobre modelos de maturidade gamificados e não quero repetir por aqui. Como informação adicional eu recomendaria que você primeiro tirasse uma fotografia atual da empresa e dos times no que tange agilidade. Pode usar o Lean Enterprise Assessment que citei antes.

Depois da fotografia, defina onde queremos estar daqui há um ano em termos de Business Agility e Transformação Digital, olhando a fotografia e vendo o que faz sentido e/ou é alcançável com os recursos que queremos/podemos investir. No que tange Transformação Digital, sugiro se apoiar no Digital Transformation Framework da InfoQ, ilustrado na imagem abaixo.

Digital Transformation FW
Digital Transformation FW

Com essas informações em mãos, de onde estamos e onde queremos chegar em um ano, fica muito mais fácil de fazer o meu passo a passo de construção de modelo de maturidade gamificado que mostrei no outro artigo.

Ao término de cada ciclo, você pode realizar novos assessments, discutir se o plano ainda faz sentido (agilidade, afinal) e verificar a situação dos times frente ao modelo de maturidade: quantos subiram de nível no último ciclo, se algum caiu (se isso for possível no seu modelo), quantos novos entrantes surgiram, quantos se formaram (se não for um jogo eterno), etc.

Essas são apenas três ferramentas que podem gerar insights importantes para Agile Coaches liderando e/ou facilitando transformações ágeis e espero que lhe sirvam de inspiração.

Conhece mais alguma? Tem alguma dúvida sobre as apresentadas?

Deixe nos comentários!

* OBS: curtiu o post? Então dá uma olhada no meu livro de Scrum e Métodos Ágeis e/ou no meu curso sobre o mesmo assunto!

Curso de Scrum e Métodos Ágeis
Curso de Scrum e Métodos Ágeis

Os 6 melhores livros para estudar metodologias ágeis

Atualizado em 23/10/19 com a adição de uma indicação bônus!

Vez ou outra eu recomendo livros que já li aqui no blog, geralmente relacionados à empreendedorismo, que é o que mais tenho lido nos últimos anos. Hoje resolvi falar de livros sobre uma outra paixão minha: gerenciamento ágil de projetos. Desde 2010, quando conheci e me especializei no uso de Scrum e outras metodologias ágeis que não parei mais de estudar e ensinar o assunto para outras pessoas.

Após algum treinamento ou palestra, sempre vem aquela pergunta: que livros você recomenda? Pois bem, aqui vão eles!

É bom reforçar que, antes de ler qualquer livro, você já deve ter lido e entendido o Manifesto Ágil de 2001.

Os livros que eu recomendo são (sem nenhuma ordem específica):

Clique nas capas para mais detalhes e para adquirir os livros. Não, eu não faço pirataria e não vou colocar (nem permitir nos comentários) livros para download que não sejam realmente gratuitos.

Boa(s) leitura(s)!

Guia do Scrum
Guia do Scrum

O Guia do Scrum

Download gratuito

Existe uma frase popular que diz: “O Scrum é um framework simples de entender, mas difícil de dominar”. Por que isso?

Estamos falando de um framework ágil, e não de uma metodologia de desenvolvimento de software como RUP, ou seja, não há uma receita pronta aqui, mas sim uma estrutura mínima a ser seguida em um eterno fluxo de construir-medir-aprender assim como o do Lean Startup. Há apenas esse livro gratuito, de 19 páginas, para ser estudado e praticado ad infinitum.

Este guia é a base para entender o básico do Scrum e deve ser usado, na minha opinião, como ponto de partida de qualquer equipe que queira se tornar ágil. No entanto, conforme a equipe avança e percebe a necessidade de mais ferramental e informações, entram os demais livros abaixo listados.

Aqui no blog tem um bom resumo dele, caso queira saber mais, neste post.

Scrum
Scrum

Scrum: A arte de fazer o dobro de trabalho na metade do tempo

Comprar na Amazon

O Scrum foi co-criado por Ken Schwaber e Jeff Sutherland. Esse sr. Jeff serviu como militar e mais tarde, durante vários anos, atuou como gerente de projetos em grandes empresas públicas e privadas incluindo o FBI, sendo que essas experiências foram adicionadas ao que mais tarde ele e sr. Ken chamariam de Scrum.

É um excelente livro que conta as aventuras de Jeff Sutherland na aeronática americana em meio à guerra do Vietnã e como isso influenciou seu modo de gerenciar projetos. Também conta como aprendeu os princípios do Lean, das artes marciais japonesas e como isso tudo influenciou seu modo de pensar e acabou originando o Scrum. Em meio às histórias das origens do Scrum, ele fala muito sobre princípios e conta cases de aplicações bem sucedidas, de software à jornalismo.

Sinceramente? É uma leitura prazerosa e rica, mas não ensina Scrum para ninguém, gosto de indicar pois ajuda a entender os princípios e o mindset que originou o Scrum.

Implementando o desenvolvimento Lean
Implementando o desenvolvimento Lean

Implementando o desenvolvimento Lean de software: Do Conceito ao Dinheiro

Comprar na Amazon

Outro excelente livro que li já tem vários anos, desta vez de Mary e Tom Poppendieck. A Mary é uma engenheira com algumas décadas de desenvolvimento nas costas, que fala muito bem sobre Lean Software Development, outra técnica adaptada da indústria japonesa Toyota para o mercado de software, assim como o Kanban e até mesmo o Scrum (em partes).

Assim como o livro “Scrum: a arte de fazer o dobro de trabalho na metade do tempo”, que citei logo acima, a autora se prende demais em contar cases de sucesso e acaba demorando para entrar no Lean em si. No entanto, é muito enriquecedor do ponto de vista de princípios.

Programação Extrema
Programação Extrema

Programação Extrema Explicada: Acolha as mudanças

Comprar na Amazon

De todos os livros que vou indicar aqui, este é o único que nunca li. No entanto, conheço a trajetória de seu autor principal, que hoje trabalha no Facebook como mentor dos desenvolvedores mais jovens, Kent Beck.

Este livro é indicado pois é a obra-prima de Kent Beck (com a ajuda de Cynthia Andres), um dos signatários originais do manifesto ágil, movimento que difundiu as metodologias ágeis pelo mundo, e criador também das metodologias TDD (Test Driven Development) e XP (Extreme Programming).

Apesar do XP ser uma metodologia “concorrente” ao Scrum (que é a minha favorita), há conceitos muito valiosos no XP que cobrem “furos” do Scrum, como Pair Programming, só para citar um exemplo. Vale a indicação.

Uma versão tupiniquim e compilada deste livro pode ser encontrada na obra eXtreme Programming: Práticas para o dia-a-dia no Desenvolvimento Ágil de Software, do Daniel Wildt e sua turma. Uma leitura muito agradável e dinâmica, até mesmo mais contemporânea que o original do Kent Beck.

Kanban
Kanban

Kanban: Mudança evolucionária de sucesso para seu negócio de tecnologia

Comprar na Amazon

David J. Anderson teve uma ideia genial quando, em 2002, adaptou o modelo de kanban (cartões de sinalização) do chão de fábrica japonês para o mundo do desenvolvimento de software. Embora tenha se popularizado apenas em 2007, tornou-se algo extremamente mainstream nas empresas dentro e fora do âmbito de tecnologia. E aí entra esse livro.

O livro oficial do Kanban de David é a obra máxima sobre Kanban e a referência principal da Lean Kanban University, a organização criada para manter e promover o método no mundo. Embora Kanban um método evolucionário, seus princípios, principais práticas, método de implantação (STATIK) e diferentes tipos de abordagem são discutidos a fundo neste guia indispensável para profissionais à frente de projetos de software.

Para todos que acham que sabem implementar Kanban, este livro vai te mostrar que você não sabe tanto assim.

Scrum e Métodos Ágeis
Scrum e Métodos Ágeis

Scrum e Métodos Ágeis: Um Guia Prático

Comprar na Amazon

E por último, mas não menos importante, o livro que eu escrevi sobre Scrum e Métodos Ágeis em 2016. Trabalho com Scrum desde 2010, principalmente como Scrum Master, o responsável por garantir e aperfeiçoar os processos dentro do time. Depois de tantos anos, sprints e times diferentes, resolvi exteriorizar o que eu considero que funcionou nos times que eu trabalhei para complementar o Guia do Scrum, ou seja, não é um substituto ao Guia do Scrum, mas um adendo ao mesmo.

O Scrum fala por exemplo sobre fazer a Sprint Planning, mas não te diz como estimar as tarefas. Ele fala a Definição de Pronto, mas não te diz como criá-la. Fala sobre transparência no projeto, mas não te dá dicas de como alcançá-la. O meu livro procura preencher estas lacunas e só coloquei ele aqui por último na lista para não soar favoritismo.

Mas eu realmente acho que ele é um bom livro. 🙂

Agile Coaching
Agile Coaching

Bônus: Agile Coaching – Um Guia Prático

Comprar na Amazon

Pois é, não resisti à tentação e estou aqui divulgando mais um livro meu. Três anos depois de eu ter lançado meu primeiro livro sobre agilidade muita coisa mudou na minha carreira. Na data em que escrevo este trecho novo estou participando da segunda transformação ágil na minha carreira e aprendi muita coisa desde o primeiro livro.

Encare esta indicação como um tópico mais avançado, para quem já leu e aplicou os ensinamentos do meu primeiro livro. Esta obra é o que eu gostaria de ter tido acesso quando fui nomeado como Agile Coach em 2017, sério. Espero que lhe ajude se estiver na mesma situação.

Ah, e também tem o meu curso, logo abaixo!

Curso de Scrum e Métodos Ágeis
Curso de Scrum e Métodos Ágeis