Optimal und doch schlecht

Erstellt am 21 August 2012
von Schreibe einen Kommentar

„Vor 6 Monaten haben wir SCRUM eingeführt, uns Berater und Coaches ins Haus geholt und alle geben ihr Bestes. Und trotzdem sind wir nicht schneller in der Entwicklung geworden und die Qualität läßt immer noch zu wünschen übrig. Wie kann das sein?“

Da kann man nur eines mit Sicherheit sagen: SCRUM ist nicht schuld daran. Möglicherweise sind auch die Berater nicht schuld daran, auch wenn Einkäufer dazu tendieren, die billigsten Angebote anzunehmen. Hinter dem ausbleibenden Erfolg steckt typischerweise ein ganzes Bündel von Ursachen, zu denen die Angst vor Neuem, Missverständnisse, Ignoranz, ungenügende Information, Karrieredenken und Silo-Mentalität gehören. Ich möchte heute auf ein Problem näher eingehen, das in den genannten Ursachenkategorien verankert und überall anzutreffen ist. Wer Entscheidungen trifft, glaubt häufig, die bestmögliche Entscheidung zu treffen – aber sehr häufig ist dieses „bestmöglich“ nur das beste für diese Person selbst oder ihre Abteilung, nicht aber für die Gesamtorganisation. Es ist eine lokale Optimierung.

Was ist Scrum?

Erstellt am 10 Juli 2012
von Schreibe einen Kommentar

Scrum Day 2012 und ich wurde mit meiner eigenen Aussage konfrontiert: “Scrum ist eine Projektmanagement-Methode”. Nun – ja, das sehe ich immer noch so. Ist das zu kurz gefasst? Ja, das ist es wahrscheinlich. “Scrum ist ein Mindset”. Ja, das sehe ich auch so. Oder vielmehr: Agilität ist ein Mindset (siehe Blogeintrag: Agilität beginnt im Kopf). Ken Schwaber bezeichnet Scrum als Tool. Auch das sehe ich so. Scrum ist ein wunderschönes Framework, Tool, PM-Methode, … methodische Diskussionen sind hier müssig. Wenn man es anwendet – ohne Kompromisse – handelt man ziemlich sicher auch agil. Wenn man Scrum anpasst, ohne es verstanden zu haben, hat man nichts (oder wenig, oder das Falsche)  davon. Hans-Peter Korn nennt das Scrumade (Scrum-Fassade). Wenn man es verstanden hat und es dann anpasst, können wir wirklich etwas verändern. Im Kleinen wie im Grossen. Und für mich, die immer noch gutes Requirements Engineering machen will, ist Scrum das Mittel – was es nun auch immer sein mag –  das mir dabei hilft, genau dies zu tun (mehr hierzu).

Agilität ist keine Ansichtssache

Erstellt am 19 Juni 2012
von Schreibe einen Kommentar

Wir sind mittlerweile recht gut darin, Informationen zu analysieren und zu verwalten (z.B. Anforderungen), komplexe Strukturen in einfachere Substrukturen herunterzubrechen etc., also darin, statische oder strukturelle Komplexität zu meistern. Warum tendieren dann „große“ Systeme (v.a. Softwaresysteme) dazu, immer „schlechter“ zu werden mit einem stetig anwachsenden Fehlerberg?

Agilität beginnt im Kopf

Erstellt am 15 Mai 2012
von Schreibe einen Kommentar

In der Softwareentwicklung will heute praktisch jeder agil sein. Das klingt modern und dynamisch. Liest man die Werte, die hinter dieser Idee stecken (agiles Manifest), versteht man leicht, warum.

  • Individuen und Interaktionen sind wichtiger als Prozesse und Werkzeuge
  • Funktionierende Software ist wichtiger als umfassende Dokumentation
  • Zusammenarbeit mit dem Kunden ist wichtiger als Vertragsverhandlung
  • Reagieren auf Veränderung ist wichtiger als das Befolgen eines Plans

Es liegt aber im Wesen des Menschen, Ideen (auch gute) falsch zu verstehen – manchmal auch absichtlich, um eigene Interessen zu verfolgen.

Mit Scrum mehr Meetings und Administration?

Erstellt am 1 Mai 2012
von Schreibe einen Kommentar

Befragt man Entwicklungsteams und andere Beteiligte im Unternehmen, was sich seit der Einführung von Scrum geändert hat, erhält man überraschend oft die Aussage: Wir haben jetzt noch mehr Meetings und mehr Aufwand für Administration. Das ist erstaunlich. Woher kommt dieser Eindruck? Sehen wir uns doch die Scrum Meetings (oder gemäß Scrum Guide die „Events“) einmal genauer an.

Geglückter Start ins agile Zeitalter?

Erstellt am 20 März 2012
von Schreibe einen Kommentar

Letzte Woche hat mich ein Kunde darum gebeten, aus meiner Sicht zu beschreiben, wie ihm der Einstieg ins agile Arbeiten geglückt ist. Die Fragen waren gar nicht so leicht zu beantworten, haben mich aber zum Nachdenken gebracht. Was sind die Faktoren, für einen guten Start?

Wer plant mit welchen Backlogs? – Sichtenwechsel notwendig!

Erstellt am 6 Dezember 2011
von Schreibe einen Kommentar

Kennen Sie auch die Situation, dass Ihre Projekte nicht die optimalen Voraussetzungen für Scrum haben? Sie haben also:

  • Entwickler, die zeitgleich in mehreren Projekten arbeiten.
  • Entwicklungsteam, die auf unterschiedliche Standorte und Zeitzonen verteilt sind.
  • Nur ein auslieferbares Release, wenn die Zulieferung vieler Teams erfolgt ist.

Akzeptanzkriterien für User Stories definieren – aber nur wie?

Erstellt am 6 Dezember 2011
von 1 Komment

Haben Sie sich auch schon mal gefragt, ob es eine Möglichkeit gibt, Akzeptanzkriterien mit Hilfe eines systematischen Vorgehens zu definieren? Oder wollen Sie eine Basis für Ihre Akzeptanztests schaffen, um festzustellen, ob Ihr System oder Ihre entwickelte Software den Kundenerwartungen entspricht?

Akzeptanzkriterien als  Bindeglied zwischen User Stories und Testfällen 

Die Grundlage für diese Fragestellungen bilden Akzeptanzkriterien, die das Bindeglied zwischen User Stories und den Testfällen darstellen. Da in vielen Projekten die Frage nach einer systematischen Methodik zur Ableitung von Akzeptanzkriterien gestellt wird, soll an dieser Stelle eine Vorgehensweise vorgestellt werden, die auf den sogenannte W-Fragen basiert.

Im Gegensatz zur klassischen Entwicklung ist es im agilen Umfeld ausdrücklich erlaubt, die User Stories erst so spät wie möglich, also kurz vor der Realisierung, zu detaillieren. Eine User Story kann nach dem Muster von M. Cohn erstellt werden.

Die drei “C’s”

Sie sollte aus den sogenannten „3 C’ s“ bestehen. Die ersten beiden “C’s” stehen für “Card” und “Conversation”, das 3. “C” für “Confirmation”. Unter dem Begriff “Confirmation” wird die Definition von Akzeptanzkriterien verstanden, die in der Regel auf der Rückseite einer Karteikarte festgehalten werden. Akzeptanzkriterien leisten gemäß der „Definition of  Done“ einen Beitrag zur Beantwortung der Frage, ob eine User Story fertig ist.

Das Hinterfragen von Schlüsselwörtern

Eine Möglichkeit, Akzeptanzkriterien zu definieren, erfolgt über das Hinterfragen von Schlüsselwörtern. Diese müssen zunächst in der User Story identifiziert werden. Dann können wir nachfolgend prüfen, ob Fragestellungen – basierend auf den sogenannten W-Fragen (wer, wann, wie oft etc.) – mit einer sinnvollen Antwort versehen werden können.

Fragen, die in dem jeweiligen Kontext keine sinnvolle Antwort zulassen, werden ignoriert. Unter Schlüsselwörtern sind Vollverben, Adjektive und Substantive zu verstehen. Das Hinterfragen muss zu einer sinnvollen Antwort führen und eine User Story inhaltlich ergänzen bzw. konkretisieren.
Im Rahmen der Team-Kommunikation kann das Hinterfragen von Schlüsselwörtern dazu beitragen,  zwischen den Stakeholdern ein gemeinsames Verständnis für die anzustrebende Umsetzung zu erlangen. Die Antworten auf die Fragestellungen ermöglichen, konkrete Akzeptanzkriterien zu definieren. Zwischen den Antworten der Stakeholder und den Akzeptanzkriterien muss keine 1:1-Beziehung bestehen, sondern mehrere Antworten können zu einem Akzeptanzkriterium zusammengefasst werden oder eine Antwort zu mehreren Akzeptanzkriterien führen. Die formulierten Akzeptanzkriterien müssen abschließend abgestimmt werden und dienen als Basis für Akzeptanztestfälle.

Anhand der folgenden User Story demonstriere ich die Vorgehensweise:

Zunächst sind Schlüsselwörter zu identifizieren, die im weiteren Vorgehen zu Hinterfragen sind.

Die Schlüsselwörter “speichern” und “Profil” werden in einen vorbereiteten Fragenkatalog eingesetzt.

Die entstandenen Fragen werden im Team diskutiert und sollen die Kommunikation unterstützen und soll mögliche Lücken in der Anzahl der Akzeptanzkriterien schließen.

In nächsten Schritt werden die Antworten auf die Fragen in konkrete Akzeptanzkriterien zusammengefasst.

Die formulierten Akzeptanzkriterien müssen abschließend abgestimmt werden, um im letzten Schritt Testfälle zu erstellen, die dem bewährten Muster

  • Vorbedingung
  • auszuführende Testschritte
  • erwartetes Ergebnis
  • Nachbedingung
  • verwendete Testdaten

entsprechen.

 

Von Akzeptanzkriterien zum erfolgreichen Akzeptanztest

Fazit: Von User Stories abgeleitete Akzeptanzkriterien eignen sich hervorragend, um eine ausreichende Testbasis für den Akzeptanztest sicherzustellen. Bei einer  Vorgehensweise mit Hilfe von fünf Schritten steht die Definition von Akzeptanzkriterien im Mittelpunkt. Ziel soll es dabei sein, die Team-Kommunikation zu unterstützen und konkrete Details zu User Stories zu definieren, um die Basis für einen erfolgreichen Akzeptanztest zu legen. Zudem kann am Beispiel der Definition von Akzeptanzkriterien durch das Hinterfragen von Schlüsselwörtern demonstriert werden, wie eine klassische Methode ins Scrum-Framework eingebettet werden kann.

2

Möchten Sie mehr über Akzeptanzkriterien erfahren? Dann empfehle ich Ihnen, eines unserer beliebten Trainings, wie beispielsweise das zum  Certified Agile Requirements Specialist (CARS) oder zum Scrum Master.