Also habe ich angefangen, für ein großes Unternehmen zu arbeiten, eines mit drei Buchstaben im Namen, und sie versuchen, agil zu werden, haben aber Tonnen von Prozessen, die ich nicht für agil halte.
Das, was mich am meisten beschäftigt, sind Code-Reviews. Mein letzter Job war bei einem Startup, von dem ich sagen würde, dass es das agilste Entwicklungsteam ist, von dem ich je gehört habe.
Mein Argument ist jedenfalls, dass Code Reviews eine Zeitverschwendung bei der iterativen oder agilen Entwicklung sind, bei der die UX / UI extrem / intensiv ist (denken Sie an die Perfektion von Apple / Steve Jobs). Vielleicht kann jemand hier helfen zu verstehen, bevor sie mich feuern?
Hier ist mein Entwicklungsprozess und der bei meinem letzten Start ... sehr agil.
Wir erledigen die frühe Feature-Arbeit, um Entwicklungsaufgaben / Aufgaben zu sortieren. Wir verspotten einige Versionen und präsentieren sie Benutzern, Teams und dem Marketing, um Feedback zu erhalten. Wir machen dann eine weitere Mockup-Iteration, um eine Runde von denselben Stakeholdern wie oben zu gewinnen. Dann teilen wir die Arbeit auf und legen los. Wir haben Meilensteine und Termine zu erfüllen, aber wir verstopfen weiter. Wir haben währenddessen keine Code-Bewertungen. In den Wochen unserer Entwicklung haben wir mehrmals erneut Sitzungen mit den Stakeholdern abgehalten, um zu prüfen, ob die vereinbarten Features / Funktionen / UX / UI noch immer gut und zielgerichtet sind.
Gegen Ende des achtwöchigen Iterationszyklus beginnt die Qualitätssicherung mit dem Testen. Dann wenden wir uns an Alphanutzer und schließlich an Betanutzer. Während der Alpha- und Beta-Phase gehen Entwickler die neuen und älteren Funktionen durch und nehmen täglich oder stündlich iterative Änderungen an der Benutzeroberfläche vor, um die Benutzeroberfläche zu verbessern. Eine Funktion, die in dieser Version entwickelt wurde, wurde in den letzten vier Wochen möglicherweise noch dreimal geändert, um sie zu verbessern und zu perfektionieren, oder um ein paar kleine Funktionen hinzuzufügen (z. B. um die Komponente etwas schlauer oder schlauer zu machen). Manchmal können die Änderungen oberflächlich sein, was bedeutet, dass keine CRUD-Operationen geändert oder modifiziert werden, sondern dass sich nur die gesamte Benutzeroberfläche ändert.
Wäre Code-Reviews bei dieser Art von Entwicklungsprozess, extrem agil, keine Zeitverschwendung? Das heißt, wenn ich einen anderen Entwickler oder zwei meinen Code überprüfen ließ, dieser Code sich dann aber noch dreimal ändert, bevor er veröffentlicht wird, verschwenden wir aufgrund all der UI / UX-Verbesserungen nicht unsere Zeit für die ersten drei Überprüfungen des Codes Code als dieser Code / Komponente / UI verschrottet wurde?
Wir hatten nie viele Qualitätsprobleme mit diesem Prozess und ja, wenn ein Entwickler das gesamte Wissen hinter sich gelassen hat, fanden wir immer kluge Entwickler, die es aufgreifen und übernehmen konnten.
Und ja, wir haben viele Tester, weil sie möglicherweise drei- oder viermal nachprüfen müssen. Lassen Sie sich auch nicht auf die Frage ein, warum sich die Benutzeroberfläche / UX geändert hat. So wird es gemacht. Deshalb gewinnt die App Unmengen von Auszeichnungen für die Benutzeroberfläche / UX und die Benutzer werden für die töten App. Der Gedanke ist, wenn ich eine Verbesserung von 2% in etwas erreichen kann, weil ich eine zusätzliche Stunde Zeit habe, dann mache ich es. Benutzer werden glücklicher sein, was bedeutet, mehr $ oder Benutzer. Und ja, unsere Benutzer sind damit einverstanden, dass sich die App ständig ändert, weil dies seit dem ersten Tag so ist, damit sie es nicht als schlecht oder negativ ansehen.
Hoffe, dass dieser Beitrag nicht so pompös rüberkommt, aber ich kann einfach nicht sehen, dass Code Reviews keine Verschwendung sind. Möglicherweise haben 2% unseres gesamten Codes im überprüften Code Fehler. In jeder Version finden wir möglicherweise 3 Bugs über die Codeüberprüfung. Am Ende sind es also 40 Stunden Code-Review pro Entwickler und Release (4 x 40 = 160 Stunden), um 3 bis 5 Bugs zu finden? Die Chancen stehen gut, dass 50% dieser 3 bis 5 Bugs ohnehin von QA entdeckt wurden. Wäre es nicht besser, diese 40 Stunden pro Entwickler damit zu verbringen, eine neue Funktion hinzuzufügen oder die vorhandenen zu verbessern?