Projektmanagement: Funktionen (Meilensteine, Aufgaben und Feedbackschleifen)
Projektmanagement hat viele Facetten, und die Art und Weise, wie wir alle die verschiedenen Aspekte unserer Projekte aufteilen, hängt wahrscheinlich davon ab, wie unser Arbeitsplatz es tut, wie der Kunde es tun möchte oder wie wir uns dafür entscheiden, es selbst zu tun.
Wenn es darum geht, speziell an einem bestimmten Projekt zu arbeiten, spreche ich in diesem Beitrag speziell darüber, wie wir die Anforderungen eines Projekts nehmen und sie in überschaubarere Teile und Ergebnisse für die Menschen, für die wir arbeiten, aufteilen. Und dabei ist es meiner Meinung nach wichtig, dass sie auf dem Laufenden bleiben und den Fortschritt an den richtigen Kontrollpunkten sehen können, um Feedback zu erhalten.
Obwohl ich verschiedene Aspekte meines Geschäfts geändert habe, als ich mehr darüber gelernt habe, was funktioniert und was nicht, ist eine Sache gleich geblieben, wie ich mit den entwicklungsbezogenen Aspekten von Funktionen eines Projekts umgehe.
Features: Meilensteine, Aufgaben und Feedbackschleifen
Wenn wir über solche Dinge reden, rutscht man leicht in den Jargon unserer Branche ab. Und obwohl ich nicht denke, dass „Meilensteine“ und „Aufgaben“ unbedingt etwas übermäßig Technisches haben, ist eine „Rückkopplungsschleife“ etwas, das etwas anders ist. Aber darauf werde ich gleich eingehen.
Angesichts einer Reihe von Anforderungen, egal wie groß, beginne ich sofort, das Dokument durchzugehen – unabhängig davon, wie wir es erhalten – und über alle Teile nachzudenken, die erforderlich sind, um eine bestimmte Funktion zu erreichen. Unabhängig von den Sprachen, Tools, Frameworks oder Anwendungen, mit denen Sie arbeiten möchten, ist es meines Erachtens von entscheidender Bedeutung, sich mit dem, womit Sie arbeiten, vertraut zu machen.
Funktionen in Meilensteine und Meilensteine in Aufgaben aufteilen.
Von dort aus nehme ich dann ein bestimmtes Feature und zerlege es in verschiedene Aufgaben, und ich wiederhole das für jedes der Features. Normalerweise versuche ich, jedes Feature zu einem Meilenstein zu machen, aber einige Features sind größer als andere und müssen in mehrere Teile aufgeteilt werden. Zu diesem Zweck wird ein Projekt normalerweise so aufgeteilt, dass:
- Ein Feature wird zu einem Meilenstein (oder Meilensteinen),
- Ein Meilenstein ist eine Gruppe von Aufgaben,
- Und eine Aufgabe entspricht einer funktionalen Einheit (allerdings nicht unbedingt einer Funktion in der gesamten Codebasis).
Dann können Sie von hier aus rückwärts arbeiten, um zu sehen, wie es einem Release entspricht:
- Eine Aufgabe entspricht normalerweise einem Commit,
- Eine Reihe von Commits entspricht einem Tag,
- Ein Tag entspricht der Zusammenführung eines Features,
- Ein Feature entspricht einem Meilenstein.
An diesem Punkt sollte ein Meilenstein für die Bereitstellung in der Staging-Umgebung bereit sein, damit der Kunde ihn anhand seiner Vorstellungen (und Anforderungen) bewerten kann, um sicherzustellen, dass er erfüllt wird.
Hier kommt eine Rückkopplungsschleife ins Spiel. Aber zuerst definiere ich eine Rückkopplungsschleife einfach wie folgt:
Ein Gespräch über ein bestimmtes Feature, das bestimmt, ob es fertig ist oder mehr Arbeit erfordert.
Obwohl andere viel mehr ins Detail gehen. Ich schweife aber ab.
Während ich also darauf warte, dass sich der Kunde bezüglich des neuesten Meilensteins meldet, werde ich – oder wir – normalerweise mit dem nächsten Meilenstein fortfahren. Aus diesem Grund ist es wichtig, eine konsistente Arbeitsweise mit Meilensteinen, Aufgaben und Feedback (zusammen mit Verzweigungen in Quellcodeverwaltungs- und Stagingumgebungen) zu haben.
Beginnen Sie mit der Arbeit an einem neuen Feature, nachdem Sie das letzte der Quellcodeverwaltung und dem Staging übergeben haben.
Wenn Feedback vom Kunden zurückkommt, nehmen wir normalerweise das Feedback, bestimmen, was getan werden kann und was nicht, und stapeln es dann in einen neuen Meilenstein. Manchmal wird der Meilenstein am Ende hinzugefügt; In anderen Fällen wird es als nächstes Prioritätselement hinzugefügt. Es hängt alles von der Art der Arbeit, dem Feedback und davon ab, wie es in den Umfang des Projekts passt.
Mehr als Funktionen
Im Allgemeinen ist dies nur ein grober Überblick darüber, wie ich versuche, die Entwicklungsaspekte von Funktionen zu verwalten. Aber der Blick auf Meilensteine, Aufgaben und Feedback-Schleifen ist wichtig, denn sobald dieses System eingerichtet ist, schafft es eine vorhersehbare Möglichkeit, wie Sie und ein Team Lösungen implementieren können.
Darüber hinaus schafft es Vorhersagbarkeit bei den Leistungen und der Kommunikation mit Ihren Kunden, und dies funktioniert auch besonders gut bei Stammkunden, da sie wissen, was sie erwartet.
Wie bei vielen Dingen, über die ich schreibe, versuche ich nicht, dies als Evangelium darzustellen, aber ich glaube, dass es wichtig ist, ein System zu haben. Ich denke nicht, dass man jemals ein Projekt beflügeln sollte, es sei denn, es ist nur ein persönliches Nebenprojekt.
Unabhängig davon, welchen Ansatz Sie wählen, haben Sie zumindest einen Ansatz.
