Wenn Sie daran denken, einen neuen Entwickler in ein bestehendes Projekt einzuführen, ist das in einem agilen Softwareentwicklungsprojekt relativ einfacher als in einem traditionellen Projekt. Die Atmosphäre und die Programmierkultur sind hier ganz anders als bei einem traditionellen Projekt. Anstatt isoliert zu arbeiten und für zugewiesene Aufgaben verantwortlich zu sein, arbeiten die Menschen hier in einem Modus, in dem häufige Kommunikation über den Tisch hinweg notwendig ist. Anstatt dass eine Person für zugewiesene Aufgaben verantwortlich ist, ist das ganze Team dafür zuständig. Das Mantra ist effiziente Kommunikation und mehr Interaktion. Wenn also ein neuer Entwickler in ein agiles Projekt (auf der Grundlage von Scrum + XP) einsteigt, sorgt die Paarprogrammierung und die Kommunikation über den Tisch hinweg dafür, dass er sich in der neuen Projektumgebung wohl fühlt. Anstatt die Masse an Entwicklerhandbüchern und Designdokumenten durchzugehen, helfen Gespräche, die Kluft zu überbrücken. Wenn Sie jedoch wirklich einmal auf eine Dokumentation zurückgreifen müssen, ist sie immer zur Hand. Außerdem entwickelt der neue Entwickler auf der Grundlage des bestehenden Teams weiter. Sie sehen also, der Wissenstransfer ist nahtlos und relativ einfach im Vergleich zu einem herkömmlichen Projekt.
Denken Sie jetzt an die Wartungsphase. Zunächst einmal ist die Anwendung bereits vorhanden. Sie müssen sie möglicherweise nicht weiter verbessern. Sie können also bei der Entwicklung der Software nicht mehr lernen. Sie haben ein Produktionsproblem und müssen nun herausfinden, in welchem Bereich das Problem liegt. Die Entwickler, die die Anwendung entwickelt haben, sind vielleicht nicht mehr da. Sie sind vielleicht in einer Situation, in der Sie keine Wissensbasis für das Projekt haben. Sie können versuchen, die Anwendung mit einer Quellcode-Analyse zu durchdringen, aber ein normaler Mensch ist bei der Analyse von 1 Million Zeilen Code in einem komplexen Projekt hilflos. Die Anwendung mit Hilfe der Quellcode-Analyse zu verstehen, ist in diesem Fall nicht unbedingt der ideale Weg. Sie sehen also, dass der Wissenstransfer in der Wartungsphase sehr viel schwieriger sein kann als im normalen Entwicklungszyklus.
Was ist beim Wissenstransfer alles erforderlich?
In Anbetracht all dieser Fragen werde ich über einen Ansatz für den Wissenstransfer (WT) sprechen, der in einem solchen komplexen Wartungsprojekt verwendet wurde. Zunächst einmal kann WT ganz allgemein in die folgenden Teile unterteilt werden:
- Anwendungsübersicht - 20.000 Fuß Sicht auf das Projekt als Ganzes. In der Regel muss dies auf einem Whiteboard beschrieben werden. Oftmals wird diese Diskussion als Video aufgezeichnet und dient als Dokumentation für neue Mitarbeiter.
- Anwendungsarchitektur und technisches Design - Auch hier konzentrieren wir uns auf die breite Perspektive der Anwendung. Aber in diesem Fall tauchen wir etwas tiefer ein, anstatt einen Blick aus 20.000 Fuß Höhe zu werfen. Erläutert und dokumentiert auf die gleiche Weise wie bei der Anwendungsübersicht
- Sitzungen zum Wissenstransfer verschiedener Anwendungskomponenten, die funktionale und technische Aspekte beschreiben. Ein Teil der Dokumentation ist bereits verfügbar. Der Rest wird mit dem Verständnis eines jeden neuen Teilnehmers verbessert
- Scrum-Prozess - Wie ein Team Scrum in einem Projekt durchführt. Bei einem Wartungsprojekt kann es etwas anders aussehen, da es im Allgemeinen dem
Scrum-Typ C folgt. Die Dokumentation ist im Allgemeinen im Projekt-Wiki verfügbar. - Demo einer laufenden Anwendung - Was auch immer Sie theoretisch besprechen, macht möglicherweise keinen Sinn, wenn Sie es nicht visuell darstellen können.
Wie machen wir KT?
Für die Durchführung der KT haben wir die folgende Methodik angewandt.
Einrichten der Entwicklungsumgebung
Der erste Schritt, den ein neuer Mitarbeiter unternimmt, ist die Einrichtung der Entwicklungsumgebung. Die Wissensbasis für das Projekt sollte so vorbereitet werden, dass der Zeitaufwand minimal ist. Daher wird eine One-Touch-Erstellung empfohlen. Anstatt Projektsoftware aus dem Internet zu holen und Zeit zu verschwenden, können Sie diese im lokalen Repository bereitstellen. Auch für die Einrichtung der Projektumgebung kann ein Screen-Cast erstellt werden, der sich als praktisch erweist, da Sie die Mitarbeiter nicht um triviale Dinge bitten müssen.
Studieren Sie die verfügbare Dokumentation
Bevor der neue Entwickler zusammen mit den älteren Entwicklern in den Wissenstransfer einsteigt, muss er zunächst die verfügbare Dokumentation in der vom Projekt-Mentor genannten Reihenfolge studieren. Sie vermittelt dem neuen Mitarbeiter einen ersten Eindruck von der Anwendung.
Erstellen Sie eine Wiki-Seite zur Definition von Zeitplan und Überprüfung
Anstatt den Wissenstransfer ad hoc durchzuführen, ist es wichtig, ihn mithilfe von Wiki-Seiten zu planen. Hier plant man den Zeitbedarf der Teammitglieder ein und legt den gesamten Wissenstransfer fest, um effektiv zu sein. Vergessen Sie nicht, etwas Zeit einzuplanen, damit der neue Mitarbeiter die Informationen verarbeiten kann.
Einbeziehung des Teams in den Wissenstransfer
Anstatt den Wissenstransfer im Modus Lehrer/Schüler durchzuführen, geht es eher darum, dass Lehrer+Assistenzlehrer das Wissen an einen Schüler weitergeben. Der Hauptgrund dafür ist, die Anwendungskonzepte im Team zu verstärken. Das ist sowohl für die Lehrer als auch für die Schüler von Vorteil. Je nach Fragen/Antworten ergeben sich bei der Erörterung eines Konzepts unterschiedliche Perspektiven, was für das Team im Allgemeinen gut ist.
Die letzte Person, die am KT teilnimmt, führt den KT für einen Neuling durch
Es funktioniert ziemlich gut, die Projektkonzepte für ein Teammitglied zu verstärken. Er wird zum Hauptlehrer, der von anderen älteren Lehrern unterstützt wird. Die gesunde Diskussion über die Projektthemen wirkt sich positiv auf das gesamte Team aus. Anstelle eines Teams mit einem Experten gibt es dann mehrere Projektexperten. Die erwähnte Methodik ermutigt den Lehrer, andere Assistenzlehrer nach ihrer Meinung zu den verfügbaren Informationen zu fragen. Das gibt fast jedes Mal einen neuen Einblick in das Wissen. Das Teilen/Diskutieren von Wissen erhöht das Wissen selbst.
Verbesserungen in der Dokumentation
Neben dem Wissensaustausch zwischen erfahrenen Entwicklern und neuen Mitarbeitern besteht eine sehr wichtige Aufgabe darin, die Lücken zu dokumentieren, die neue Mitarbeiter in der verfügbaren Dokumentation sehen. Das ist eine gleichzeitige Anstrengung und ein kontinuierlicher Wissenstransfer. Das ist wichtig, denn mit einer verbesserten Dokumentation in Form von Multimedia und schriftlichen Dokumenten wird der nächste KT noch einfacher.
Fazit
Wie Sie anhand der oben erwähnten Diskussion sehen können, ist der Wissenstransfer in einem agilen Wartungsprojekt nicht derselbe wie in einem agilen Entwicklungsprojekt. Es stellt das Team vor ganz andere Herausforderungen. Die oben erwähnte Strategie hat sich bei der Bewältigung des Wissenstransfers in einem komplexen Projekt als sehr gut erwiesen. Vorschläge für Verbesserungen sind willkommen.
Verfasst von

ShriKant Vashishtha
Unsere Ideen
Weitere Blogs
Contact



