Qual é a melhor metodologia Agile para um projeto de classe?

The project is poorly defined: we are to write educational software for CS 111 Computer Programming I students focusing on functions. We have 6 student developers with various backgrounds working in Flex. The project has a duration of about 7 weeks. We have very limited face time (30 min per week) and very limited work time (<8 hours per developer per week). We have limited access to the customers (professor of our course, professor of CS 111, students in CS 111).

Nosso conjunto de ferramentas inclui o Flex Builder, o Subversion e o TRAC.

Qual metodologia é melhor para este projeto e por quê? Alternativamente, quais recursos devem ser reunidos de várias metodologias para melhor se adequarem a essa situação?

2

2 Respostas

O que faz você pensar que qualquer metodologia seria bem-sucedida nessas circunstâncias - pouca comunicação, mais requisitos do que tempo e falta de acesso aos clientes?

Dito isso, eu me concentraria na entrega incremental (cada iteração deveria ter alguns recursos de trabalho), teste de unidade (todos os testes são aprovados antes do check in), marcação de lançamentos incrementais (a capacidade de retornar a uma versão funcional) e emparelhamento de membros fortes da equipe com membros da equipe mais fracos para aumentar a produtividade geral da equipe. Considere dedicar um membro forte da equipe ao teste de integração.

A entrega incremental é mais importante. Mostrar uma demonstração de trabalho inferior ao que foi pedido é sempre melhor do que mostrar um protótipo não funcional.

6
adicionado

Você poderia usar a metodologia Agile aqui, mas obviamente terá que adotá-la para atender às suas necessidades.

Por exemplo, se você não tiver acesso suficiente aos clientes reais, alguém que tenha o melhor entendimento de suas metas terá que agir como um proxy de cliente. Eu também sugiro tentar obter mais acesso aos clientes - quase todos tentam parecer mais ocupados do que são e geralmente há uma maneira de resolver esse obstáculo.

Certifique-se de que o tempo de trabalho limitado que sua equipe tem ao mesmo tempo. Não poderia haver uma abordagem Agile quando você não pudesse trabalhar em conjunto.

Você poderia definitivamente usar estimativas baseadas em histórias, processos de desenvolvimento iterativo, etc.

O que é realmente importante é também dar a cada membro da equipe uma compreensão clara e inequívoca de como o processo ágil funciona e qual é o papel de cada pessoa no projeto. É muito fácil dizer que você usará o SCRUM, mas infelizmente sem uma real compreensão e experiência que realmente não significará muito.

Algum conselho:

  1. Eduque os membros da sua equipe
  2. Obtenha uma lista do que você gostaria de entregar se não estivesse limitado pelo tempo/recursos.
  3. Descubra o que é realista para entregar, considerando suas restrições. Isso provavelmente não será muito. Não tente ser excessivamente otimista. Concentre-se no que você realmente poderia alcançar.
  4. Certifique-se de que seus clientes reais estejam a bordo para isso.
  5. Use iterações curtas (1 semana ou menos). Certifique-se de entregar o produto totalmente testado até o final de cada iteração.
  6. Mostre seu trabalho cedo.
2
adicionado