¿Cuál es la mejor metodología ágil para un proyecto de clase?

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).

Nuestro conjunto de herramientas incluye Flex Builder, Subversion y TRAC.

¿Qué metodología es mejor para este proyecto y por qué? Alternativamente, ¿qué características deberían recopilarse de diversas metodologías para adaptarse mejor a esta situación?

2

2 Respuestas

¿Qué le hace pensar que cualquier metodología sería exitosa bajo estas circunstancias: poca comunicación, más requisitos que tiempo y falta de acceso a los clientes?

Dicho esto, me centraría en la entrega incremental (cada iteración debería tener algunas características de trabajo), pruebas unitarias (todas las pruebas pasan antes del check in), etiquetado de versiones incrementales (la capacidad de volver a una versión operativa) y vinculación de miembros fuertes del equipo con miembros del equipo más débiles para aumentar la productividad general del equipo. Considere dedicar un miembro fuerte del equipo a las pruebas de integración.

La entrega incremental es lo más importante. Mostrar una demostración funcional de menos de lo que se solicitó siempre es mejor que mostrar un prototipo que no funciona.

6
agregado

Puede usar la metodología Ágil aquí, pero obviamente deberá adoptarla para satisfacer sus necesidades.

Por ejemplo, si no tiene suficiente acceso a los clientes reales, alguien con el mejor conocimiento de sus objetivos tendrá que actuar como un representante del cliente. También sugeriría tratar de obtener más acceso a los clientes: casi todos tratan de parecer más ocupados de lo que están y generalmente hay una manera de resolver ese obstáculo.

Asegúrese de que el tiempo de trabajo limitado que su equipo tiene al mismo tiempo. No podría haber un enfoque ágil cuando no pudieras trabajar juntos.

Definitivamente podría usar estimaciones basadas en historias, procesos de desarrollo iterativo, etc.

Lo que es realmente importante es darle a cada miembro del equipo una comprensión clara e inequívoca de cómo funciona el proceso ágil y cuál es el papel de cada persona en el proyecto. Es muy fácil decir que usarás SCRUM, pero desafortunadamente sin una comprensión y experiencia real que en realidad no significará mucho.

Algún consejo:

  1. Eduque a los miembros de su equipo
  2. Obtenga una lista de lo que le gustaría entregar si no estuviera limitado por el tiempo/los recursos.
  3. Averigüe qué es realista para entregar dadas sus limitaciones. Eso probablemente no sea mucho. No intentes ser demasiado optimista. Concéntrese en lo que realmente podría lograr.
  4. Asegúrese de que sus verdaderos clientes estén a bordo para eso.
  5. Usa iteraciones cortas (1 semana o menos). Asegúrese de poder entregar el producto completamente probado al final de cada iteración.
  6. Muestra tu trabajo temprano.
2
agregado