Scrum para equipes de especialistas

11

O Scrum é melhor para equipes com membros generalistas, ou seja, equipes em que pelo menos duas pessoas podem realizar as mesmas tarefas. Minha principal preocupação é encontrar boas soluções para adaptar o scrum (o que manter, o que remover, o que melhorar) para equipes compostas por especialistas?

Suponha que você tenha uma equipe de 5 desenvolvedores (não é real, apenas para o exemplo):

  1. Um matemático com fortes habilidades em C;
  2. Um desenvolvedor de banco de dados;
  3. Um desenvolvedor da Web;
  4. Um desenvolvedor de UX / GUI;
  5. Um arquiteto de software;

Aqui, todos são especialistas e ninguém pode substituir outra pessoa (não me importo com os riscos de formar uma equipe, quero me concentrar no scrum). Então, no contexto do scrum, aqui estão meus pensamentos:

  1. Planejamentos inúteis da primavera: de fato, quando o matemático diz que uma tarefa específica vale 2 pontos, ninguém pode votar contra ele;
  2. Métrica inútil de velocidade da equipe: como todos podem alocar qualquer número de pontos para suas próprias tarefas, a velocidade da computação não faz sentido;
  3. Substitua as reuniões diárias do scrum por reuniões semanais (mais longas): como cada membro da equipe está trabalhando em suas próprias tarefas, as reuniões diárias do scrum devem ser realmente importantes para manter um "espírito de equipe". No entanto, as reuniões diárias do scrum devem durar cerca de 15 minutos. Claramente, isso não é suficiente para entender o que os outros estão fazendo e farão. Além disso, o matemático costuma responder as mesmas coisas: "Ainda estou fazendo % & Lo (+? $$ + &)" ... As reuniões semanais dariam mais tempo. Para manter o mesmo tempo entre as reuniões de scrum "iniciais" e as reuniões de scrum "semanais", cada reunião de scrum semanal deve durar (5 dias por semana, com 4 semanas de sprints, com reuniões de sprint com duração de 4 horas e reuniões diárias com 15 minutos): (4 * 60 + 20 * 15) / 4 =>

Ou o scrum ainda é utilizável? Talvez outra técnica ágil deva ser usada?

Korchkidu
fonte
Goste ou não, se você tirar tudo do scrum, não estará mais fazendo o scrum. E BTW - os scrums diários devem ter mais de 5 m que 15 m.
9139 Jamiec
Bem, o SO tem uma tag scrum, então pensei em fazer uma pergunta relacionada ao scrum ^^. Além disso, todas as referências que eu tenho usar um scrum diária de 15 minutos, não 5.
Korchkidu
Sim, eu suspeito que o scrum, as tags ágeis pré-datam programmers.se - mas certamente hoje em dia é um lugar melhor para fazer essas perguntas.
9139 Jamiec
Ok obrigado. Você pode migrar esta pergunta para programmers.se ou devo excluir esta e reiniciar uma nova lá?
9132 Korchkidu
frágil, não tenho poder para mudar isso. Desculpe.
9788 Jamiec

Respostas:

7

Scrum não é uma bala de prata. Nem todo projeto precisa usar o Scrum para ter sucesso. A situação que você está descrevendo, no entanto, parece ser uma ótima opção para o Lean / Kanban. Você pode querer conferir.

O Kanban basicamente pede que você faça apenas algumas coisas, nenhuma das quais está em desacordo com o tipo de equipe que você está descrevendo:

  • Visualize o fluxo de valor, ou seja, o quadro Kanban. O quadro Scrum é uma aplicação específica de um quadro Kanban; É possível adaptá-lo para permitir a especialização.
  • Limite o trabalho em andamento (WIP), para que a quantidade de trabalho atribuída à equipe seja suficiente para manter o trabalho constantemente fluindo - ou seja, não há "bloqueio" no início do fluxo (design) ou no final (implantação) .

Você pode querer verificar algumas referências sobre o Kanban:

Pedra Assaf
fonte
Ótima ajuda! Vou verificar Lean e Kanban! Como nós dois em SE ..;)?
Korchkidu
2

Você está se concentrando um pouco demais na mecânica do scrum / ágil sem observar o que o ágil deve oferecer. Você diz que se o sujeito da matemática estima 2 pontos, ninguém pode dizer que está errado. Este não é o objetivo. O objetivo é acordar um conjunto alcançável de objetivos para o próximo sprint. Como especialista nessa tarefa, ele saberá melhor quanto tempo levará.

"Então, e se ele mentir ou simplesmente errar?" você diz. Na minha experiência, as pessoas subestimam mais porque temem ser baleadas por dar um palpite preciso. Outros sob estimativa acrescentam uma margem de segurança que equilibra tudo, e a pessoa preguiçosa e excêntrica superestima para que não precise se apressar. Dos três, o primeiro será captado no rastreamento de velocidade, o segundo, com o som errado, está funcionando e o terceiro é algo com o qual você deve lidar fora do scrum.

A reunião diária ainda oferece benefícios. Existem dependências entre os membros da equipe, mesmo que sejam especialistas. O cara da interface do usuário pode estar esperando o cara do servidor para corrigir um erro de notificação. O funcionário do servidor pode estar esperando o funcionário de matemática para descobrir por que um cálculo está errado. Também não se trata apenas de como o trabalho deles afeta você. Se um membro da equipe estiver constantemente atrasado por causa do "Motivo X", mas não tiver tempo para mitigar ocorrências futuras do "Motivo X", isso poderá ser contestado.

Ian
fonte
Concordo perfeitamente que a comunicação ainda deve ocorrer. No entanto, as reuniões de planejamento de sprint são apenas para avaliar pontos da história. Se uma única pessoa por história pode estimar seus valores, essa reunião é inútil ... E acredito que a mecânica do Scrum (não o ágil em geral) É realmente importante.
Korchkidu
1

Se você tem um especialista com qualificações como as que você descreveu, sua suposição de que cada um está trabalhando em sua própria tarefa, com pouca necessidade de se comunicar com os outros, está IMHO errado. De fato, para realizar um novo recurso (uma "história do usuário"), você frequentemente precisará

  • mude seu banco de dados
  • adicionar ou alterar a GUI ou a interface da Web
  • combine isso com a lógica de negócios correta (onde, talvez, você "matemático" entre)
  • certifique-se de que todas essas mudanças funcionem bem juntas

Então eu acho que eles terão que se comunicar muito mais como em uma equipe de generalistas, onde todos poderiam trabalhar em uma história de aplicativo / usuário diferente, fazendo todas as alterações necessárias em todas as camadas de aplicação por conta própria. Portanto, todas as atividades de equipe do Scrum listadas acima fazem muito sentido para essa equipe.

Doc Brown
fonte
"Então, acho que eles terão que se comunicar muito mais como em uma equipe de generalistas": esse é exatamente o meu ponto. É por isso que acredito que as reuniões diárias do scrum não são suficientes e devem ser substituídas por reuniões semanais. Ou reuniões diárias de scrum com duração de 30 minutos.
Korchkidu
@Korchkidu: Não - a reunião diária do scrum não é uma reunião técnica, mas um relatório de progresso. Você gasta 15 segundos na reunião para agendar uma reunião de 15 minutos mais tarde naquele dia. Como scrum master, é sua responsabilidade manter o standup focado.
MSalters
Sim, de fato. Portanto, uma reunião técnica opcional de 15 'stand-up + 15' poderia torná-lo talvez. Obrigado!
Korchkidu 12/03
1

Certamente, o Scrum ainda é apropriado para sua situação, mas outras estruturas também poderiam.

Para oferecer novos recursos, você provavelmente precisará de todas ou muitas dessas habilidades. Para que a equipe tome decisões que impactam uma à outra e trabalhe em conjunto, elas precisam se comunicar. Quanto maior o tempo entre as reuniões do Scrum, mais um plano negativo pode se desviar da equipe. Reunindo-se diariamente, a equipe pode resolver essas situações rapidamente e elaborar um novo plano.

Gostaria de abordar alguns tópicos específicos que você mencionou também:

Equipes multifuncionais Uma equipe seria considerada multifuncional se tiver todas as habilidades necessárias para cumprir uma meta de sprint e / ou um item de lista de pendências do produto. Isso não significa que existem 2 pessoas para cada trabalho.

Dimensionamento É importante lembrar que estamos dimensionando um problema ou necessidade comercial, não uma solução ou parte de uma solução. Por exemplo, integrar mídias sociais / Twitter em nosso site de comércio eletrônico é um problema que requer UX, design de interface do usuário, programação, banco de dados e conhecimento da API do Twitter. Uma equipe deve dimensionar isso como uma unidade, pois eles, como equipe, entregarão essa funcionalidade. Esse tamanho não será 100% preciso, mas descobrimos que, agregadas, as previsões baseadas no tamanho relativo são mais precisas. Isso significa que alguns serão altos, outros serão baixos e, juntos, a previsão calculada é mais precisa do que a duração estimada.

Planejamentos inúteis da primavera O planejamento da sprint é um momento para colaborar como uma equipe Scrum (equipe de desenvolvimento + proprietário do produto + mestre Scrum) para determinar o que deve ser produzido e elaborar um plano para começar. Algumas equipes dividem esses itens do Backlog do produto escolhidos em tarefas, enquanto outros criam seu próprio caminho para progredir, como testes que precisam passar (pense no XP).

Essa é uma colaboração bidirecional. Atribuir à equipe um conjunto de PBIs e dizer "ir" é o papel de um ditador. A equipe está negociando com o Dono do produto para maximizar o tempo no sprint.

Métrica inútil de velocidade da equipe Com as equipes dimensionando os problemas e as necessidades da empresa que cortam a arquitetura / sistema e a experiência passada, informando quantos da equipe foram entregues em uma caixa de tempo consistente (sprint), agora podemos fornecer uma previsão da equipe para o restante da lista de pendências.

Novamente, não há dois sprints iguais e, quanto menor o conjunto de amostras de itens do Backlog do Produto que você usar, menor será o erro nas estimativas. Pense nisso como o mercado de ações; sempre subiu, mas isso não significa que não temos anos em baixo. No total, você pode ganhar dinheiro, mas em qualquer mês, trimestre ou ano, você vai adivinhar errado.

Substituir reuniões de scrum diárias por reuniões de scrum semanais (mais longas) O Daily Scrum existe para fornecer à equipe um ciclo de feedback de 24 horas e oportunidade de planejar as próximas 24 horas. Nada mais nada menos. As "três perguntas" são destinadas a ajudar a facilitar esse esforço.

Se você não receber feedback por cinco dias, acredito que suas tarefas não são suficientemente detalhadas. Esta é simplesmente a minha opinião, mas é baseada na minha experiência como treinador e membro da equipe. As equipes devem conversar, planejar e integrar seus esforços MUITO mais frequentemente.

Conclusão O Scrum tem como objetivo facilitar o aprendizado e equilibrar esse aprendizado com a entrega (onde o aprendizado real acontece). Experimente seus processos e ferramentas ao longo do tempo e use o Scrum para inspecionar o impacto. Tente passar do Scrums diário para o semanal e veja se isso ajuda ou prejudica a capacidade das equipes de oferecer a funcionalidade correta. Isso pode funcionar para você.

Ryan Cromwell
fonte
1
Embora sua resposta seja detalhada e explique bem a lógica entre esses blocos de construção do Scrum, não vejo onde você responde ao núcleo da pergunta, descrevendo uma situação de especialistas e o medo (talvez sem causa) do OP que o Scrum ganhou funciona bem para uma equipe assim.
Doc Brown
Justo. Minha tentativa foi abordar cada item de preocupação diretamente. Minha conclusão foi certamente ruim. Aprecie a resposta.
Ryan Cromwell