Pergunta

Estou bastante bem lido nos benefícios e processos de Scrum. Eu recebo as idéias sobre o atraso, burndown gráficos, iterações, usando histórias de usuários, e outros vários conceitos de "quadro" Scrum.

Com o que disse ... Eu trabalho para uma empresa de desenvolvimento web que gerencia vários projetos ao mesmo tempo, com os membros da equipe de seis que compõem a "equipe de produção".

Como funciona o Scrum com ter vários projetos? Você ainda basta agendar uma iteração para um único projeto em um determinado período de tempo e toda a equipe trabalha sobre ele, e depois de passar para o próximo projeto com uma nova iteração quando a iteração é concluída? Ou há uma "ágil" maneira na gestão de vários projetos com seus próprios iterações com apenas uma equipe ao mesmo tempo?

Foi útil?

Solução

Scrum realmente não ditam que você tem que estar trabalhando por um produto independente. Ele simplesmente afirma que há um monte de coisas que precisa ser feito (o product backlog), há uma certa quantidade de tempo de desenvolvimento disponíveis na próxima iteração (trabalhada a partir da velocidade de projecto) e há itens selecionados pelo cliente / negócio como tendo maior prioridade a partir deste conjunto de questões / tarefas que serão feitas na próxima iteração (o sprint backlog).

Não há nenhuma razão que o product backlog e sprint backlog tem que ser de um projeto - mesmo em um único projeto, haverá unidades discretas de trabalho que são como projetos separados - a interface do usuário, a camada de negócios, o esquema de banco de dados , etc. desenvolvimento de software corporativo em particular, é como este, onde você tem um número de bases de código que tudo tem que estar progredindo. O processo Scrum - reuniões, perguntas, incendiar gráfico, etc -. Todo o trabalho se é um projeto ou vários

Dito isto, na prática, muitas vezes é bom para cada iteração de ter um grande tema - "fazer o módulo de relatórios" ou "interface com a API do sistema de XYZ" - assim que muitas das questões vêm de um projeto ou área e no final da iteração você pode apontar para um grande corpo de trabalho e colocar um carrapato contra ela.

Outras dicas

Eu acho que a resposta depende " que será priorizando os itens do backlog " (ou seja, decidir o que precisa ser feito em primeiro lugar). Se esta é uma única pessoa, então essa pessoa é o Product Owner para os seus projectos, e você pode ter uma única carteira vai todos os itens para todos os projetos - ou um atraso por projeto - e você selecionar os itens do backlog de todos os projectos quando você planeja a Sprint. Neste caso, Scrum "funciona" muito bem.

Se cada projeto tem seu responsável, então é provável que você encontrar alguns problemas onde cada vontade responsáveis ??- mais ou menos conscientemente - tentam favorecer seu projeto (s). IMHO, você precisa ter um Product Owner apenas com a autoridade para resolver as prioridades por meio de arbitragem.

Uma regra que deve ser seguida em tal contexto é não alterar o conteúdo Sprint durante a Sprint . Se necessário, você pode encurtar a iteração para duas ou três semanas para reduzir o risco de ter de adicionar um item urgente no atual Sprint.

Eu tenho que discordar. Eu acho que é fundamental para o processo de ter uma equipe focada em um único projeto durante um sprint. Se você tiver alguns especialistas que não pode contribuir para o processo de desenvolvimento (autores de conteúdo, pessoas gráficos, analistas de processos de negócios, etc.) eu embaralhe-os fora da equipe quando eles já não podem contribuir. Ou melhor ainda, levá-los treinados em algumas tarefas diferentes para que eles possam contribuir para coisas como teste.

Outra coisa a ter em mente é que a execução de projetos em paralelo mata sua programação. Considere o seguinte: para simplicidades bem, vamos dizer que temos 5 projetos usando a mesma equipe e começam na mesma data. Cada projeto precisa de 3 um mês de esforço, No melhor cenário, paralela, você vai terminá-los todos de uma vez e levará 15 meses. Sua velocidade vai ficar creme, porque você só pode caber 1/5 de um mês de esforço em um único sprint. Você também vai estar fazendo 5 reuniões de demonstração, tudo ao mesmo tempo. Assim melhor das hipóteses, você entrega seus 5 projectos em 15 meses e sua competição será alegando que eles poderiam fazer o mesmo trabalho em 3. Suas equipes estimar a maturação vai sofrer porque só vai ser capaz de considerar 20% de sua mão de obra disponível. Você pode achar que você realmente não são capazes de executar algumas tarefas em um único sprint. Se você tem que mudar o número de projetos sendo trabalhado a partir de 5, sua equipe terá que ajustar seus hábitos estimando que irá danificar a eficiência equipes. Além disso, sua equipe irá encontrá-lo difícil de se auto-organizar quando uma simples mudança de tarefa pode exigir girando-se um novo ambiente dev antes do trabalho pode começar.

Se você fosse para executar os mesmos 5 projectos em série, você entregar o projeto quinto nos mesmos 15 meses, mas você teria educado seu cliente que sua equipe está em tal demanda que você tem um backlog de 12 meses e que você pode usar esse tempo para refinar os objetivos do projeto. Ou se você tiver um atraso constante, você sabe que é hora de começar a contratar outra equipe. Sua melhor projeto, no entanto, é terminado em 3 meses com um cliente que tem visto melhorias rápidas durante o período ativo. Você é capaz de terminar esse projeto no ano anterior e pode colocá-lo em seu currículo. Sua velocidade de corrida vai se estabilizar ao longo desse período de tempo e você pode achar que atinge seu passo depois de um projeto ou dois e são capazes de realizar mais em um determinado sprint.

Eu acho que executando projetos em série é um dos maiores obstáculos de uma organização que tentam adotar rostos scrum. É uma grande mudança cultural associada a desconstruir o papel gerente de projeto, mas os benefícios para o processo de scrum são enormes.

Tenha em mente que todo mundo não precisa ser um membro da equipe completa. Eles podem ser envolver o seu cliente na sala de espera, preparando para o processo de desenvolvimento. Eu mantenho meus analistas de negócios, arquitetos de rede e gráficos de design pessoas como especialistas em domínio e só anexá-los a uma equipe quando necessário. Deixá-los correr com a Sprint 0. Você ficaria surpreso com o trabalho envolvente no look-and-feel e fluxo de trabalho é. Também é bom para preparar a sua cliente com o entendimento de que quando o desenvolvimento começa a sério, seu nível de participação pode realmente ir para cima e que é importante para eles para estar disponível. Deixe-os saber o cronograma para que eles tenham tempo de sobra para lidar com coisas como férias e feriados com bastante antecedência.

Eu estive nesta situação precisa.

Se você tem um proprietário do produto através dos projectos em seguida, Phillipe é absolutamente correto; Uma corrida com uma equipe deve funcionar muito bem.

Se você tem mais de um proprietário do produto, em seguida, idealmente lado empresarial precisa escolher um único 'priorizador' quem é dada a responsabilidade para agendar o trabalho. Esta é definitivamente a melhor solução.

Se (como é provavelmente o caso) o negócio não quer mudar a forma como eles querem priorizar as coisas (que seria muito conveniente), então você pode dividir a equipe., E executar dois sprints simultâneos. No entanto, com uma equipe de seis, eu não dividi-lo em um mais de 3 equipes (eu não gostaria de dividi-lo em tudo, mas eu acho que 2-3 equipes seria viável). Divisão mais longe como Kenny sugere, e com equipes de uma única pessoa parece-me um tanto inútil, como então você já não tem uma equipe, apenas a programadores individuais.

Se você está dividindo a equipe, eu não tenho encontrado muito valor em amalgamando os stand-ups, a menos que você tem sprints separadas trabalhando em muito da mesma base de código, mas, em seguida, que pode ser um argumento para amalgamar as equipes para o objetivo do sprint.

Há uma outra opinião que eu tenho lido ultimamente, ou seja, que em um ambiente Agile o conceito de Projeto pode ser contraproducente e poderia ser eliminado. De acordo com esta linha de pensamento, a organização deve estar centrada em Releases em seu lugar. Isso ocorre porque Projetos são caixas artificiais de trabalho que produzem nenhum valor até que eles estão acabados. Eles são contrários ao objetivo de oferecer frequentemente valor shippable do Agile. A Release está mais em linha com Agile porque ele é orientado para entregar valor e porque o seu alcance pode ser reduzido ou ampliado com base no que as equipes podem entregar antes do próximo Release .

Existe um potencial meio termo, em que o que antigamente era chamado de Projeto na sua empresa está agora reembalado como o comum Agile Tema ou recurso . A vantagem dessa abordagem é que o Tema ou recurso agora pode ser implementado em peças de valor, como o proprietário do produto aprouver.

Há ainda a questão de um trabalho de equipa em vários Produtos , e é uma questão por causa de preocupações legítimas sobre o conhecimento de domínio e possíveis habilidades técnicas. Mas produtos construído com Agile, mesmo múltipla produtos construído por uma única equipe, estão constantemente acumulando Release valor -able. Em contraste, Projetos não valem nada até que terminem (e muitos não o fazem).

Algo para pensar ...

Eu acho anopres estava certo: a melhor maneira é evitar vários projetos ao mesmo tempo com scrum. Fazer de tudo para conveniência que correr muito em paralelo não é eficiente.

Vamos supor 5 projetos cada um cerca de 3 meses para a equipe com 5 pessoas.

Abordagem 1: cada pessoa funciona em único projeto em equipe

  • 1/5 velocidade de entrega por projeto dá 15 meses de entrega para todos os projetos
  • Cada pessoa é especialista, mas apenas no próprio projeto
  • No espírito de equipe

Abordagem 2: 1 de sprint por projeto, a mudança projetos

  • Toda sexta Sprint trabalho no projeto
  • Too muito tempo entre o trabalho do projeto - um valor incremental não regular para projeto (para sim product backlog), fácil de esquecer, o esforço necessário para restaurar contexto,
  • Primeiro projeto entregue depois de cerca de 12-13 meses (com base em 2 semanas Sprint)

Abordagem 3: 5 projetos em única Sprint

  • Requer muito detalhado divisão de tarefas apenas para caber em Sprint
  • Muito pouco compilação incremental por projeto
  • A entrega do primeiro projeto depois de cerca de 12-15 meses

Abordagem 4: recomendado - trabalho Serialized

  • Equipe trabalha em único projeto após o projeto
  • Primeiro projeto começou e entregue após 3 meses
  • Segundo projeto começou depois de 3 meses, entregue após 6 meses
  • ...
  • 5º projeto começou depois de 12 meses, entregue após 15 meses
  • equipe altamente focada no projeto, pesquisa intensiva e colaboração com o cliente
  • equipa Toda a equipa tem conhecimento geral boa sobre todos os projetos
  • Sem perder tempo com troca de contexto
  • Exigir uma boa cooperação equipe (conflitos podem retardar o parto).

Como você pode ver, a solução 4 é geralmente melhor porque os projetos são deliveried muito mais rápido, equipe trabalha em conjunto e eficiente. Outras abordagens incluem perder tempo de troca de contexto, sem a colaboração da equipe completa, tempo de entrega muito longo total de todos os projetos etc.

E o que dizer de aliciamento backlog? Se a equipe trabalha em único projeto ao mesmo tempo que é simples - todo mundo vai participar. Se houver vários projetos que podem precisar de delegar pessoas solteiras para separar preparação sessões (não equipe completa está envolvido).

É importante para os clientes conveniência que a partir de segunda projecto após 3 meses ainda vai resultar em uma entrega mais rápida (após 6 meses) ao invés de se iniciá-lo immediatelly com todos os outros. É uma ilusão que os gerentes de ver - começamos 5 projetos ao mesmo tempo, nós trabalhamos duro e entregar pouco a pouco. No final, isso não é eficiente no entanto.

É por isso que eu não acredito que scrum é eficiente para vários projetos em paralelo, é muito complicado para combiná-lo em quadro e trabalhar de acordo com as regras do scrum. Às vezes pode ser bom ter 2 projetos para manter todas as pessoas ocupadas, mas as mais projetos somarmos o scrum menos eficiente será. Talvez kanban é uma alternativa apenas para ver o progresso e trabalho em equipe (não tão forte como na equipe Scrum)?

Saudações, Adam

Como @ Chris disse, um projeto normal tem subprojetos dentro. Você só tem um backlog embora.

Pense em uma carteira com todos os seus projetos. Primeiro problema: você está atribuindo prioridades para tarefas ou projetos? Eu prefiro um atraso por projeto. Pelo menos para ter limpar as prioridades que o proprietário do produto tem.

A existência de diferentes proprietários do produto, e devido ao fato de que os proprietários de produtos não vão chegar a acordo sobre quanto tempo eles devem dar a cada projeto. "Alguém" terá de absorver a decisão sobre a forma de gerir interproject prioridades. Nota: os desenvolvedores não devem fazê-lo.

Aqui vem o nosso projeto "S" gerente que vai equilibrar os recursos proprietários do produto precisa e os membros de tempo da equipe pode dar. proprietário do produto Um pago um mês de trabalho, mas o proprietário do produto B está sempre atualizando seu projeto (e pagando bem também). Há alguns como você vai equilibrar sua equipe para um ter o seu um mês (tempo do desenvolvedor), e não pare B de encher seus bolsos.

No caso do software interno (uma empresa, um milhar de projectos). Os proprietários de produtos diferentes devem concordar com o tempo dado a eles. Eles não vivem isolados, mas no mesmo barco que você (gerente de projeto "S"). Eles vão facilitar a sua vida ser capaz de adiar algumas tarefas, mas, ao mesmo tempo que você nunca deve esquecer as suas necessidades.

Bem, eu ainda estou tentando descobrir a melhor maneira de fazer isso. Mas isso é o que está empurrando agora. Espero que ajude.

Os membros da equipe pode dividir seu tempo entre projetos Scrum, mas é muito mais produtivo ter membros da equipe totalmente dedicada. Os membros da equipe também pode mudar de um Sprint para o próximo, mas que também reduz a produtividade da equipe. Projetos com equipes maiores são organizadas como vários scrums, cada uma focada em um aspecto diferente do produto desenvolvimento, com uma estreita coordenação dos seus esforços.

Eu sugeriria executando um Sprint para cada projeto e ter uma reunião standup diário para lidar com todos os ativos molas / projectos.

Eu gostaria de contribuir. Esta é a maneira que eu fazê-lo:

  • Não é um produto proprietário e um product backlog por equipe. O proprietário do produto não tem que ser uma única pessoa, mas este produto proprietário "entidade" está a cargo do backlog do produto.
  • A carteira de produto tem as histórias de usuários de cada projeto (todos os projetos aqui). Cada história de usuário remata / pontos da história (responsabilidade da equipe) e um valor de negócio (proprietário responsabilidade pelo produto).
  • Nós temos um "product backlog aliciamento" satisfazer cada sprint. Antes desta reunião o proprietário do produto actualiza os valores de negócio das histórias (se eles precisam de alguma mudança por qualquer razão- negócio que nós não e não deve Care) e incluem algumas novas histórias. Nesta reunião as novas histórias são explicadas e os esforços são atualizados também. Esta reunião dura cerca de uma hora (exceto a primeira vez, cerca de 4 horas).
  • Quando estamos indo para planejar um novo Sprint abrimos o product backlog, a ordem das histórias de ROI (este é o valor do negócio / esforço) e histórias de plano até que o tempo passou.

E é isso. Eu posso dizer isso funciona muito bem. Nós usamos um par de google planilha (o product backlog e os Sprint Backlog, ambos com gráficos e outras coisas) para fazer isso, e redmine (com uma semântica específica) para uma organização on-line todos os dias: tempo, o progresso de tarefas, etc

O problema com esta abordagem é que eu tenho duplicar as tarefas na planilha sprint backlog e redmine. Mas eu não encontrar qualquer ferramenta on-line para fazer isso completamente online. Eu sinto falta de um product backlog em redmine (há outras obras semânticas para mim), uma única placa no JIRA, mais histórias na taiga, etc.

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