2008-08-09 9 views

Antwort

7

Ich habe mit einer ganzen Reihe von Organisationen beteiligt, die behaupteten, auf eine "agile" Weise zu arbeiten, und ihre in der Regel verarbeitet schien auf XP zu basieren (extreme Programmierung), aber keiner von ihnen folgte jemals annähernd allen Praktiken.

Das heißt, kann ich wahrscheinlich kommentieren ein paar der XP praktiziert

  • Unit-Tests als sehr nützlich zu erweisen scheint, wenn sie von Anfang an eines Projektes getan, aber es scheint sehr schwierig, Kommen Sie in eine bestehende Codebasis und versuchen Sie, Komponententests hinzuzufügen. Wenn Sie die Möglichkeit haben, bei Null anzufangen, ist eine testgesteuerte Entwicklung eine echte Hilfe.

  • Kontinuierliche Integration scheint eine wirklich gute Sache zu sein (oder vielmehr, der Mangel daran ist wirklich schlecht). Das heißt, die Organisationen, die ich gesehen habe, waren normalerweise so klein, dass jede andere Herangehensweise albern erschien.

  • Benutzer Geschichte Karten sind schön, dass es toll, ein physisches Objekt zu haben, um für die Priorisierung zu werfen, aber sie sind bei weitem nicht detailliert genug, wenn Ihr Entwickler wirklich die Domäne kennt, oder Sie haben einen Vor-Ort bekommen Kunde (was ich noch nie gesehen habe).

  • Standup-Meetings neigen dazu, wirklich nützlich für neue Teammitglieder zu sein, um alle kennen zu lernen und woran sie arbeiten. Die alten Hasen lassen sehr schnell nach und sagen einfach Dinge wie "Ich arbeite immer noch an X", was sie in der letzten Woche gemacht haben. Es braucht einen starken Anführer, um sie dazu zu bringen, sich in Details zu vertiefen.

  • Refactoring ist jetzt ein wirklich mißbraucht Begriff, aber wenn man ausreichend Unit-Tests haben, es ist wirklich nützlich, um konzeptionell die Aktivität zu trennen ‚sich mit der Gestaltung des vorhandenen Code, ohne die Funktionalität zu verändern‘ von ‚Hinzufügen neue Funktionalität '

6

Scrum, weil es zeigt, wo die Faulenzer sind. Es identifiziert sich auch viel schneller, dass die Geschäftseinheit in der Regel keine Ahnung hat, was sie wirklich geliefert

4

Scrum.

Das tägliche Standup-Meeting ist eine großartige Möglichkeit, sicherzustellen, dass die Dinge auf Kurs bleiben und Fortschritte gemacht werden. Ich denke auch, dass es der Schlüssel ist, um das Produkt/die Marktbeteiligten auf eine echte, sinnvolle Weise in den Prozess einzubeziehen. Dadurch wird eine kollaborativere Umgebung geschaffen und eine Menge des gegenteiligen Abfalls entfernt, der entsteht, wenn das Produktteam und die Entwicklerteams separate "Silos" sind.

1

Ich habe mit einem Team gearbeitet, das XP und Scrum Praktiken verwendet, die mit etwas Lean bestreut sind. Es war sehr produktiv.

Daily Standup - hilft uns, den Überblick zu behalten, woran und wo alle arbeiten.

Paar Programmierung - hat unsere Code-Basis verbessert und geholfen, "dumme" Bugs zu entfernen, die in das System eingeführt wurden.

iterative Entwicklung - mit 1 Woche Iterationen, indem mehr direkte Ziele auf der Verbesserung unserer Geschwindigkeit hat dazu beigetragen, die auch uns geholfen hat, Größe Anforderungen

TDD - hat mir geholfen, meine Art der Programmierung zu ändern, habe ich jetzt schreibe keinen Code, der einen fehlerhaften Test nicht behebt, und ich schreibe keinen Test, der keine klar definierte Anforderung hat. Wir haben auch ausführbare Anforderungen verwendet, die Entwicklern und BAs dabei geholfen haben, Anforderungen zu erfüllen.

kanban boards - zeigen Sie in Echtzeit, wo wir sind. Wir haben einen für den Meilenstein sowie die aktuelle Iteration. Auf einen Blick können Sie sehen, was zu tun ist und was getan wird und was getan und akzeptiert wird. Wenn Sie in Ihrem täglichen Standup nicht etwas über das, was auf dem Board steht, berichten, müssen Sie dies tun.

co-located Team - alle sind auf dem Laufenden und auf der Seite mit dem, was alle anderen tun. Kommunikation ist Just-in-Time, sehr produktiv, ich vermisse meinen Würfel überhaupt nicht.

2

Regelmäßige Retrospektiven sind eine gute Möglichkeit, einem Team dabei zu helfen, effektiver/agiler zu werden. Mehr als eine spezifische Agilität von Agile beizubehalten, kann diese Vorgehensweise einem Team helfen zu erkennen, was gut funktioniert und sich an eine sich verändernde Umgebung anpassen.

Stellen Sie einfach sicher, dass die Person, die die Retrospektive ausführt, weiß, was sie tut, sonst kann sie zu einer beschwerenden Sitzung ausarten.

Es gibt eine Reihe von Übungen, die Sie durch ein Team führen können, um ihnen zu helfen, den Wert der Retrospektive zu reflektieren und zu extrahieren. Ich schlage vor, das Interview mit Linda Rising auf Software Engineering Radio für eine gute Einführung zu hören.

Machen Sie eine Google-Suche nach "Heartbeat Retrospektiven" für weitere Informationen.

Verwandte Themen