Technische Unterstützung für PMOs in großen Organisationen
28. April 2025
In diesem Blogbeitrag erläutern wir, wie Retrieval Augmented Generation das Staffing (also die Rollenbesetzung) von neuen Projekten unterstützen kann. Und wir erläutern, wie Mitarbeitende, deren Projekte auslaufen oder ausgelaufen sind, den Rollen gegenüber stellt, die besetzt werden sollen.
Über das Projektstaffing
Unternehmen müssen Projekte umsetzen, um sich an neue strategische Anforderungen anzupassen, beispielsweise um neue Software einzuführen, neue Anlagen zu bauen, bestehende zu modernisieren, Infrastrukturen anzupassen, neue Prozesse zu definieren oder einzuführen. Der Unterschied zum Linienbetrieb besteht darin, dass Projekte einen klaren Startpunkt und ein geplantes Ende haben. Zudem muss in der Initialisierungsphase des Projektes das passende Projektteam zusammengestellt werden.
Nachdem das Projekt definiert und eine (grobe) Planung abgeschlossen wurde, muss das Staffing erfolgen. Wir gehen im Folgenden davon aus, dass Projektrollen klar definiert wurden und die zugehörigen Rollen-Profile bekannt sind.
Im Staffing gilt es natürlich, Teammitglieder zu finden, welche über die richtigen Qualifikationen verfügen und für das jeweilige Projekt – zum richtigen Zeitpunkt – verfügbar sind. Normalerweise übernehmen interne Teams wie das Project-Management-Office (PMO) oder die Personalabteilung diesen Schritt.
In größeren Organisationen gibt es zudem Projektübersichten, welche die Projektzugehörigkeiten von Kollegen anzeigen. So kann das PMO anhand dieser Übersichten oder der jeweiligen Projektpläne erkennen, wer für das neue Projekt überhaupt verfügbar ist.
Aber bringen die Personen auch die richtigen Fertigkeiten für die Rollen im neuen Projekt mit? Um sicherzustellen, dass die Profile übereinstimmen, werden daher das Profil der zu besetzenden Projektrolle und bspw. die Projektliste oder der Lebenslauf der Kandidaten übereinander gelegt. Stimmen diese überein, werden die Kollegen für das neue Projekt vorgeschlagen.
Automatisierung des Matching Prozesses
Das manuelle Durchforsten von möglicherweise Hunderten von Lebensläufen ist jedoch sehr zeitaufwändig. Hier kommt Retrieval Augmented Generation (RAG) ins Spiel.
Indexierung der Lebensläufe und Verfügbarkeiten in eine Vektor-Suche
Der Ansatz ist, dass im ersten Schritt die Mitarbeiterprofile in eine Vektorsuchmaschine wie Azure AI Search, Elasticsearch, Apache Solr, erfasst werden. Diese Informationen werden dann zusammen mit den Verfügbarkeiten der Kollegen (auf Basis der Projektpläne des PMO) indexiert.
Index-Schema
Dies kann beispielsweise mit folgendem Indexschema erfolgen:
body, dieses Textfeld wird den Lebenslauf als Text indexieren
vectorBody, wird ein N-dimensionaler Vektor, als “Embedding” des Feldes body
availability, ist ein Array von Objekten. Jedes Feld wird die Verfügbarkeit in Form von “from” und “to” beinhalten.
Indexierung
Sie können dann einen File-Share-Konnektor, einen SharePoint- oder SAP-SuccessFactors-Konnektor verwenden, um die Lebensläufe und Verfügbarkeiten zu indexieren. Der Konnektor crawlt normalerweise ein- bis zweimal täglich. So werden die Team-Verfügbarkeiten oder Aktualisierungen in den Lebensläufen regelmäßig neu erfasst.
Bevor der Lebenslauf in dem Suchindex indexiert wird, wird die Inhaltsverarbeitungspipeline ausgeführt.
Hierbei wird insbesondere eine Custom-Stage genutzt um die Teamverfügbarkeit aus der Übersichtsliste des PMOs oder aus einem Excel abzurufen.
Und wir verwenden ein Standard-Embedding (eine Vektorisierung), um die Lebensläufe zu vektorisieren. Diese Informationen werden schließlich indexiert.
Dadurch sind die Lebensläufe und Verfügbarkeiten nun im Suchindex verfügbar.
Technische Unterstützung des eigentlichen Staffing-Prozesses
Um Mitarbeiter zu identifizieren, die für die Besetzung einer Projektrolle verfügbar sind, setzen wir im letzten Schritt Folgendes um.
Für ein bestimmtes Projekt nutzen wir dann den Suchindex wie folgt:
Im ersten Schritt vektorisieren wir das Rollenprofil. Es ist hierbei - wie immer - wichtig, dass das gleiche Embedding genutzt wird, wie bei der Indexierung.
Anschließend führen wir eine Such-Query gegen den Suchindex durch. Diese Anfrage nutzt einen Zeitfilter auf das Feld availability (siehe oben) und führt gleichzeitig eine Nearest-Neighbor-Suche für den Vektor durch.
Das Ergebnis sind dann alle Personen, die der Rollenbeschreibung entsprechen und im benötigten Zeitraum für das Projekt verfügbar sind. Zudem kann eine Completion genutzt werden, um weitere Abgleiche zwischen Rollenbeschreibung und Lebenslauf zu machen.
Gerade für große Organisationen, die über viele Standorte verteilt sind, erleichtert dieser Ansatz die Team-Zusammenstellung und das Staffing.