Der größte Nachteil der agilen Entwicklung, den ich erlebt habe, ist, dass sich Leute, die nicht an der Entwicklung beteiligt sind, auf das Mantra konzentrieren, dass eine User Story (3-10 ideale Personentage) nicht mehr als 1-3 Sätze enthalten sollte, wie:
Als Kunde kann ich die Freitextsuche verwenden, um die gewünschten Produkte zu finden.
Nach diesem Satz erwarten die Projektmanager von mir als Entwickler, dass ich mich auf eine Schätzung einlasse und die Geschichte entwickle. Sie gehen davon aus, dass eine agile Entwicklung bedeutet, dass solche Sätze für Entwickler alles sind, was sie zu bieten haben.
Ich werde ihnen keine Vorwürfe machen, da die bekannte Literatur über agile Entwicklung den Eindruck erweckt, dass dies tatsächlich funktionieren würde. Ich habe in "Planning XP" 2 Seiten in natürlicher Sprache pro Geschichte gelesen, aber das war's. Da "funktionierende Software" der "umfassenden Dokumentation" vorgezogen wird, scheint dieses Thema generell vermieden zu werden.
Die Realität ist natürlich, dass, wenn der Entwickler die Möglichkeit dazu hat, ein Interview mit dem Kunden eine lange Liste von Anforderungen aufwirft, die der Kunde an die Story hat:
- Wir brauchen boolesche Operatoren wie AND und OR.
- Wir brauchen eine Fuzzy-Suche und alle Begriffe.
- Wir müssen sowohl nach einzelnen Wörtern als auch nach Phrasen suchen.
- Wir möchten keine Produkte finden, die die Kriterien X, Y und Z erfüllen.
- Wir wollen das Ergebnis sortieren. Übrigens kann der Benutzer die Sortierkriterien in einem Kombinationsfeld mit den Optionen a, b und c auswählen.
Sie sehen also, dass ich nicht über technische Details oder Software-Design oder gar Implementierungsdetails spreche. Es sind reine Anforderungen. Je länger wir reden, desto mehr merkt der Kunde, dass es tatsächlich eine Menge zu sagen gibt, was er will.
Aber oft genug finde ich mich in der Situation wieder, dass solche Informationen nicht oder nur sehr mangelhaft zur Verfügung gestellt werden. Es ist weder möglich, dass ich das Interview mache, noch gibt mir die Person, die in der Lage wäre, das Interview zu führen, ein Ergebnis davon.
Manchmal kommen Manager sogar auf technische Details wie "Wir wollen Lucene-Suche", aber sie möchten nicht darüber nachdenken, ob sie nur Produktnamen oder auch Produktbeschreibungen finden möchten. Manchmal denke ich, dass sie nur faul sind;)
Für mich ist dies das Hauptproblem in Projekten, in denen ich arbeite (E-Business-Webanwendung, 500-2000 Personentage pro Projekt). Ich habe dieses Problem oft genug angesprochen und Manager sind sich bewusst, dass die meisten Entwickler ein Problem mit der Situation haben. Aber sie glauben, dass Entwickler einfach zu viel "Perfektionisten" sind. Sie scheinen sich zu ärgern, dass Entwickler "immer alles spezifizieren wollen".
Aufgrund des Mangels an allgemein anerkannten Zahlen ist es schwer zu streiten. Jeder weiß, wie lange eine Iteration dauern sollte. Aber niemand kann sagen, wie viele Anforderungen erforderlich sind, um eine Geschichte abzuschätzen und zu entwickeln.
Haben Sie eine Referenz?