0

Fibonacci, User Story Points e Frutas

Um time de profissionais com alguma experiência em desenvolvimento de software tem plenas condições de planejar sprints em algumas horas ou dias, a única premissa é desapegar dos detalhes e discutir apenas a complexidade, o suficiente para comparar e inferir o seu tamanho.

É claro que precisamos ter antes um tanto de auto-conhecimento e clareza no fluxo de trabalho necessário, responsabilidades, DoR e DoD, o restante é básico, como profissionalismo, empatia, senso de pertença e evitar erros conhecidos.

Na chincha, o tipo de estimativa é irrelevante, quer seja T-Shirt Size, User Story Points, Dias Ideais ou Jujubas, … a técnica usada para estimar não muda em nada a quantidade de software que uma equipe é capaz de construir em uma sprint de 10 dias.

Independente de ter sido estimado com tamanho M ou ter 5 pontos, ser 4 dias ideais ou precisar de 7 jujubas, não mudará o fato mais importante que é saber se ele junto de algumas outras histórias cabem ou não em um sprint de 10 dias úteis.

User Story Points

User Story Points usa a série de Fibonacci, uma sequência de números inteiros, começando por 1 e 1, com os subsequentes correspondendo à soma dos dois anteriores [1, 1, 2, 3, 5, 8, 13, 21, …], que em estimativas de software é usual fixar um teto, com frequencia 13 ou 21.

O uso desta série para estimativas de histórias tem o objetivo de desapegar dos detalhes e nos preocuparmos apenas com aspectos que determinem a mudança de patamar. Desta forma, quanto maior a incerteza, maior a história e maior a distância entre os números da escala.

Salada de frutas

Vejamos uma boa analogia sobre a arte de estimar usando Fibonacci e o estabelecimento de referências e comparações. Para visualizar o que estou afirmando proponho um exercício com a imagem abaixo, uma mesa com vários tipos de frutas.

Se o nosso projeto é desenhar e colorir frutas, posso estimar a partir do tamanho em área, perímetro, volume, mas existe também a existência de detalhes, número de cores, a abstração disso tudo podemos chamar de complexidade.

Complexidade diz respeito ao todo, shape, diâmetro, cores, mas se antigamente estimávamos listando cada um e todos estes detalhes, em metologias ágeis uma breve discussão sobre suas peculiaridades é suficiente para perceber se é mais ou menos complexo que outros.

Após discutir sobre as frutas, é possível estabelecer o que seria a menor fruta em sua complexidade geral, para desenhar, pintar e entregar. Feito isso, vamos estimando comparativamente cada uma das outras.

Na prática, não há uma regra óbvia, cada time poderá estabelecer uma base e comparação para a sua estimativa, semelhante mas não necessariamente igual. Mesmo assim, se realizada de forma adequada e consciente, responsável, é provável que tudo dê certo.

Usando pontos sob o paradigma de complexidade relativa, a estimativa não é pelo tamanho da fruta, nem número de côres, mas pela complexidade comparativa, na percepção de esforço que teremos quando tivermos que desenha-las e colori-las.

Talvez o limão fosse o tamanho 1, será nossa referência de unidade, porque é liso, todo amarelo, o morango é menor, mas mais difícil de desenhar e colorir, por isso o 3, o abacaxi se equivale a abóbora grandona, bem maior, mas com shape menos complexo.

Isso não é muito diferente de software, as principais informações são as integrações, excepcionalidades inerentes a regras de negócio, sofisticação diferenciada, não queremos saber detalhes daquilo que é comuns, apenas do incomum.

Parafraseando Pareto e Juran, entre tantos detalhes triviais em cada tela de um sistema, haverá poucos detalhes vitais que as diferenciem em complexidade … uma percepção que se apura a cada experiência, porque afinal, estimativa se aprende estimando.

Já participei de projetos em que o time tinha alçada e decidiu não mais estimar, apenas discutir, entender e decidir quais caberiam em cada sprint. conforme prioridade e valor. Não é muito diferente dos outros tipos de estimativas, porque no final queremos apreender o que cabe ou não.

Mas por hora não entrarei muito nesta discussão, porque números, métricas, PxR e outras matemáticas ainda são necessárias para a maioria aprender, crescer e aperfeiçoar-se como profissionais … com números tudo fica um tanto mais explícito.

0

Guia rápido para usuário de GIT – By Eduardo Namba

Eduardo Namba, arquiteto de Soluções Sênior na Via Varejo Online, públicou um guia rápido com os principais comandos do Git lá no Linkedin. Eu perguntei pra ele se eu podia gerar um guia visual em tamanho A3, aqui está minha pequena contribuição para iniciantes só possível pela grande contribuição dele … Quem está iniciando com o Git agradece!

Principais comandos no git – Folha imprimível em A3

O artigo original está em https://www.linkedin.com/pulse/guia-r%C3%A1pido-para-usu%C3%A1rio-de-git-eduardo-namba

0

Crazy Eight (oito ideias em oito minutos em uma A4)

Me lembra vários jogos postados lá no http://jogos360graus.wordpress.com com o objetivo de nos fazer sair fora da caixa, podendo ser usado como proposto, como uma técnica de ideação e brainstorming ou como incentivo a criatividade e adaptabilidade, como é o charetting e outras.

Crazy 8 é uma proposta de ideação do Design Sprint que pode ser utilizada como um jogo, desafiando cada um dos participantes a ter até oito ideias em oito minutos, usando para isso uma folha A4 dobrada ao meio três vezes. Em cada um dos oito espaço marcados entre as dobras, desenhe ou registre graficamente a seu modo uma ideia, tentando evitar mais do mesmo, sem preconceito, mesmo que pareça maluca.

Desenho é o modo mais primário de comunicação, uma criança antes de falar ou escrever já registra suas emoções e percepções através de desenhos, então não intimide-se por técnica ou beleza, foque em registros livres, cada um a sua maneira … depois você terá a oportunidade de explicar seus desenhos, foque nas ideias e provocações.

Crazy Eights pode ser um passo de quatro, um roteiro iniciando pela troca de informações, registro de insights, ideação de oito ideias registradas graficamente através de desenhos e rabiscos em oito quadrantes de uma folha A4 em um tempo de oito minutos (Crazi 8’s), para então juntos trabalharmos a(s) melhor(es) opção(ões).

A referência que recomendo e chamo a atenção é o site https://designsprintkit.withgoogle.com/methods/sketch/crazy-8s/

Minha maior curiosidade ao ler sobre a técnica é que usualmente trabalhamos o coletivo, potencializando brainstormings em pequenos grupos, aproveitando ao máximo diferentes expertises e conhecimentos, que somados geramos sinergia (2 + 2 = 5). No caso do Crazy Eight, mesmo criando pequenos grupos, o primeiro passo é individual, cada qual registrando seus pensamentos.

0

O medo pode ser um aliado ou seu maior inimigo

O medo pode ser um aliado, como aquele medo que transmutamos em atenção e coragem para nos mover adiante, mas também pode ser um procrastinador, gerador de uma zona de conforto disfuncional, situações em que nos resignamos ou paralisamos frente a ele. Na regra o ser humano é movido mais pelo medo que pela convicção, mais pela pressão que pela paixão.

Uma das maiores bases para este entendimento é a Teoria da Dissonância Cognitiva, sobre ela já escrevi vários posts e já fiz várias palestras, trata-se de defesas psíquicas, quando nosso consciente angustiado com algo é ajudado pelo nosso inconsciente para transferir, projetar, negar, racionalizar ou reprimir, ao invés de encarar o problema, justificamos e nos escondemos atras dele.

Na sua vida pessoal é possível procrastinar mudanças, alternativas, oportunidades, riscos, a vida é sua e faça o que achar melhor, mas no trabalho cada vez há menos espaço para profissionais que são reativos, que só se justificam, que se resignam, … como me disse o guru Luiz Cláudio Parzianello em 2011, “vivemos uma época de mudanças, quem não muda, dança!”.

planos

As empresas não querem mais meros “apontadores de erros” ou “justificadores”, elas querem pessoas que ao perceberem problemas ou desafios, gerem planos de ação, propostas para tentativas de solução ou mitigação. Ficar no seu quadrado fazendo a sua parte e explicando os motivos nos outros quadrados que justificam porque não deu certo é muito vintage … resiliência no século XXI não é suportar a pressão, mas agir para coletivamente atenuá-la até zero.

Mas, atenção ao usar Agile, a mudança ou a falta dela como desculpa para sua zona de conforto não vai isentá-lo das consequências, o foco de todos nós precisa ser REALISMO e KAIZEN, em BABY STEPS, mudando o que é possível mudar em nós mesmos e no time, ao mesmo tempo que atendemos e surpreendemos, porque o restante é consequência, não pré-requisito.

Empresas não existem, o que existem são pessoas e o agente de mudanças é cada um de nós, mas é preciso ter estratégia, tática e realismo!

É preciso que individual e coletivamente se estabeleçam motivações de lócus internos, é preciso estabelecer uma estratégia de olhos no futuro, mas com realismo e pés no chão, mudança em ambientes organizacionais ocorrem em pequenos passos. Vivemos sistemas sócio-técnicos, a solução não está no método ou na estratégia, a solução está em cada um, nas pessoas, em você!

15/07/16 – A responsabilidade é nossa, não culpe o cliente
10/07/16 – Refleti e tenho tarefas … para os outros fazerem 😦

02/12/16 – Quem você é, um Atrasador ou Acelerador?
11/04/17 – Seu objetivo é o método ou o valor gerado por ele?
01/12/17 – NÃO entregar valor NÃO é opção em uma sprint

Desculpa aí, se você acha que está em uma cruzada contra o status quo e falta de compromisso com os princípios ágeis, sempre apontando múltiplos motivos e justificativas, sendo um formador de opinião de que assim não dá e tal, reclamando no cafezinho … VOCÊ É O QUE MENOS ENTENDEU E O MAIOR PROBLEMA PARA QUE AS COISAS REALMENTE COMECEM A ACONTECER!

4

Um blog 100% dedicado a Team Building Games

A algum tempo vinha pensando em lançar um blog com todos os jogos que eu usei ou uso em quebra-gelos, aquecimentos e Agile Games, pois o projeto saiu da cabeça e materializou-se em um MVP, um tema wordpress para portfólios que acredito que faz a sua parte \o/

Todos as ilustrações são da Luisa Audy e já temos 100 Team Building Games detalhados ou linkados para suas páginas de origem. A quem acessar, por ser um experimento, deixe seus comentários, sugestões, críticas ou mesmo compartilhe outros jogos que gostaria de ver por lá.

jogos

Se o feedback for positivo e agregar o valor que espero estar contribuindo para quem busca jogos, detalharei melhor os que lá estão e acrescentarei novos com a mesma frequência com que posto por aqui textos sobre Agile e vida em equipe, em organizações e boas práticas.

Se não for de interesse, vou eliminá-lo e manter tudo concentrado por aqui no meu blog de conteúdo e parto para outras ideias … então, por favor, registre seu feedback e, se gostar, compartilhe o blog de jogos para fazer chegar e verificarmos se seu formato interessa.

https://jogos360graus.wordpress.com/

0

Vida saudável não é uma revolução, está em cada pequena oportunidade

Uma vez a cada ano, compartilho um único post sobre outra de minhas paixões … cozinhar! Meu blog é sobre Agile, sobre trabalho em equipe, sobre Human Thinking, então vez em quando falo de saúde e diversão, porque trabalho faz parte da nossa vida:

20/07/12 – Pedrinhas de maça
17/03/13 – Pudim de maçã com pão
07/07/13 – Grostoli da colônia tem gosto de infância
23/05/15 – Granola feita em casa é tudo de bom
07/08/16 – Comidinha de gato
11/01/17 – Bruschettas vegetarianas

Neste final de 2017 vou compartilhar uma dica para fazer todos os dias uma saladinha saudável. Vá na feirinha horti-fruti de Sábado e compre a 1,50 os molhos fresquinhos de alfaces, rúcula, agrião, … o que gostar, nós colocamos cenoura, cebola, lave bem e corte a gosto em separado, tire o máximo de água, use uma dessas centrifugas manuais criadas para isso mesmo.

Pegue saquinhos e coloque um pouco de cada, pressione para tirar todo o ar e feche … Durante a semana temos garatido todos os dias uma super-saladinha fresquinha, já lavada, é só colocar na hora mais uns pedacinhos de tomate, talvez pepino, um pouco de sal, aceto balsâmico e azeite de oliva … Nos vemos na próxima feirinha \o/

A tempo, não coloque no saquinho nada molhado, tipo tomate, pepino, etc … Porque a umidade vai estragar as folhas rapidamente.

1

NÃO entregar valor NÃO é opção em uma sprint

A cada dia em um projeto SCRUM é preciso relembrar Pareto (80 x 20), bem como buscar inspiração na técnica de caminho crítico. Desde o release plan, product backlog e sprint backlog, daily e pós-daily, review e retrô, o discurso de valor é legal, mas só vale se entregarmos valor.

Quando cito Pareto em projetos, tem o estratégico pela necessidade do cliente e usuários, o tático na complexidade e capacidade, tem o operacional de cada dia, a nível de tecnologia, requisitos, funcionalidades, regras, … temos então nossa rede mental e caminho crítico.

Pareto: A regra dos 80/20 ou Lei dos poucos vitais para muitos triviais, afirma que aproximadamente 80% dos efeitos vêm de 20% das causas. Um dos ícone do Lean, a lenda Joseph Moses Juran, sugeriu este princípio e o nomeou em homenagem a Vilfredo Pareto e seus estudos.

Áreas de Convergência/Divergência: O caminho crítico é uma sequencia de atividades que representa o caminho mais longo de um projeto. Área de Convergência é quando várias atividades devem concluir para outra iniciar, Área de Divergência é quando uma é pré-requisito de várias.

Assim como um bom gerente de projetos, uma equipe ágil lida diariamente com a possibilidade de tomada de decisões relacionadas a riscos, rede, fragmentação, inclusão e exclusão de atividades, paralelismo e sequenciamento, recursos essenciais para auto-organização e sucesso.

Em uma liberdade poética, trago uma rede e seu caminho crítico propostas pela UniversoProjeto para discutir conceitos de caminho crítico, não representa a estratégia de histórias e tarefas em uma sprint mas é didática quanto a caminho crítico e áreas de convergência e divergência:

Em Agile, cada história possui sua rede no sprint, gerando um desafio tático diário ao time, como na abstração que montei logo abaixo … a entrega do mínimo valor (vitais) de qualquer história não pode ser comprometida em função de entregas triviais de outras histórias:

Diariamente, a cada novo fonte, objeto, classe ou método é preciso perceber o caminho crítico e lembrar de evitar triviais antes de vitais, valorizando eliminar gargalos e garantir entregas antecipadas, parciais, essa é a nossa missão: Entregar valor!

As vezes usamos de dissonância cognitiva para justificar o porque não vai ser possível, esquecendo de se utilizar de uma visão holística, onde o todo é composto de partes … equipes ágeis de alta performance esforçam-se em entendê-las e tomam decisões para garantir entregas e valor.

Acredite, adaptar-se não é resignar-se a inevitabilidade das mudanças, é diariamente mitigar, contornar, fracionar, eliminar ou reduzir áreas de convergências e divergência, focar na essência, de forma que a adaptação não seja a negação do valor, mas a confirmação dele.

Cada SPRINT é um pacto por valor a ser entregue

Planejado na inception e materializado no product backlog, a sprint backlog é um pacto gerado pelo time entorno do mix de domínio, conhecimento, expertises e percepções de todos, levando em condição valor, prioridade, complexidade, riscos e oportunidades.

A cada Daily e pós-Daily, nossa missão é repactuar o sucesso de nossas entregas, mitigando riscos, sempre focados no mínimo entregável de valor suficiente, sempre investindo no vital e questionando o trivial, justificando assim o porque do método ágil que praticamos.

Na medida que o sprint avança, a responsabilidade e necessidade de planos de ação e responsabilidade na aplicação de árvores de decisões vais tornando-se cada vez mais premente. No 1° dia, 2° e 3° temos mais opções, a partir do 4° e do 7° temos menor margem para manobras.

Estudo de caso: Em um cenário adverso, no segundo dia foi discutido opções e assumidos certos riscos, no quarto dia já é preciso concentrar esforços e no sétimo dia muitas vezes temos que tomar decisões difíceis, mas responsáveis frente ao compromisso de entrega de valor.

Para ser mais claro, quando falamos no sprint planning sobre compromisso com a excelência combinada, características funcionais otimizadas, regras, automações, camadas, etc, isto NÃO pode ser mais importante que a entrega, validação com o cliente, fluxo e cadência.

Se decisões tiverem que ser tomadas, ok, vamos depois discutir o porque foi preciso, vamos aprender com elas, vamos nos esforçar por melhorar nos próximos sprints, vamos incluir a discussão sobre o resgate e refatoramento do gap entre o que foi previsto versus o que foi feito.

Falando em valor e sprints, cuidado com o que promete, pois és responsável por quem cativas e NÃO entregar o máximo de valor a cada sprint NÃO é opção! O desafio e a solução todos terem este princípio em mente, sem stress, mas antenados ao máximo de entregas de valor.

Nossa linguagem ubiqua foca em valor para o cliente, se você mesmo assim não abre mão de atrasos por excelência técnica, em detrimento de valor antecipado, validação e aprendizado – PDCL – Desculpa, mas talvez seja uma linguagem ambigua e não ubiqua.

Se leu até aqui, tenho certeza que vai curtir ler esse outro, garantcho:  https://jorgeaudy.com/2014/11/04/divida-tecnica-um-mal-necessario-mas-nao-e-um-carma/