Was ist die beste Agile-Methode für ein Klassenprojekt?

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

Unser Toolset umfasst Flex Builder, Subversion und TRAC.

Welche Methodik eignet sich am besten für dieses Projekt und warum? Welche Merkmale sollten aus verschiedenen Methoden herausgeholt werden, um dieser Situation besser gerecht zu werden?

2

2 Antworten

Was lässt Sie denken, dass eine Methode unter diesen Umständen erfolgreich wäre - wenig Kommunikation, mehr Anforderungen als die Zeit und fehlender Zugang zu den Kunden?

Abgesehen davon würde ich mich auf die inkrementelle Bereitstellung (jede Iteration sollte einige wenige funktionierende Funktionen haben), Komponententests (alle Tests bestanden vor dem Einchecken), das Markieren von inkrementellen Releases (die Möglichkeit, zu einer funktionsfähigen Version zurückzukehren) und die Paarung konzentrieren von starken Teammitgliedern mit schwächeren Teammitgliedern, um die Gesamtproduktivität des Teams zu erhöhen. Erwägen Sie, ein starkes Mitglied des Teams einem Integrationstest zu widmen.

Inkrementelle Lieferung ist am wichtigsten. Es ist immer besser, eine Demoversion von weniger als dem zu zeigen, was benötigt wird, als einen nicht funktionierenden Prototyp zu zeigen.

6
hinzugefügt

Sie können hier die Agile-Methode verwenden, aber Sie müssen sie natürlich Ihren Bedürfnissen anpassen.

Wenn Sie zum Beispiel nicht genug Zugang zu den echten Kunden haben, muss jemand, der Ihre Ziele am besten versteht, als Kunden-Proxy agieren. Ich würde auch vorschlagen, mehr Zugang zu den Kunden zu bekommen - fast jeder versucht, mehr beschäftigt zu sein, als sie es sind, und es gibt normalerweise einen Weg, dieses Hindernis zu lösen.

Stellen Sie sicher, dass die begrenzte Arbeitszeit, die Ihr Team zur gleichen Zeit hat. Es könnte keinen agilen Ansatz geben, wenn Sie nicht zusammenarbeiten könnten.

Sie könnten auf jeden Fall Story-basierte Schätzungen, iterative Entwicklung usw. verwenden.

Was wirklich wichtig ist, ist es, jedem Teammitglied ein klares und eindeutiges Verständnis dafür zu vermitteln, wie der Agile-Prozess funktioniert und welche Rolle die jeweilige Person in dem Projekt spielt. Es ist sehr einfach zu sagen, dass Sie SCRUM verwenden werden, aber leider ohne echtes Verständnis und Erfahrung, die nicht wirklich viel bedeuten.

Ein Ratschlag:

  1. Erziehen Sie Ihre Teammitglieder
  2. Holen Sie sich eine Liste, was Sie liefern möchten, wenn Sie nicht durch die Zeit/Ressourcen beschränkt wären.
  3. Finden Sie heraus, was bei Ihren Einschränkungen realistisch ist. Das wird wahrscheinlich nicht viel sein. Versuchen Sie nicht zu optimistisch zu sein. Konzentriere dich darauf, was du wirklich erreichen kannst.
  4. Stellen Sie sicher, dass Ihre echten Kunden an Bord sind.
  5. Verwenden Sie kurze Iterationen (1 Woche oder weniger). Stellen Sie sicher, dass Sie am Ende jeder Iteration ein vollständig getestetes Produkt liefern können.
  6. Zeigen Sie Ihre Arbeit frühzeitig.
2
hinzugefügt