In einer Zeit, in der sich Geschäftsanforderungen ständig rapide weiterentwickeln, ist es entscheidend, dass Softwarelösungen schnell und flexibel angepasst werden können. Gleichzeitig werden Anforderungen an solche Prozesse immer komplexer und vielschichtiger. Das macht es schwieriger, vorgefertigte Lösungen zu finden, die allen Aspekten solcher Anforderungen gerecht werden. Andererseits sind speziell angefertigte Softwarelösungen meist mit langen Entwicklungszeiten und somit einem hohen Kostenaufwand verbunden.
Gerade im Bereich des Projektmanagements, wo jedes Projektteam meist unterschiedliche Anforderungen hat, kann das frustrierend sein. Genau hierauf wurde bei unserem Produkt WorkspaceHub geachtet, um beiden Aspekten gerecht zu werden. Durch standardisierte Templates und Prozessabläufe können speziell angepasste Lösungen innerhalb kurzer Zeit entwickelt werden.
WorkspaceHub in a Box
Der WorkspaceHub ist ein von uns eigens entwickeltes Produkt und dient als Kontrollzentrum für effiziente Organisation und Zusammenarbeit in Microsoft 365. Durch die nahtlose Integration in Tools wie Microsoft Teams, SharePoint Online und Azure DevOps bietet es eine zentrale Plattform für die Erstellung, Verwaltung und Nutzung von Workspaces. Mit individuellem Cutomizing, detaillierten Metadaten und granularem Self-Service hilft der WorkspaceHub Ihnen bei organisatorischen Herausforderungen wie fehlenden Vorlagen und Governance im Self-Service-Prozess, zum Beispiel beim Anlegen und Verwalten von Projekträumen in Microsoft Teams.
Beim WorkspaceHub werden Ihnen nicht nur schon vorgefertigte Lösungen für viele Teilbereiche des digitalen Projektmanagements geliefert, sondern ebenso die Möglichkeit einer rapiden Entwicklung von spezialisierter Software, die nahtlos in das Hauptprodukt eingebunden werden kann.
Was ist ein WorkspaceHub Modul?
Ein WorkspaceHub Modul ist der grundlegende Baustein des WorkspaceHub. Die Module sind hierbei essenziell für die Erstellung eines Workspaces. Jedes einzelne Modul ist dazu designed, für Sie einen bestimmten Teil Ihres Projektmanagements zu automatisieren. Dabei spielen die Module Hand in Hand, um in Kombination miteinander ein breites Netz an Aufgaben abzudecken.
Das Microsoft Teams Modul gehört beispielsweise zu den Standardmodulen. Dieses erstellt automatisch anhand der von Ihnen angegebenen Konfiguration die Kanalstruktur eines Teams Channels und nimmt allgemeine Einstellungen daran vor.
Das Modul-Template: Ihr Schlüssel zur Effizienz
Was ist aber, wenn eine gewünschte Funktionalität auf Modulebene noch nicht existiert? Wie schwer ist es, ein WorkspaceHub Modul zu entwickeln? Um die Frage direkt zu beantworten: Es ist viel leichter und schneller, als man vielleicht denken könnte.
Da der WorkspaceHub als Produkt von Anfang an geplant stetig erweitert werden sollte, wurde anfangs ein Modul Template implementiert. Das Template enthält alle grundlegenden Strukturen, die für die Entwicklung eines Moduls wichtig sind. Dadurch muss nicht jedes Projekt neu aufgesetzt und von Grund auf neu programmiert werden, sondern es muss nur noch die spezifische Logik, die für die Funktionalität des Moduls benötigt wird, in die Grundstruktur eingearbeitet werden, um ein fertiges Modul zu erstellen.
Aufbau eines WorkspaceHub Moduls
Jedes WorkspaceHub Modul ist im Grunde gleich aufgebaut. Um dies zu verdeutlichen, wurde ein neues Standardmodul für Azure DevOps Services im Rahmen dieses Blogs entwickelt.
Das neue DevOps Modul stellt automatisch eine Verbindung mit Azure DevOps Services her und erlaubt es, durch eine bei Workspace-Anlage bestimmte Konfiguration, Projekte anzulegen und Einstellungen daran vorzunehmen.
Die Grundstruktur des neuen Moduls wird initial durch das Modul Template bestimmt. Wie zuvor beschrieben, bietet das Modul-Template eine saubere, vordefiniert Projektstruktur, die alle notwendigen Schnittstellen zur Hauptanwendung schon enthält, und somit den initialen Programmieraufwand erheblich reduziert.
Auf dem Bild ist die Grundstruktur des Modul-Templates zu sehen. Hierbei ist wichtig zu wissen, dass der WorkspaceHub aus mehreren Systemen besteht. Die Module sind kleine Bausteine, mit denen das Core Programm kommunizieren muss. Das Template hilft in diesem Sinne, dass alle Elemente, die für diese Kommunikation nötig sind, schon in das Modul eingebunden sind. Somit kann man sich, wenn ein neues Modul entwickelt werden soll, voll auf die Einbindung der gewünschten Logik konzentrieren.
Das DevOps Modul als Entwicklungsbeispiel
Um die Schnelligkeit und die Einfachheit der Modulentwicklung zu unterstreichen, bauen wir im Folgenden die Basis für ein Modul, das mit Azure DevOps interagieren kann.
Initial muss man die Namen der Komponenten im Modul-Template anpassen. Hierfür ändern wir beispielsweise den „ExampleService“ zu „AzureDevOpsService“ und ändern den Namen der Anwendung zu „AzureDevOpsProvisioner“ usw.
Danach fügen wir die Logik hinzu, die mit der Azure DevOps API kommuniziert und die Konfiguration für Projekte und Backlog-Items übernimmt. Hierfür fügen wir im Service eine Methode hinzu, die eine Verbindung zu Azure DevOps aufbaut und ein neues Projekt anlegt.
Es ist in diesem Fall nicht relevant, genau zu verstehen, was der Code in den obigen Bildern macht. Viel wichtiger ist, dass man hier den Unterschied zwischen einer SDK (Software Development Kit) und RESTful-Services (REpresentational State Transfer) sieht. Eine SDK ist eine Menge an Werkzeugen, die die Verbindung zu einer Anwendung erleichtert. RESTful ist ein auf dem HTTP-Kommunikationsstandard aufbauendes Architekturprinzip REST nutzt HTTP als Kommunikationsgrundlage, um eine standardisierte und effiziente Schnittstelle für den Datenaustausch zu schaffen. Allerdings müssen die HTTP-Anfragen manuell aufgebaut werden. Dabei entfällt die Notwendigkeit, alle Aufrufe wie im zweiten Bild gezeigt, manuell zu erstellen, da eine SDK vorgefertigte Funktionen und Strukturen bereitstellt, die die Entwicklung vereinfachen und beschleunigen. Dies reduziert Fehlerquellen, da die Anfragen standardisiert und wiederverwendbar sind, wodurch die Entwicklung einer Software effizienter und mit weniger Aufwand verbunden ist. Durch kürzere Entwicklungszeiten können wir so auch die Kosten für unsere Kunden minimieren.
Abschließend fügen wir nur noch die verbleibenden Methoden für CREATE, READ, UPDATE und DELETE hinzu, um die gewünschten Funktionen des Moduls bereitzustellen und, wie zuvor beschrieben, den richtigen Datenfluss innerhalb des Moduls sicherzustellen. Damit ist unser neues Modul fertiggestellt.
CRUD-Operation führen ihrem Namen entsprechend verschiedene Operationen aus. So sollte eine Create Operation ein Item anlegen, Update ein Item updaten, Read einen Datensatz auslesen und Delete ein Item löschen. Auch diese Operationen sind in der Grundstruktur des Templates schon enthalten und müssen nur die neu implementierten Methoden aufrufen.
Hierdurch wird gewährleistet, dass das Modul schnell angepasst werden kann. Beispielsweise kann nicht nur die Anlage von Projekten in Azure DevOps automatisiert werden, sondern auch die Anlage von Backlog Items wäre leicht umzusetzen.
Am Ende steht eine vollständig auf Ihre Anforderungen zugeschnittene Lösung, die nahtlos in Ihre bestehenden Systeme integriert ist. Durch die Kombination von vorgefertigten Strukturen und spezifischer Logik bieten unsere Module eine schnelle und effiziente Implementierung, ohne dass Sie auf Flexibilität verzichten müssen. Egal, ob es sich um das Erstellen von Teams-Kanälen oder das Automatisieren von DevOps-Prozessen handelt – Ihre individuellen Anforderungen werden in kürzester Zeit in die Realität umgesetzt.
Automatisierung und Anpassung als großer Vorteil in der Custom Softwareentwicklung
Der große Vorteil unserer Module liegt in ihrer Automatisierbarkeit und Flexibilität. Jedes Modul kann einfach angepasst werden, um spezifische Geschäftsanforderungen zu erfüllen. Ob es um die Automatisierung von Routineaufgaben oder die Anpassung an unternehmensspezifische Workflows geht – unsere Module lassen sich mühelos erweitern und individualisieren. Durch diese Anpassungsfähigkeit werden Prozesse nicht nur effizienter gestaltet, sondern auch kontinuierlich optimiert, sodass Sie schnell von maßgeschneiderten Lösungen profitieren können, die genau auf Ihre Bedürfnisse abgestimmt sind.
Fazit: Modulentwicklung für Custom Software
Wir haben Ihnen in den vorangegangenen Abschnitten die Möglichkeit gezeigt, wie schnell und zuverlässig wir dem WorkspaceHub weitere Funktionalitäten hinzufügen können. Sie brauchen keine Angst mehr vor langen und teuren Entwicklungszyklen zu haben, da die Entwicklung von neuen Modulen nur wenige Tage in Anspruch nimmt. Somit haben wir bei unserem Produkt WorkspaceHub die ideale technische Grundlage geschaffen, um Ihren individuellen Kundenanforderungen schnell und vor allem effizient gerecht zu werden.
Sie sind neugierig auf unser Produkt WorkspaceHub geworden? Schauen Sie gerne in unsere aktuelle Webinar-Aufzeichnung rein und überzeugen Sie sich von den Mehrwerten, die der WorkspaceHub in der täglichen Arbeit mit Microsoft Teams und weiteren Workspaces bietet.