Para quais tipos de projetos o SCRUM é considerado adequado?

8

Eu tenho usado o SCRUM em três projetos diferentes nos últimos quatro anos. Uma das vantagens da SCRUM parece ser sua flexibilidade e adaptabilidade, por exemplo, a mudança nas exigências dos clientes. Outra vantagem é que o gerenciamento pode acompanhar facilmente o progresso de um projeto.

A flexibilidade do SCRUM pode ser uma vantagem, por exemplo, ao implementar um aplicativo da Web, onde os requisitos mudam muito rapidamente e os clientes realmente entendem o que desejam depois de verem um protótipo.

Por outro lado, existem outros tipos de projetos de software (por exemplo, na indústria aeroespacial) em que os requisitos são bastante fixos: você obtém um documento de especificação de requisitos e precisa voltar seis meses depois com o software em funcionamento e a documentação completa. Para esse tipo de projeto, duvido que seja necessária a flexibilidade oferecida pelo SCRUM (no sentido de que você não precisa criar protótipos e mostrá-los ao cliente para obter feedback sobre os requisitos): você precisa de uma abordagem muito estruturada e sistemática , que provavelmente é repetido várias vezes para cada projeto com pouco espaço para surpresa.

Então, o SCRUM é considerado por seus proponentes uma metodologia de desenvolvimento de software de uso geral ou é especialmente adequado para determinadas categorias de projetos ou áreas de aplicação?

Por exemplo, recentemente visitei o site de uma empresa produtora de software para a indústria aeroespacial e notei que eles estavam usando o modelo V. Um proponente do SCRUM diria que o SCRUM é menos adequado para esse tipo de projeto ou sugeriria que essa empresa tentasse mudar para o SCRUM?

Observe que não estou pedindo a opinião dos leitores deste fórum, mas quero saber qual é a opinião estabelecida entre os proponentes do SCRUM: o SCRUM é considerado de uso geral ou adequado apenas para determinadas classes de projetos? Nos últimos casos, para que tipos de projetos?

Giorgio
fonte
1
Essa coisa de "obter um documento de especificação de requisitos e você precisa voltar seis meses depois com o software em funcionamento" é um mito. Mesmo quando você cria algo como um compilador para uma linguagem formalmente definida (onde os requisitos funcionais parecem realmente claros e corrigidos), você precisa decidir e priorizar as coisas a serem implementadas, existem requisitos não funcionais a serem discutidos com o usuário , e você tem vários graus de liberdade, pois é preciso decidir como resolver as coisas. Portanto, uma abordagem ágil faz sentido para esses tipos de projetos.
Doc Brown
"Portanto, uma abordagem ágil faz sentido para esses tipos de projetos.": Embora o ágil possa ser mais flexível, outros métodos também são flexíveis. Talvez outros métodos sejam flexíveis o suficiente e o ágil seja flexível demais para determinados projetos. Apenas brainstorming aqui.
Giorgio
2
"Isso" obtém um documento de especificação de requisitos e você precisa voltar seis meses depois com o software em funcionamento "coisa é um mito": acho que não. Embora você possa alterar rapidamente o rótulo de um botão em uma página da Web porque os clientes mudaram de idéia depois de analisá-lo, você não pode alterar tão facilmente uma parte crítica de um software aviônico que controla uma parte móvel de um avião. Talvez sejam necessárias alterações tardias, mas me pergunto se um método ágil é o caminho certo para gerenciá-las ou se você precisa de uma iteração mais complexa de outro método (por exemplo, o modelo V).
Giorgio

Respostas:

5

O SCRUM é uma metodologia de uso geral que pode funcionar bem para a maioria dos projetos e tamanhos de equipe, mas é menos útil para equipes grandes que realizam projetos muito grandes. O grande número de pessoas envolvidas em alguns projetos torna qualquer metodologia ágil extremamente difícil ou quase impossível, porque é necessária uma estrutura mais rígida para manter a ordem. A indústria aeroespacial é um bom exemplo de uma indústria que tende a ter grandes projetos em que abordagens ágeis nem sempre são viáveis.

Ryathal
fonte
Existe alguma informação sobre quando um projeto é considerado muito grande para ser realizado com o SCRUM? Considere, por exemplo, um projeto de 18 meses para uma equipe de 15 pessoas: uma equipe desse tipo lucraria com a SCRUM ou outro modelo como o modelo V também seria adequado. A razão pela qual pergunto é que, em 18 meses, os requisitos e a implementação têm tempo suficiente para amadurecer e estabilizar e talvez a flexibilidade fornecida pelo SCRUM não seja realmente necessária. Pelo contrário, uma abordagem mais a médio e a longo prazo é adequada aqui. Existe alguma literatura sobre isso?
Giorgio
O tempo @Giorgio do projeto realmente não importa, mas 15 pessoas são suficientes para que você se beneficie da criação de vários grupos de scrum, mas ainda está na faixa gerenciável do SCRUM. quando a gerência de comunicação começa a se tornar um emprego a tempo inteiro para a sua equipe é hora de começar a olhar para um modelo-V
Ryathal
1
Você está falando sério? Estávamos usando um modelo V antes e mudamos para o SCRUM. Na verdade, temos a sensação de que ficamos mais lentos exatamente por esse motivo: muita contabilidade.
Giorgio
@Giorgio, o que seria verdade para qualquer switch, você se sentirá mais lento no início, porque o novo, como Pierre 303, disse que você tem uma idéia melhor depois de alguns sprints.
Ryathal
1
@ Giorgio - isso é verdade, muitas metodologias "ágeis" são mais pesadas do que os processos pesados ​​que eles deveriam substituir! Obviamente, isso significa que eles estão errados - o ágil deve ser leve e livre e parecer caótico para quem está de fora. Isso significa que sua equipe precisa ser muito organizada e disciplinada, mas isso geralmente é um benefício. Experimente o Crystal de Alistair Cockburn (um dos fundadores do Agile).
Gbjbaanb 28/05
8

Qualquer tipo de projeto! Funciona bem para projetos grandes e pequenos.

As pessoas o usaram para planejar casamentos, mudar de casa etc. Portanto, nem mesmo apenas projetos de software.

Acredito firmemente que existem muitas operações comerciais que poderiam se beneficiar de uma abordagem semelhante ao Scrum.

Tom Morgan
fonte
Sua opinião é compartilhada pelos proponentes do SCRUM, ou seja, pelos autores que codificaram e promoveram o SCRUM?
Giorgio
Sim - foi recentemente dito por Cheryl Hammond ( blog.bsktcase.com ), consultora de ALM da Northwest Cadence em uma palestra que ela deu intitulada "Um dia de mestrado em Scrum na vida: o novo estúdio visual". Você pode vê-lo aqui: msevents.microsoft.com/CUI/…
Tom Morgan
5

Observe que o Scrum não é uma metodologia, mas uma estrutura.

O Scrum funcionará melhor em uma equipe multifuncional de 5 a 9 desenvolvedores trabalhando em um projeto de tamanho médio a grande (de 4 meses a vários anos). Se o seu projeto for maior, você poderá escalar com o Scrum of Scrums .

Não discutirei a coisa multifuncional aqui, mas aqui está o que o Guia Scrum oficial está dizendo para o tamanho da equipe:

O tamanho ideal da equipe de desenvolvimento é pequeno o suficiente para permanecer ágil e grande o suficiente para concluir um trabalho significativo. Menos de três membros da equipe de desenvolvimento diminuem a interação e resultam em menores ganhos de produtividade. As equipes de desenvolvimento menores podem encontrar restrições de habilidades durante o Sprint, fazendo com que a equipe de desenvolvimento não consiga fornecer um incremento potencialmente liberável. Ter mais de nove membros requer muita coordenação. As grandes equipes de desenvolvimento geram muita complexidade para um processo empírico gerenciar. As funções Dono do Produto e Scrum Master não estão incluídas nesta contagem, a menos que também estejam executando o trabalho do Backlog da Sprint

Um sprint é de cerca de um mês.

Sprints são limitados a um mês. Quando o horizonte de uma Sprint é muito longo, a definição do que está sendo construído pode mudar, a complexidade pode aumentar e o risco pode aumentar. Os sprints permitem a previsibilidade, garantindo a inspeção e a adaptação do progresso em direção a uma meta pelo menos a cada mês. Os sprints também limitam o risco a um mês civil de custo.

Eu acho que não faz sentido usar uma estrutura baseada em um processo iterativo com projetos menores que 4 meses. 4 meses = 4 sprints. Você também deve considerar que obtém uma velocidade mais precisa após 3 sprints.

Dito isto, eu pessoalmente uso uma versão limitada do Scrum para projetos menores. Mas você não pode realmente chamá-lo de Scrum então. Nesse caso específico, você está usando alguns princípios fundamentais do Scrum em sua própria implementação da estrutura.

Mahmoud Hossam
fonte
1

para iniciantes, pense no SCRUM como apenas um conjunto de diretrizes para implementar práticas ágeis. Nunca pense nisso como um 'livro sagrado' de como fazer projetos. Para muitos projetos em que é necessário um fluxo constante de tarefas, o Kanbam é mais apropriado, por exemplo.

Projetos ágeis tendem a cair onde você está realizando projetos que exigem uma data de término fixa ou um custo fixo. Embora você ainda possa executar esses projetos usando métodos Agile, a necessidade de planejar tudo com antecedência para determinar se é provável que você atinja o alvo não é a maneira ágil usual - no ágil, você tende a continuar trabalhando até ficar sem coisas para fazer ou ficar sem tempo para fazê-lo. Para a maioria dos projetos, tudo está bem, pois os requisitos mudam de qualquer maneira durante o projeto.

gbjbaanb
fonte
A maneira como agimos em nossa equipe é permitir que o cliente defina uma prioridade nas histórias (do mais ao menos importante), estimamos as histórias dos usuários usando cartões de pôquer e planejamos quantas histórias pudermos implementar até o prazo final. Se formos mais rápidos, agendamos mais histórias, de acordo com o que vem a seguir na lista de prioridades.
Giorgio
Eu li sua resposta novamente depois de alguns meses e é realmente muito esclarecedor. +1
Giorgio