Ein interessantes Thema erschien mir heute. Wann beginnen Sie in einem verteilten SCRUM-Team mit der Durchsetzung einer einheitlichen Arbeitsumgebung in Bezug auf Codeformat, IDE-Plugins (checkstyle & co), VCS, CI? Das Team befindet sich in einer Erkundungsphase und das Ziel ist kein Produktionsqualitätscode, sondern ein Proof-of-Concept. Ist es nicht ein Aufwand, einige gemeinsame Kodierungsregeln "a priori" durchzusetzen - bevor die Teammitglieder entscheiden, welche für ihre zukünftige Arbeit wirklich relevant sind? Die Verwendung dieser Art von Tools ist mit Sicherheit ein großer Vorteil, da sie als Heuristik dienen, um die technische Verschuldung zu minimieren, aber die Durchsetzung von Regeln als "No Trailng Spaces", die den Jenkins-Build wirklich brechen, scheint mir ein Overkill für eine Phase zu sein, die eher fokussiert werden sollte beim Eisschnabel als beim Erstellen von Produktionscode.
Erwähnung 1: Die erstellten Prototypen werden weggeworfen
Erwähnung 2: Obwohl ich mir wünsche, dass alles von Anfang an richtig gemacht wird, bin ich mir völlig bewusst, dass dies nicht zu 100% möglich ist.
Antworten:
Ich denke, das Problem besteht aus drei Teilen:
Ich habe beide Extreme ausprobiert (von keinen Regeln, verwenden Sie einfach dieselbe Quellcodeverwaltung, bis zu einer 20-seitigen Codierungsstil-Richtlinie + vielen anderen Prozessen).
Das einzige, was konsequent funktioniert, ist, das absolute Minimum zu akzeptieren, von dem ich weiß, dass ich es brauche und beweisen kann, dass ich es gerade brauche , und den Prozess regelmäßig zu überarbeiten . (Jeder Sprint in der Retrospektive ist ein guter Zeitpunkt dafür.) Dazu gehört auch das Entfernen von Restregeln.
quelle
Ich denke, das hängt wirklich von den Teams ab und davon, wie sehr Sie sich für Checkstyle interessieren. Ich bin damit einverstanden, dass wir Regeln haben sollten, um unnötige Fehler zu vermeiden. Einige Regeln sind jedoch eher ärgerlich als produktiv. Ich denke, Sie müssen sich im Team darauf einigen, welche Regeln notwendig und unnötig sind.
Das Festlegen von Jenkins-Jobs für Checkstyle oder Firebug ist ebenfalls gut, aber Sie müssen sich erneut darauf einigen, wie streng Sie dies wünschen. Ich war in einer Situation, in der jemand gegen eine Checkstyle-Regel verstoßen hat und wir verhindern, dass sich jemand verpflichtet. Auf lange Sicht wird es nur die Leute nerven. Wenn Sie sagen, dass die Leute nicht viel aufpassen müssen, werden sie sie wieder ignorieren. In meinem Team sind wir uns also einig, dass der Qualitätsjob nicht schlecht ist, solange er nicht schlecht ist. Es muss vor dem Ende des Sprints blau sein.
Mein Vorschlag wäre also, das Meeting zeitlich zu planen, damit Sie nicht viel Zeit damit verbringen, Regeln zu erstellen und über Regeln zu diskutieren.
Einige Gedanken, moderne IDEs haben ein Checkstyle-Plugin, um die Leute zu warnen, wenn einige Regeln verletzt wurden. Das Team kann sich darauf einigen, dies nur während der Codeüberprüfung zu überprüfen, bevor sie sich verpflichten. Das hilft auch meinem Team.
quelle
quelle
Ich würde vorschlagen, mit der Umsetzung des Konzepts einer einheitlichen Arbeitsumgebung zu beginnen, sobald sich die Geschwindigkeit des Teams zu stabilisieren beginnt. Dies kann zu Beginn des Projekts zu einer technischen Abteilung führen, zu Beginn eines Projekts ist jedoch immer eine technische Abteilung vorhanden. :) :)
Normalerweise gelingt es mir, dem selbstorganisierenden Aspekt eines Teams zu ermöglichen, etwas zu finden, das für sie und ihre Anforderungen angemessen ist. Präsentieren Sie dem Team im Grunde eine Beschreibung eines Problems, z. B. das Versagen von Jenkin Builds, und geben Sie ihm die Möglichkeit, es zu beheben.
Dies führt normalerweise zu einer minimalen Implementierung einer Lösung, wie Zachary Yates in seiner Antwort erwähnt hat.
Ich würde bemerken, dass es zu Ihren Gunsten zählen würde, wenn Sie jemanden mit einem hohen technischen Niveau / einer Position haben, der eine subtile Anleitung bietet, nur um dem Team zu helfen, nicht komisch zu werden, mit was es sich entscheidet. :) :)
quelle