Pergunta

Eu já trabalhou em duas equipes diferentes que usam a abordagem Agile / Scrum nos últimos dois anos e ambas as equipes estavam ansiosos para melhorar a forma como eles abordam o desenvolvimento de software. Na primeira equipa, poderíamos facilmente convencer nosso proprietário do produto para obter tempo para coisas internas como melhorar o sistema de compilação, a criação de melhores testes de integração, tendo uma estratégia de liberação melhor etc. Neste momento, o PO também está disposto a dar-nos tempo, mas ele está mais empurrando para trás, o que é razoável, como ele também deve pegar suas coisas feito.

De qualquer forma a minha pergunta é agora, como é que outras equipes lidar com isso? Você cria uma história de melhoria e colocá-lo sobre a mesa durante o planejamento ou você manter um "balde" de tempo em torno de tais coisas? Quão difícil é na sua experiência para convencer o proprietário do produto para fazer a hora get para melhorar? Depois de todos estes tipos de melhorias irão beneficiar a equipe, mas não diretamente ou imediatamente o proprietário prodcut / negócio.

Foi útil?

Solução

Ótima pergunta. Eu acho que existem vários sabores de "itens de ação" de retrospectivas que merecem abordagens diferentes.

1) tarefas técnicas para as coisas de endereço como de dívida ou de infra-estrutura melhorias técnicas - como "Devemos assegurar que não temos chamadas de banco de dados na exibição de camada da nossa aplicação, cuz que nos fez perder tempo nesta iteração passado ... alguém deve fazer uma pesquisa através do código para se certificar de que nós não estamos fazendo isso em outro lugar ".

2) melhorias de processo (por exemplo, "as pessoas não estão vindo para os standups no tempo ... vamos começar a US $ 1 para doação de caridade sempre que alguém da tarde".)

A primeira categoria pode ser um trabalho significativo, ou pode ser simples. O exemplo que mostrou foi muito fácil ... mas pode gerar outras tarefas que precisam ser programados (por exemplo, removendo as chamadas de banco de dados nos 5 locais onde foram descobertos).

A segunda categoria devem ser manipulados / conduzido pelo gerente de iteração, gerente de projeto, gerente de scrum, etc. I (como um Scrum Master ou Project Manager) geralmente listá-los em um wiki do projeto e falar sobre eles em retrospectivas, vê-los off quando eles são abordados, e relatório para a equipe no status. I manter o fogo aceso.

Eu acho que o erro na primeira categoria - tarefas técnicas - é que nós não definir critérios de aceitação. Seus exemplos incluem "melhorar o sistema de compilação, a criação de melhores testes de integração, tendo uma melhor estratégia de lançamento". Estes são não-determinística e precisa ser enumerados em termos nítidas (usando pontos, se necessário). Então -. Melhorar o sistema de construção pode começar com uma tarefa técnica ou um ponto para avaliar as opções

Nós também precisamos quebrar-down e priorizar tarefas técnicas (por exemplo, talvez "melhores testes de integração" poderia começar com uma tarefa técnica de definir a cobertura de integração em curso, ou avaliar o percentual de erros que poderiam ser atribuídos a falhas de integração para construir o caso para investimento lá.

Depois de ter suas prioridades definido, então você pode transmitir o valor dos itens de alta prioridade e negociar com o proprietário do produto para o tempo para gastar com eles. Eu não sou um grande fã de baldes predefinidos para gastar em qualquer coisa ... mas ter a conversa com o proprietário do produto com os requisitos nítidas e ROI, e critérios de aceitação é fundamental.

Outras dicas

As melhorias devem ser parte do sprint da mesma forma novos recursos são. Cabe à equipe para demonstrar ao Product Owner que essas melhorias são necessárias para o próximo sprint. Isso pode retardar a taxa em que novos recursos são produzidos, mas é útil para o produto no final.

Por outro lado, eu tenho problemas com sprints que contêm apenas melhorias. Cada corrida deve produzir uma saída que pode ser demonstrado com o Product Owner.

cristal Métodos tem o conceito de reflexão Oficina como um meio para sintonizar o seu processo de desenvolvimento. Equipes se reúnem periodicamente (com menos frequência do que o seu ciclo de desenvolvimento, talvez) para discutir melhorias e status do processo. Come-se com 0-3 coisas que tentei este tempo que trabalhou e nós vamos manter, 1-3 coisas que não estão funcionando, e 1-3 coisas para tentar na próxima vez. A idéia é ter melhoria incremental no processo, bem como no produto.

No ano passado eu trabalhei para um dos muito primeiros Ágeis (XP) adopters / consultores / formadores. Ele teve uma boa abordagem que eu penso.

Nós nos encontramos a cada sexta-feira e acabamos de discutir o que funcionou eo que não funcionou. Gostaríamos de escrevê-las em dois grandes pedaços de papel (Ele era realmente para o papel e cavalete em vez de quadro branco porque era mais permanente e pode ser reposicionada mais facilmente).

As coisas que funcionaram poderia ser muito simples -. Nós interagiram bem como uma equipe, o emparelhamento correu bem, etc

As coisas que não funcionou eram tão simples e aleatória. Algumas pessoas podem estar resistindo paring, ou mesmo "O patrão não nos levar no seu barco, como prometido".

Toda semana seria também revisita passado "não funcionou" e ver se fixa-los -. Se assim for, eles sempre serão enumeradas na presente semanas coluna "fez o trabalho"

Embora nós iremos discutir soluções específicas, apenas trazendo os problemas em aberto tendem a ter um efeito muito positivo. Se eles permaneceram na lista "não funcionou" por 3 ou 4 semanas, gostaríamos de discutir diferentes soluções melhores / e fazer mais de uma tentativa deliberada de implementá-las.

Depois de um item passa uma semana ou duas na coluna "Trabalhou bem", nós deixá-lo cair, uma vez que mais ou menos tinha ficado esperado (a menos que continuou a melhorar).

Ele também fez tardes de sexta-feira um pouco mais interessantes, uma vez que foi um bastante diversão reunião todos pudessem participar.

Gostaria de usar um 'pico' de para essas coisas. Uma melhoria de processos / interna não poderia ser uma história de usuário, mas que faria um pico perfeito.

Eu não tenho muito a acrescentar aqui, porém, sinto que se deve ter um recurso dedicado para estas questões melhoria do ambiente relacionados e as tarefas não devem ser incluídos na burn-down gráficos. Se for um hardware adicional necessário para este projeto, então ele deve ter sido adicionado e orçado em avançado. Então, em última análise, estes não devem afetar a alocação de horas no scrum, porém nenhum trabalho afetados como resultado destas questões devem ser contabilizados para a justificação.

Não, um deve não criar histórias de usuários técnicos: teoricamente, e uma vez que eles geralmente trazem nenhum valor direto ao cliente, eles têm muito poucas chances de ser selecionado em uma iteração. Convencer o Product Owner é uma opção para aliviar isso, mas há uma outra ferramenta que pode ser usada aqui:. Folga

Slack é uma pequena parte de sua iteração reservar tempo para as tarefas melhorias. Se tudo correu bem durante a iteração, então você será capaz de usar esse tempo para essas melhorias. Por outro lado, você vai ter outra chance de cumprir seus compromissos no caso da equipe mais comprometido para a iteração (ou uma tarefa foram subestimados, mais difícil que o esperado ...)

Outra vantagem de usar folga é que isso vai diminuir a variação da velocidade como você provavelmente vai cumprir seus compromissos com mais freqüência, sem recorrer a horas extras.

Consulte Tom DeMarco Slack: Getting Past Burnout, busywork, eo Mito do total eficiência (ligação Amazon) - ISBN 0767907698.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top