socialgekon.com
  • Haupt
  • Umsatzwachstum
  • Prozess Und Werkzeuge
  • Engineering Management
  • Ux Design
Projektmanagement

Ein Leitfaden für Anfänger zum Verwalten der Softwareentwicklung mit Kanban und Trello

Jeder ist ein Projektmanager. Egal, ob Sie die Entwicklung einer neuen Anwendung verwalten und Ihr Startup erweitern, an einem neuen Milliarden-Dollar-Unternehmensprojekt arbeiten oder nur versuchen, Ihren Garten mit DIY-Landschaftsgestaltung zu beleben, Sie verwalten immer ein Projekt.

Der Erfolg Ihres Projekts hängt von vielen Faktoren ab. Einer der häufigsten Gründe für das Scheitern von Projekten ist jedoch ein Mangel an Management oder direktem Erfolg Schlecht Projektmanagement. Egal wie klein Ihr Team ist oder wie klar Ihre Anforderungen dokumentiert sind, wenn Sie Ihr Team nicht richtig verwalten, wird Ihr Projekt mit Sicherheit scheitern.

Jede Minute, die Sie mit der Verwaltung Ihres Projekts verbringen, ist gut investierte Zeit. Es bringt Sie dem erfolgreichen Abschluss Ihres Projekts näher.

Agiles Projektmanagement ist eine allgemein anerkannte Methode, um moderne Softwareentwicklungsprojekte anzugehen. Aber was macht das? Agil wirklich gemein?



Agile Projekte akzeptieren die häufige Änderung von Umfang und Anforderungen als integralen Bestandteil des Prozesses.

Für einen tieferen Einblick in agile Prinzipien empfehle ich, unsere zu lesen Ultimativer Leitfaden für agile Projekte Management.

In diesem Beitrag erklären wir die Grundlagen des agilen Projektmanagements mit Kanban.

Selbst wenn Sie ein erfahrener Projektmanager sind, der agile Prinzipien in- und auswendig versteht, sollten Sie Ihr Gedächtnis auffrischen und sich an Kernkonzepte erinnern. Innovationszyklen in Software-Entwicklung werden ständig beschleunigt, wodurch das Projektmanagement mit jeder Iteration komplexer wird. Es ist immer wichtig, zu den Grundprinzipien zurückzukehren und die Kernprinzipien von Agile zu festigen. Wiederholung ist schließlich die Mutter allen Wissens.

Kanban ist eine der einfachsten Methoden zur Verwaltung eines agilen Softwareentwicklungsprojekts. Sie können problemlos ein lokales Entwicklungsteam verwalten, das von demselben Büro oder verteilten Team aus über mehrere Zeitzonen verteilt arbeitet.

Kanban ist kein Prozess. Auf diese Weise können Sie jeden Prozess mit minimalen Änderungen an den etablierten operativen Aktivitäten des Teams verwalten.

Um Kanban-Prinzipien auf Ihre Arbeit anzuwenden, müssen Sie zwei einfache Regeln anwenden:

  1. Visualisieren Sie Ihren Prozess.
  2. Begrenzen Sie die laufenden Arbeiten.

Visualisieren Sie Ihren Prozess

Die Datenvisualisierung ist eine schnelle und einfache Möglichkeit, Informationen universell und leicht verständlich zu vermitteln. Beim Betrachten von Bildern kann das menschliche Gehirn mehrere Informationen gleichzeitig verarbeiten. Einige Untersuchungen sagen, dass dies bis zu 60.000 Mal schneller sein kann als das Lesen eines Textes.

Gehirnneuronen für unsere visuelle Wahrnehmung sind verantwortlich 30 Prozent der grauen Substanz des Gehirns.

Die beliebteste Art, einen Prozess zu visualisieren, ist ein Kanban-Board. Ein Kanban-Board ist ein Board, das vertikal in mehrere Spalten unterteilt ist, wobei jede Spalte einen Status in Ihrem Prozess darstellt.

Schauen wir uns an, wie ein einfaches Software Development Board aussehen würde. Zunächst müssen wir Zustände für unsere Entwicklungsmerkmale definieren:

  1. Machen - Feature wartet auf Entwicklung
  2. Entwicklung - Die Funktion ist einem Entwickler zugewiesen und er / sie arbeitet daran
  3. Qualitätskontrolle - Funktion wird überprüft
  4. Bereitgestellt - Die Funktion wird akzeptiert und ist in der Anwendungsfreigabe enthalten

Auf dieser Grundlage sollte Ihr Board das folgende Layout haben:

Ein Trello-Board mit vier Spalten: Aufgaben, Entwicklung, Qualitätssicherung und Bereitgestellt.

Das Visualisieren einzelner Aufgaben ist so einfach wie das Erstellen einer einfachen Karte (ähnlich wie bei einem Post-it), die die zu erledigende Arbeit darstellt. Sie können die Aufgabe benennen, den Namen des zugewiesenen Entwicklers, das Fälligkeitsdatum und andere relevante Informationen zu dieser Karte hinzufügen.

Wenn Sie diese Karte zu einer Spalte im Kanban-Board hinzufügen, haben Sie sich vorgestellt, dass beispielsweise ein bestimmter Entwickler an einer bestimmten Aufgabe arbeitet, die zu einem bestimmten Zeitpunkt fällig ist und sich derzeit in der Entwicklung befindet.

Nahaufnahme einer Trello-Karte mit Beschriftungen, die das Farbetikett der Aufgabe, den Titel der Aufgabe, das Fälligkeitsdatum der Aufgabe, die Anwesenheitsanzeige der Aufgabenbeschreibung, den Kommentarzähler, den Anhangszähler, die Checklistenelemente, die aus dem Gesamtanteil stammen, und die Anzeige der zugewiesenen Personen hervorheben.

Begrenzen Sie die laufenden Arbeiten (WIP)

Menschliches Multitasking ist eine Täuschung. Anstatt ein oder zwei Dinge gleichzeitig zu beachten, wechselt unser Gehirn sehr schnell zwischen ihnen.

Dies ist in der Softwareentwicklung sichtbarer als anderswo. Entwickler können jeweils nur an einem Code arbeiten. Der Wechsel zu einer anderen Funktion führt zu Verzögerungen und beeinträchtigt deren Konzentration und Leistung.

Dies bedeutet nicht, dass Sie die Anzahl der Zuweisungen auf jeweils nur eine beschränken müssen. Entwicklung ist eine komplexe und kreative Arbeit, einige Aufgaben erfordern mehr und andere weniger Zeit, und es gibt immer eine Verzögerung, während ein Entwickler auf etwas oder jemanden wartet. Das Wichtigste ist, die zugewiesenen Aufgaben auf eine angemessene Anzahl zu beschränken, die kein Chaos erzeugt (dies sind normalerweise drei bis fünf Aufgaben gleichzeitig).

Angenommen, Ihr Entwicklungsteam besteht aus zwei Entwicklern und einem QS-Ingenieur, hat Ihr Board möglicherweise die folgenden WIP-Grenzwerte:

  • To-Do - Unbegrenzt
  • Entwicklung - Sechs-Karten-Limit (Zwei Entwickler sind jeweils auf maximal drei Aufgaben beschränkt)
  • Qualitätssicherung - Drei-Karten-Limit (1 QS-Techniker auf maximal drei Karten beschränkt)
  • Bereitgestellt - Unbegrenzt
Erwarten Sie nicht, dass Entwickler weise sind, und beschränken Sie ihre WIP selbst. Wenn Sie alles von der To-Do-Liste an Entwickler weitergeben, ist es, als würde man einem Kind zu viele Spielsachen geben. Anstatt mit einem Spielzeug zu spielen, werfen sie sie einfach herum und sorgen für Chaos in Ihrem gepflegten Zuhause. Trotzdem werden sie nicht glücklich sein und Sie können Wutanfälle erwarten.

Als Projektmanager ist es Ihre Aufgabe, sicherzustellen, dass die Aufgabenliste ordnungsgemäß priorisiert wird und die Aufgaben den Entwicklern nicht früher als nötig zugewiesen werden.

Ein Trello-Board ähnlich dem ersten, jedoch mit der zweiten Spalte WIP und einer roten Linie

Ein ordnungsgemäß verwaltetes Kanban-Board gibt Ihnen auf einen Blick ein klares Bild Ihres Projektstatus. Sie können sehen, dass Ihre Entwickler über genügend Arbeit verfügen, dass Sie neue Aufgaben vorbereitet haben, die sie übernehmen können, sobald ihre Aufgaben erledigt sind, und dass Ihr QS-Techniker auf die Überprüfung neuer Aufgaben wartet.

Verwenden Sie Trello, um Ihr Kanban-Board zu verwalten

Trello ist eine webbasierte Kanban-Projektmanagement-Anwendung. Es ermöglicht eine einfache Zusammenarbeit in Echtzeit zwischen Teammitgliedern und sogar mehreren Teams und Projekten.

Um ein Board in Trello zu erstellen, klicken Sie auf den Menüpunkt 'Neues Board erstellen ...' und legen Sie einen Titel für Ihr Board fest.

Ein Screenshot zum Erstellen eines Boards in Trello. Dort

Sie beginnen mit einem leeren Brett. Verwenden Sie das Feld 'Liste hinzufügen ...', um Spalten für Ihre Kanban-Karten zu erstellen.

Ein Screenshot zum Hinzufügen einer Aufgabenspalte in Trello. Die neue Spalte

Durch Klicken auf 'Karte hinzufügen ...' unten in einer der Listen können Sie ganz einfach eine Aufgabe erstellen. Jede Karte, die Sie erstellen, sollte eine Aufgabe darstellen, die von einem Teammitglied ausgeführt wird.

Karten in Trello können auf viele Arten angepasst werden:

  • Weisen Sie Teammitglieder zu, die für die Ausführung einer Aufgabe verantwortlich sind
  • Farbcode sie abhängig von bestimmten Gruppierungen, die Sie hinzufügen möchten
  • Fälligkeitstermine festlegen
  • Anhänge hinzufügen
  • Fügen Sie benutzerdefinierte Felder hinzu, z. B. eine Checkliste, in der Sie den Fortschritt kleinerer Elemente verfolgen können, aus denen eine Aufgabe besteht
  • Teammitglieder können eine Karte kommentieren und jeder wird über vorgenommene Änderungen informiert.

Ein Screenshot einer Trello-Karte

Visualisierung ist alles in Kanban. So sieht eine Karte auf dem Brett aus:

Ein Screenshot der vorherigen Karte auf Trello-Board-Ebene mit denselben zuvor beschriebenen Elementen, die jedoch mit der neueren Karte übereinstimmen

Wenn Sie nur auf die Karte schauen, ohne die Detailansicht zu öffnen, können Sie Folgendes sehen:

  1. Die Aufgabe zum Einrichten des GitHub Code Repository wartet darauf, in der Aufgabenliste ausgeführt zu werden.
  2. Die Aufgabe ist bis zum 27. Januar fällig.
  3. Aufgabe hat eine Beschreibung.
  4. Es gibt einen Kommentar zur Aufgabe.
  5. Es gibt eine Checkliste mit zwei Elementen, und keines dieser Elemente ist derzeit abgeschlossen.
  6. Die Aufgabe wird dem Benutzer DS zugewiesen, der sie als nächstes aufnimmt.
  7. Die Aufgabe gehört zu einer Gruppe grüner Farbkarten. Dies bedeutet, dass sie vor dem Start des Projekts erforderlich ist.

Schätzen Sie Zeit und Komplexität der Entwicklungsarbeit

Das Planen und Verwalten eines Projekts ist unmöglich, ohne den Aufwand und die Zeit zu verstehen, die zur Erledigung einer bestimmten Aufgabe erforderlich sind. Eine der schwierigsten Aufgaben bei der Softwareentwicklung besteht jedoch darin, zu bestimmen, wie lange es dauern wird, ein neues Softwareprodukt oder eine neue Softwarefunktion bereitzustellen.

Gedränge , eines der beliebtesten agilen Prinzipien, stützt sich stark auf Schätzungen, unabhängig davon, ob sie auf Zeit oder „Komplexitätspunkten“ basieren.

Das Team sollte viel Zeit damit verbringen, die Aufgabe zu planen.

Dies liegt daran, dass Scrum auf Zeitintervallen basiert, in denen eine bestimmte Gruppe von Aufgaben voraussichtlich abgeschlossen sein wird. Um die Lieferung planen zu können, müssen Sie alle für diesen Zeitraum geplanten Arbeiten vollständig verstehen.

Kanban ist nicht auf Lieferungen mit Zeitrahmen angewiesen, und Sie können die tägliche Lieferung planen, wenn Sie möchten. Es basiert auf der Optimierung des Flusses. Das bedeutet, dass sich das Team darauf konzentriert, die WIP-Spalte so schnell wie möglich zu vervollständigen und zu leeren.

Das Team verbringt nicht viel Zeit damit, die Arbeit im Voraus zu schätzen. Ein Entwickler holt den nächsten Artikel von To-Do ab. vervollständige es so schnell wie möglich; und eine andere Aufgabe aufnehmen.

Dies bedeutet nicht, dass ein Team das Volumen seiner Arbeitsbelastung nicht schätzen sollte.

Sie können Ihre wöchentlichen oder täglichen Anrufe verwenden, um Fälligkeitstermine zu aktualisieren und zu überprüfen.

Für ein kleines Team ist es jedoch wichtiger sicherzustellen, dass Entwickler zu einem bestimmten Zeitpunkt an der Aufgabe mit der höchsten Priorität arbeiten und dass es keine Engpässe gibt, die einen Entwickler dazu zwingen, seine Arbeit anzuhalten.

Schließlich wird Ihr Projekt wachsen und Sie müssen damit beginnen, den Umfang der Entwicklungsarbeit genauer abzuschätzen. Wenn Sie diese Situation erreicht haben, lesen Sie unseren Leitfaden für Schätzung der Softwarekosten im agilen Projektmanagement .

Managementpraktiken, die man haben muss

Bisher haben Sie gelernt, wie wichtig es ist, Ihren Prozess zu visualisieren und WIP einzuschränken und wie Sie Trello zur Verwaltung Ihres Projekts verwenden.

Ein Softwareprojekt kann jedoch nicht nur mit Karten und Spalten verwaltet werden. Daher ist es wichtig, auch agile Best Practices zu implementieren:

  • Organisieren Sie ein regelmäßiges Teammeeting.
    Führen Sie dies mindestens wöchentlich durch, um zu überprüfen, was getan wurde, und um das Backlog (To-Do-Liste) bei Bedarf zu verfeinern und zu priorisieren. Auf diese Weise erhält das gesamte Team gleichzeitig Updates und Ideen können ausgetauscht werden. Bei diesen Besprechungen ist es wichtig, einen Projektbeteiligten (Kunden, CTO des Unternehmens oder einen Mitarbeiter des Produktteams, der eine Entscheidung treffen und Fragen beantworten kann) zu haben, um eventuell nicht technisches Feedback zu geben.

  • Sorgen Sie für eine ständige Kommunikation mit einzelnen Teammitgliedern.
    Dies erleichtert die tägliche Arbeit aller erheblich. Halten Sie diese Besprechungen oder Synchronisierungen sehr kurz und einfach. Nur ein kurzes Update in Ihrem bevorzugten Chat-Programm reicht aus. Es ist nützlich, täglich einzuchecken. Dies kann eine tägliche Besprechung von ca. 15 Minuten sein, die Sie mit Ihrem Team haben. In dieser Besprechung spricht jedes Teammitglied einige Sekunden lang:

  • Woran sie gestern gearbeitet haben.
  • Woran sie heute arbeiten wollen.
  • Vor welchen Herausforderungen oder Engpässen stehen sie?


Machen Sie sich während des Anrufs Notizen und achten Sie darauf, mögliche Probleme zu finden (Blocker, falsche Fokussierung auf die Aufgabe, unerwartete technische Herausforderungen) und arbeiten Sie mit dem Team daran.

Booten Sie Ihr Softwareentwicklungsprojekt

Obwohl jedes Softwareentwicklungsprojekt anders ist, gibt es in fast allen bestimmte Aufgaben. Hier sind einige der Aufgaben, die Sie planen sollten, wenn Sie ein Softwareentwicklungsprojekt starten:

  • Richten Sie die Codeversionierung und ein Repository ein.
    Das Verfolgen von Änderungen und das Überwachen von Code ist äußerst wichtig, insbesondere bei der Zusammenarbeit an Projekten, bei denen mehrere Personen denselben Code aktualisieren.

    Einer der beliebtesten Dienste für die Codeversionierung ist GitHub . GitHub ist ein webbasiertes Git- oder Versionskontroll-Repository, das alle Funktionen der verteilten Versionskontrolle und Quellcodeverwaltung (SCM) von Git bietet.

    Es bietet Zugriffskontrolle und verschiedene Funktionen für die Zusammenarbeit, z. B. Fehlerverfolgung, Funktionsanforderungen, Aufgabenverwaltung und Wikis für jedes Projekt.

  • Definieren Sie eine Datenbanksicherungsrichtlinie.
    Durch die Verwendung von Diensten wie GitHub wird sichergestellt, dass Ihr Code regelmäßig gesichert wird.

    Datenbanken sind normalerweise nicht Teil Ihres Versionsverwaltungssystems, und Sie sollten auch häufige Datenbanksicherungen einrichten.

    Der Entwicklungsprozess ist fehleranfällig und es ist leicht, Fehler zu machen und die falschen Daten während der Entwicklung zu aktualisieren. Ein Backup erspart Ihnen den Ärger, wenn ein solches Problem auftritt.

  • Richten Sie Tools für die Zusammenarbeit und die gemeinsame Nutzung von Dateien ein.
    Projektdokumentation, Funktionsspezifikationen, Designdateien und alle anderen Dokumentationen und Dateien, die während der Projektentwicklung verwendet werden, werden ständig aktualisiert und sollten an Ihr Team verteilt werden.

    Sie können verschiedene Dienste verwenden, um diese Dateien freizugeben. Google ermöglicht eine einfache und kostengünstige Lösung für dieses Problem. Verwenden Sie Google Drive, Google Text & Tabellen, Google Sheets und andere Google Apps, um Dateien freizugeben und zusammenzuarbeiten.

  • Richten Sie separate Entwicklungs- und Testserver ein.
    Der Entwicklungsprozess muss jederzeit fortgesetzt werden.

    Entwickler sollten nicht auf die Ergebnisse von Anwendungstests warten und weiterhin an ihren Aufgaben arbeiten, während die Qualitätssicherung die abgeschlossenen Funktionen überprüft.

    Gleichzeitig sollte der Client jederzeit in der Lage sein, den aktuellen Status der Anwendung zu überprüfen, ohne auf das Entwicklungsteam warten zu müssen. Ein dedizierter Testserver, der regelmäßig aktualisiert wird, beseitigt alle Engpässe in diesem Prozess und stellt sicher, dass Ihr Team ohne Unterbrechung ausgeführt wird.

  • Definieren Sie eine feste Zeit für wöchentliche Teamanrufe und eine feste Zeit für tägliche Teamanrufe oder Chats.
    Lassen Sie alle Ihre Teammitglieder in ihrem Kalender einen Zeitpunkt für Anrufe und Besprechungen festlegen. Dies gibt Ihrem Team einen festen Zeitplan ohne Arbeitsunterbrechungen.

Wegbringen

Projektmanagement ist eine komplexe und allzu oft sehr stressige Tätigkeit. Das Hinzufügen von Strukturen und das jederzeit sichtbare und genaue Anzeigen des Projektstatus verringert einen Großteil dieser Belastung. Durch die Verwendung der Kanban-Methode und der Agile-Prinzipien in Kombination mit den richtigen Tools sparen Sie viel Zeit.

Abgesehen davon gibt es kein Tool oder keine Methodik, die die Zeit kompensiert, die Sie als Projektmanager für die Verwaltung des Projekts aufwenden müssen.

Nur weil ein Projekt klein ist, bedeutet dies nicht, dass Sie weniger Zeit benötigen. Diese Mentalität ist ein großartiges Rezept für große Kopfschmerzen auf der ganzen Linie.

Hier ist eine einfache Checkliste, mit der Sie überprüfen können, ob Ihr Projekt ordnungsgemäß verwaltet wird oder nicht:

  1. Ist Ihr Prozess richtig visualisiert?
  2. Ist die WIP für jedes Teammitglied begrenzt und minimiert?
  3. Hat Ihr Team ein regelmäßig geplantes Meeting - entweder wöchentlich oder täglich?
  4. Wird Ihr Kanban-Board regelmäßig aktualisiert?
  5. Haben Sie ein Code-Repository eingerichtet?
  6. Haben Sie Datenbanksicherungen geplant?
  7. Haben Sie Tools für die Teamkommunikation und -zusammenarbeit eingerichtet?
  8. Ist Ihre Entwicklungsumgebung von Test, Akzeptanz und Produktion getrennt?

Denken Sie daran, dass diese Liste alles andere als eindeutig und fertig ist. Das ist nur der Anfang.

Bitte hinterlassen Sie Ihre Kommentare und teilen Sie Ihre Tipps und Praktiken mit Projektmanagern, die gerade ihre unendliche Reise beginnen, um Softwareentwicklungsteams zu stärken.

Die Vergangenheit ist immer noch gegenwärtig - Ein Überblick über zeitloses Design

Ux Design

Die Vergangenheit ist immer noch gegenwärtig - Ein Überblick über zeitloses Design
Wie man hervorragende Stillleben-Fotos auf dem iPhone macht

Wie man hervorragende Stillleben-Fotos auf dem iPhone macht

Schießen

Beliebte Beiträge
Entwerfen Sie die Zukunft: Die Werkzeuge und Produkte, die auf uns warten
Entwerfen Sie die Zukunft: Die Werkzeuge und Produkte, die auf uns warten
Kommerzielle Drohnen revolutionieren den Geschäftsbetrieb
Kommerzielle Drohnen revolutionieren den Geschäftsbetrieb
Wählen Sie 996 für Müdigkeit: So priorisieren Sie das Vermeiden von Burnout
Wählen Sie 996 für Müdigkeit: So priorisieren Sie das Vermeiden von Burnout
Kapitel 11 Insolvenz: Was ist das und was passiert als nächstes?
Kapitel 11 Insolvenz: Was ist das und was passiert als nächstes?
Erste Schritte mit TensorFlow: Ein Tutorial zum maschinellen Lernen
Erste Schritte mit TensorFlow: Ein Tutorial zum maschinellen Lernen
 
Warum scheitern Aktienrückkäufe? Einige empfohlene Abhilfemaßnahmen
Warum scheitern Aktienrückkäufe? Einige empfohlene Abhilfemaßnahmen
Remote-Freiberufler verwalten? Diese Prinzipien werden helfen
Remote-Freiberufler verwalten? Diese Prinzipien werden helfen
Entwerfen Sie mit dem StoryBrand Framework eine bessere Homepage
Entwerfen Sie mit dem StoryBrand Framework eine bessere Homepage
In Kryptowährungen investieren: Der ultimative Leitfaden
In Kryptowährungen investieren: Der ultimative Leitfaden
Remote-Neuerfindung: So finden Sie freiberufliche Mitarbeiter
Remote-Neuerfindung: So finden Sie freiberufliche Mitarbeiter
Kategorien
Tools Und TutorialsAgilWeb-FrontendProduktlebensdauerTipps & ToolsUx DesignAgiles TalentAndereMenschen & TeamsFinanzprozesse

© 2023 | Alle Rechte Vorbehalten

socialgekon.com