Bei einem SCRUM-Meeting diskutierte das Produktteam über eine Funktion einer API, die von der mobilen App genutzt wird. Wir hatten ein Modell, das zeigte, wie der Bildschirm aussehen sollte und welche Schlüsselelemente er enthalten sollte (ein "Layout").
Auf dieser Grundlage und der Diskussion mit dem Produktbesitzer habe ich einen Prototyp für eine API-Antwort (HAL + JSON) erstellt. Es war sehr einfach, HAL-konformes JSON, das nichts anderes tat, als die Dinge darzustellen, die auf den Mockups standen. Ich ließ mich nicht von den Zukunftsideen beeinflussen, die von Geschäftsleuten vorhergesehen wurden, da diese dazu neigen, ihre Ideen häufig zu ändern, und entschied mich für einen minimalistischen Ansatz. Mein Vorschlag wurde vom Team abgelehnt und ich wurde mit 7 zu 1 überstimmt.
Das Team entschied sich für eine komplexere, nicht semantische abstrakte JSON-Struktur, die mehr Flexibilität bei der Anordnung des Layouts ermöglicht. Der Nachteil dieses Ansatzes besteht darin, dass wir eine Reihe von einheitlichen Objekten haben, die vom Design her null und leere Eigenschaften haben können. Sie dachten auch, es wäre schön, A / B-Tests zu ermöglichen, aber sie basierten nur auf ihren Vorhersagen, da wir keine solchen Anforderungen hatten.
Die meiste Zeit diskutierten wir über Dinge, die weder Teil des Sprints waren noch in den Mockups erwähnt wurden. Die beschriebenen Probleme lauteten "Was wäre, wenn das Marketing in Zukunft ...", "Was wäre, wenn das Unternehmen dies wünscht ...".
Ich und der Produktbesitzer sind erfahrene Programmierer, und wir haben solche Probleme in der Vergangenheit gesehen. Wir versuchen, den YAGNI- und KISS- Prinzipien zu folgen . Der Rest des Teams ist etwas weniger erfahren und obwohl sie diese Prinzipien kennen, scheinen sie sie nicht zu verstehen.
Wir haben uns auf ihre Lösung geeinigt, da das gesamte Team für uns wichtiger ist und wir nicht über etwas streiten wollten, das nicht so wichtig ist. Aber ich fürchte, ob so etwas ein Präzedenzfall für bevorstehende, kompliziertere Debatten werden kann? Wie gehe ich mit einem solchen Verhalten um? Was kann ich als Teamleiter besser?
Erwähnenswert ist, dass es sich bei dem Produkt um ein MVP im Frühstadium handelt.
I'm afraid if such thing can become a precedence for upcoming, more complicated debates?
- Das verstößt auch gegen YAGNI: sich Sorgen um eine Zukunft zu machen, die nicht passieren könnte. Wenn Sie sich behaupten wollten, hätten Sie dies bereits tun sollen.