Hallo zusammen,
ich habe bis zum 20.09 Zeit meinen ersten Projektantrag einzureichen. Deshalb würde ich mir gerne von euch ein erstes konstruktives Feedback geben lassen zu diesem Projektantrag.
Die im Abschnitt 3. genannte Abbildung ist ausgründen der Anonymisierung des Ausbildungsbetriebes nicht hinzugefügt worden.
Ich bedanke mich im voraus für euer Feedback.
1.Projektbezeichnung
Entwicklung einer Anwendung zur selbstständigen Termineinsteuerung/Verwaltung in das zentrale Einsatzplanungssystem durch die Gebietsleiter der Firma XY.
1.1 Kurzform der Aufgabenstellung
Bei der Firma XY handelt es sich um einen Dienstleister für Vertriebsunterstützung. Am Point of Sale sorgt die Firma XY für die Distribution, Platzierung und Inszenierung von Produkten ihrer Kunden.
Gebietsleiter besuchen regelmäßig für unterschiedliche Projekte Märkte in ganz Deutschland und vereinbaren Termine mit dem jeweiligen Filialleiter vor Ort. Diese Termine müssen abgesprochen werden, damit externe Auftragnehmer im Markt die vereinbarten Arbeiten zwischen der Firma XY und dem Kunden durchführen können. Nach dieser Absprache mit dem Filialleiter, werden die Termine durch einen Innendienstmitarbeiter oder einer Aushilfskraft in die vorhandene Einsatzplanungssoftware eingesteuert. Die Firma XY gibt zur Meldung der Terminabsprachen keinen festgelegten Kommunikationsweg vor und daher nutzen die Gebietsleiter aktuell verschiedene Methoden, um neue Absprachen zu melden oder einen Status zu bereits bestehenden Absprachen zu erhalten.
Die Firma XY hat sich dementsprechend dazu entschieden, eine Softwarelösung zu entwickeln, mit deren Hilfe die Gebietsleiter ihre Terminabsprachen selbstständig in die Einsatzplanungssoftware einpflegen und verwalten können.
1.2 Ist-Analyse
In der Firma XY gibt es mehrere Projekte, bei denen die zu besuchenden Märkte in verschiedene Gebiete aufgeteilt werden. Diese Gebiete werden entsprechend durch Gebietsleiter verwaltet. Die Gebietsleiter besuchen die Märkte in ihrem Gebiet und vereinbaren Termine mit den Filialleitern. Sobald ein Termin abgesprochen wurde, kontaktiert der Gebietsleiter einen Innendienstmitarbeiter über einen beliebigen Kommunikationsweg (Telefon, E-Mail, Microsoft Teams) und übermittelt die Termindaten. Danach muss dieser Termin von einem Innendienstmitarbeiter oder einer Aushilfskraft in das vorhandene Einsatzplanungsprogramm eingesteuert werden. Sobald der Termin in das Einsatzplanungsprogramm eingefügt wurde, muss dieser Termin durch einen Innendienstmitarbeiter überprüft, bestätigt und mit einem externen Auftragnehmer besetzt werden. Wie o.g. gibt es keinen festgelegten Kommunikationsweg, dies führt zu dem Problem, dass Innendienstmitarbeiter dauerhaft über E-Mail, Telefon und Teams-Nachrichten zwecks Termineinsteuerung oder Statusnachfragen kontaktiert werden. Dadurch entsteht ein erheblicher Mehraufwand, weil Innendienstmitarbeiter auf unterschiedlichen Plattformen erreichbar sein müssen, um die Anfragen bearbeiten zu können. Darüber hinaus besteht durch die Übermittlung der Daten via Telefon eine höhere Fehlerquote, da es zu Unverständlichkeiten kommen kann. Des Weiteren entstehen hohe Personalkosten durch die zusätzlich benötigten Aushilfskräfte.
2. Soll-Konzept / Ziele
Aufgrund eines groben vorgelagerten Brainstormings mit einem Innendienstmitarbeiter hat sich ergeben, dass eine Anwendung entwickelt werden soll, die es ermöglicht, dass Gebietsleiter ihre Termine selbstständig verwalten können und diese Termine dann über eine REST-API Schnittstelle in Echtzeit in das vorhandene Einsatzplanungssystem eingefügt werden. Die Verwaltung soll im Detail das Einsehen, Bearbeiten und Löschen von Terminen unterstützen. Eine weitere Anforderung ist es, dass über eine Eingabemaske ein Termin direkt einem Markt in dem Gebiet des Gebietsleiters zugewiesen werden kann, was auch eine Suche nach bereits im System angelegten Märkten beinhaltet. Im Einsatzplanungsprogramm gibt es die Möglichkeit dynamische Felder für Termine und Projekte hinzuzufügen. Durch diese Felder können zusätzliche projektbezogene Informationen zu einem Termin gespeichert werden. Dementsprechend sollte es die Möglichkeit geben, in der Anwendung diese zusätzlichen Felder mit Informationen zu befüllen. Während des Brainstormings wurden noch viele weitere Anforderungen genannt z.B. eine Export-Funktion, Push Benachrichtigungen, Filterfunktionen, Angaben von Wunschpersonal, zahlreiche fachliche Validierungen und Prozessregeln etc. Aufgrund der weiteren genannten Anforderungen entschied sich die Geschäftsführung der Firma XY, dazu ein MVP (Minimum Viable Product) zu entwickeln. Diese Anwendung soll die grundlegendsten Anforderungen erfüllen und in der Praxis einsetzbar sein. Welche der entsprechenden Anforderungen im späteren Projektverlauf zu priorisieren sind, muss vom Auszubildenden in einer detaillierten Projektanalyse ermittelt, bewertet und mit den Stakeholdern abgesprochen werden. Ebenfalls muss in der Analysephase geklärt werden, welche Art von Anwendung (Web-Anwendung, Desktop-Anwendung, Handy-App) und welche Programmiersprache bzw. Framework am besten für dieses Projekt geeignet ist.
Das Ziel dieser Anwendung soll es sein, den Gebietsleitern eine intuitive und leicht bedienbare Anwendung zu geben durch die ein einheitlicher Kommunikationsweg geschaffen wird. Nach der Entwicklung dieser Anwendung haben Gebietsleiter die Möglichkeit selbstständig Termine einzusteuern und zu verwalten, wodurch Innendienstmitarbeiter entlastet werden. Ein weiteres Ziel durch die Entwicklung dieser Anwendung ist es, Personalressourcen und Kosten einzusparen, da die Aushilfskräfte nach Einführung dieser Anwendung nicht weiter für diesen Prozess benötigt werden.
2.1 Zu erfüllende Anforderungen
Die Detailanforderungen müssen vom Auszubildenden im Projekt ermittelt, priorisiert, bewertet und in Rücksprache mit den Stakeholdern entschieden werden
Intuitive und leicht bedienbare Anwendung
Anmeldefunktion
Das bereits vorhandene Berechtigungssystem aus dem Einsatzplanungssystem muss berücksichtigt werden und die Anwendung muss mit diesem kompatibel sein
Auflistung der vorhandenen Projekte
Eine Terminübersicht damit ein Gebietsleiter alle Termine sieht, die er bereits angelegt hat
Entwicklung eines komplexen mehrseitigen Assistenten zur Erstellung von Terminabsprachen bestehend aus Grundangaben, Marktsuche und -auswahl, projektspezifischen dynamischen Angaben und fachlichen Validierungen
Funktion, um einen angelegten Termin zu entfernen
Möglichkeit zur nachträglichen Bearbeitung eines Termins
Erstellung einer REST-API Schnittstelle, um die getätigten Eingaben eines Gebietsleiters in das Einsatzplanungssystem zu übernehmen
Ermittlung & Bewertung weiterer funktionaler Anforderungen während des Projektes
3. Projektumfeld
Das Projekt wird in der Firma XY durchgeführt. Bei der Firma XY handelt es sich um eine Marketingagentur, die seit 38 Jahren hauptsächlich im Geschäftsfeld Vertriebsunterstützung tätig ist. Wie anhand der Abbildung zu erkennen ist, gibt es bereits vorhandene Komponenten. Die zugrunde liegende Datenbank der vorhandenen Einsatzplanungssoftware enthält bereits alle notwendigen Datenstrukturen und Daten, welche für die zu entwickelnde Softwarelösung benötigt werden. Anpassungen an der Datenbank oder der Einsatzplanungssoftware selbst sind daher nicht Gegenstand von diesem Projekt. Es existiert bereits eine frühe Alphaversion einer REST-API, die im Projektverlauf um einige Endpunkte erweitert werden muss, um die Anwendungsanforderungen zu erfüllen und den Datenaustausch zwischen Einsatzplanungssystem und der neuen Anwendung zu gewährleisten. Die Anwendung mit der grafischen Oberfläche, die von den Gebietsleitern verwendet werden wird, muss vom Auszubildenden von Grund auf entwickelt werden. Ebenfalls muss eine Verbindung zwischen REST-API und der Anwendung hergestellt werden. Für die entsprechenden Anpassungen und Neuentwicklung wird der Arbeitsplatzcomputer des Auszubildenden verwendet, wodurch die Entwicklungsumgebung Visual Studio bereits installiert und eingerichtet ist. Zur Sicherung und Verwaltung des Quellcodes wird „Azure Repos“ verwendet.
4. Geplanter Durchführungszeitraum
Beginn: 01.10.2021
Ende: 22.11.2021
4.1 Zeitplanung der Projektschritte in Stunden
Analysephase 5h
Erstellung einer detaillierten IST-Analyse 1h
Unterstützung der Stakeholder bei der Erstellung des Lastenheftes 3h
Ermittlung der Wirtschaftlichkeitsanalyse und Amortisationsrechnung 1h
Entwurfsphase 10h
Erstellung des Pflichtenhefts 3h
Erstellung eines Use-Case, Aktivitätsdiagramm & Komponentendiagramm des Sollzustandes 2h
Nutzwertanalyse zur Auswahl einer Anwendungsplattform & Programmiersprache 1h
Entwerfen der Benutzeroberfläche 1h
Deploymentdiagramm erstellen 1h
Entwerfen der REST API-Endpunkte 2h
Implementierungsphase inkl. Tests 41h
Anlage des Projektes 1h
Entwicklung der REST API-Endpunkte inkl. Tests 17h
Implementierung der API – Endpunkte inklusive Logik und Datenbankkommunikation 12h
Erstellung von Unit Tests 2h
Erstellung von Integrationstests 2h
Entwicklung der Gebietsleiter-Anwendung inkl. Tests 26h
Implementierung der Benutzeroberfläche 8h
Implementierung der Logik und Kommunikation zur REST-API 12h
Erstellung von Unit Tests 2h
Erstellung von End-to-End-Tests 2h
Qualitätssicherung 3h
Anwendertest / Akzeptanztest 1h
Nachbesserungen (Puffer) 2h
Deployment 2h
Bereitstellung der REST-API in der Microsoft Azure Cloud 1h
Bereitstellung der Anwendung 1h
Dokumentation 9h
Erstellung der Benutzerdokumentation 1h
Erstellung der Entwicklungsdokumentation (Code-Kommentare und automatische Generierung der REST-API Dokumentation mit Swagger) 1h
Erstellung der Projektdokumentation 7h
Summe 70h
4.2 Tabellarische Darstellung
Phasen
Zeit in Stunden
Analyse
5
Entwurf
10
Implementierung
41
Qualitätssicherung
3
Deployment
2
Dokumentation
9