Zum Release Manager „befördert“ – was nun?

Hintergrund:

Ich arbeite für ein kleines Analytik-/Beratungsunternehmen mit 7 Mitarbeitern. Ursprünglich wurde ich als Datenanalyst eingestellt, aber die Anforderungen des Unternehmens änderten sich, und das Prinzip verlangte, dass ich die Rolle des Release Managers und QA-Testers übernehme. Beachten Sie, dass mein Abschluss Wirtschaftswissenschaften ist, nicht Software.

Mein Problem

Die größte Schwierigkeit, die ich hatte, diese Rolle zu übernehmen, ist die Verwaltung unserer Projekte. Wir verwenden derzeit keinen Bug-Tracker, wir verwenden kein Projektmanagement-Tool, und wir kämpfen darum, einen effizienten Weg zu finden, um Versionshinweise zu erstellen und Todos zu kommunizieren.

Wir haben über 150 Git-Repositories und zu jeder Zeit werden 50 entwickelt. Im Durchschnitt hat jedes Projekt 3 Abhängigkeiten mit jeweils einer bestimmten Entwicklungs- oder Release-Version. Ich finde das ein bisschen überwältigend, und unsere derzeitige Art der Kommunikation besteht darin, zu sprechen oder Notizen auszudrucken.

Dies scheint nicht effizient oder skalierbar zu sein. Ein weiteres Problem ist, dass das Prinzip vehement gegen die Verwendung eines Bugtrackers ist, da wir klein sind. Ich finde das lästig, weil es bedeutet, dass wir keinen Prüfpfad haben, und es macht es schwierig für mich, den Fortschritt zu verfolgen.

Vorwärts gehen

Für die Zukunft gibt es zwei große Fragen, mit denen ich mich auseinandersetzen möchte:

  1. Wie soll ich eigentlich vorgehen, um unsere Projekte zu „verwalten“?
  2. Mit welchen Technologien und Konzepten sollte ich mich vertraut machen, um in dieser Rolle erfolgreich zu sein? Derzeit kenne ich mich mit folgenden Tools etwas aus:

    • Ameise
    • Artefakt
    • Git
    • Grunzen
    • Jenkins
    • Maven
Projektmanagement ist kein Bugtracking. Wenn Sie die Projekte verwalten möchten, würde ich damit beginnen, Umfang, Zeitplan, Qualität und Kosten zu definieren. Ich würde keine Probleme oder Fehler verfolgen, bis ich das mit einer starken Sponsorenvereinbarung festgenagelt hätte.

Antworten (3)

Zur Beantwortung Ihrer Frage

F1: Wie sollte ich eigentlich vorgehen, um unsere Projekte zu „verwalten“?

IMHO gibt es nur wenige wichtige Bedenken für jemanden in einer Release-Management-Rolle . Vielleicht haben Sie einiges davon bereits im Griff.

  1. Liefern wir das richtige Produkt (Haben wir die Anforderungen richtig erfüllt)

    Gibt es eine Methode, die das Team verwendet, um Anforderungen effektiv zu erfassen und zu protokollieren (Need Finding Sessions, detaillierte User Stories)

    Wie erleichtert man Änderungswünsche (weil sie kommen)

    Identifizieren Sie für jedes Projekt einen einzigen Genehmigungspunkt für Umfangsänderungen und alles, was mit dem Umfang in Ihrer Organisation zusammenhängt

    Transparente Kommunikation in Bezug auf alle Scope-Änderungen

  2. Liefern wir das Produkt richtig (geringe Fehlerdichte, ohne Überraschungen, pünktlich)

F2: Mit welchen Technologien und Konzepten sollte ich mich vertraut machen, um in dieser Rolle erfolgreich zu sein?

Hier wenden die meisten Teams den größten Aufwand auf. Basierend auf meiner Erfahrung werde ich eine Liste der wichtigsten Konzepte teilen, mit denen Sie vertraut sein sollten. Wenn ich mir Ihre Liste der Tools ansehe, gehe ich davon aus, dass Ihr Produkt hauptsächlich Java ist. Ich werde versuchen, nicht über ein bestimmtes Werkzeug zu sprechen.

  • Release-Planung (Eine Liste dessen, was für einen bestimmten Zeitraum getan wird, Schätzungen, das für die Lieferung verantwortliche Team)
  • Versionskontrolle (Ihre Teams scheinen Git zu verwenden und es scheint vorhanden zu sein)
  • Code-Review (Statische Code-Analyse; Überprüfung des Codes mit einem Tool, damit Code-Reviews produktiver sind, Coding-Richtlinien, Peer-Review, Lead-Review)
  • Qualitätssicherung (Defect Tracking ist nur ein Teil der QA, Sie müssen mit dem Schreiben von Testfällen, Unit-Tests, Abnahmetests, Mechanismen zum Öffnen/Schließen von QA-Tickets mit Details zur Reproduktion dieser alias Bug-Tracking, Testautomatisierung, Test vertraut sein Abdeckung, dedizierte QA-Umgebungen)
  • Retrospektiven & Reviews (damit das Team mit jeder Iteration lernen und sich verbessern kann)
  • Kontinuierliche Integration (Sehr wichtiger Aspekt der agilen Bereitstellung, aber Sie müssen die Testfälle, Unit-Tests, Abnahmetests, Versionskontrolle [die Sie haben] haben, bevor Sie CI implementieren)

3. Liegen wir im Budget? Meiner Meinung nach ist Scope Creep der Hauptfaktor, der dazu führt, dass ein Projekt das Budget überschreitet

Zusätzlich zu den oben genannten sollte jedes agile Team haben

  • Ein transparentes Kommunikationsmodell ( tägliches Standup kombiniert mit E-Mails, Collaboration Tools; was zu Ihrem Team passt)
  • Häufige Berichte/Statusaktualisierungen über die aktuelle Ausrichtung des Projekts an Projektbeteiligte und Team gleichermaßen

Schnelle Ergänzung : Wenn das Team nicht bereit ist, etwas zu befolgen, das allgemein als Best Practice anerkannt ist (normalerweise hat es gültige Punkte), können Sie es bitten, es für einige Sprints zu verwenden und zu sehen, ob es sinnvoll ist. Wenn es nicht funktioniert Versuchen Sie auf jeden Fall herauszufinden, warum, und verbessern Sie sich. Die Tatsache, dass die Änderung vorübergehend ist, macht sie toleranter gegenüber Mitgliedern, die sich nicht einig sind. Ich dachte, Sie könnten dasselbe verwenden, um Ihre Teammitglieder zur Fehlerverfolgung zu ermutigen.

Und viel Glück! :)

Einige der Dinge, die Sie erwähnen, tun wir bereits, aber andere sind gute Vorschläge. Zwei Fragen: 1) Was ist Ihrer Meinung nach der beste Weg, um die Veröffentlichungsplanung im Auge zu behalten? Ich habe einige große Whiteboards für SCRUM gesehen, aber bei 50 Projekten scheint das umständlich. 2) Was ist ein guter Ausgangspunkt – vielleicht ein Buch – zum Schreiben von Testfällen?
1) Kann ich Ihnen vorschlagen, das Whiteboard (für die Sprint-/Iterationsplanung) für mindestens ein paar Sprints auszuprobieren und zu sehen, wie es für Sie funktioniert? Ich bin normalerweise besorgt über die Overhead-Agile-Tools, die neuen agilen Teams hinzugefügt werden. Sie müssen möglicherweise experimentieren (nur mit Whiteboard, leichtem Online-Tool, Whiteboard + Online-Tool ) edu/~jdalbey/206/Assign/HowToTestCase.html )

Vergessen Sie vorerst PM-Tools. Ich denke, Sie müssen diese Situation triagieren:

  • Zumindest scheint die Versionskontrolle einigermaßen vorhanden zu sein (puh!)
  • Holen Sie sich einen EINFACHEN Bug/Feature-Tracker. Ich würde mit einem gehosteten beginnen. Suchen Sie nach Dingen wie JIRA, Bugzilla usw.
  • Bug-/Feature-Tracker mit Ihrer Versionskontrolle zusammenführen (beginnen Sie mit einfachen Commit-Kommentaren, die auf die Issue-Nummer verweisen)
  • Fangen Sie an, Daten über Zyklus und Vorlaufzeit zu erhalten, um die Situation später zu verbessern
Ein einfacher Bugtracker wäre ideal. Ich habe mich für Jira oder sogar Bitbuckets eingebauten Bugtracker eingesetzt, aber es gab Widerstand. Unsere beiden Entwickler halten das für Zeitverschwendung.

Das Managen eines Projekts erfordert Ziele

Wie soll ich eigentlich vorgehen, um unsere Projekte zu „verwalten“?

Projekt- und Release-Management sind komplizierte Themen, die Bücherregale füllen. Die Schlüsselkonzepte laufen jedoch im Wesentlichen auf Folgendes hinaus:

  • Identifizieren der Ziele des Projekts.
  • Identifizierung des Prozesses, dem die Organisation folgen wird, um die Ziele zu erreichen.
  • Identifizieren der Metriken, die erforderlich sind, um den Fortschritt und die Ressourcennutzung des Projekts zu verfolgen.
  • Identifizieren der Prozesskontrollen, die zum Verwalten der Projektergebnisse, des Zeitplans und des Budgets erforderlich sind.

Ihre Aufgabe ist es nicht, all diese Dinge selbst zu definieren. Ihre Aufgabe ist es, der Organisation (und insbesondere der Geschäftsleitung) dabei zu helfen , diese zu definieren, der Geschäftsleitung Input zu ihrer Erstellung von Prozesskontrollen zu geben und dann interessierten Stakeholdern Informationen über den laufenden Status des Projekts bereitzustellen.

Technische Kontrollen sind sekundäre Erwägungen

Mit welchen Technologien und Konzepten sollte ich mich vertraut machen, um in dieser Rolle erfolgreich zu sein?

Dies ist ein No-Op. "Technologien" sind eine Möglichkeit, Ihre Prozesse und Verfahren zu implementieren, und nicht das Framework selbst. Sie müssen einen Prozess definieren, bevor Sie effektive Prozesssteuerungen dafür entwerfen können.

Stattdessen sollten Sie sich mit den Geschäftszielen (und ungeschriebenen Erwartungen) für das Projekt vertraut machen und nach Projektmanagement-Frameworks und -Kontrollen suchen, die sowohl zu den Zielen als auch zur Kultur Ihrer Organisation passen. Die technischen und administrativen Kontrollen werden dann so gestaltet, dass sie zu Ihrem Prozess passen, und nicht umgekehrt.