TODO: include Images from "img" folder!
VMware vCloud kompatible REST API für Microsoft SCVMM
Team
CloudCamel
Matthias Bender, Beatrice Friess, Julian Metzler, Johannes Reichard und Gregor Wicklein
Auftraggeber
Unser Auftraggeber ist die Firma evoila GmbH.
evoila ist ein Startup aus Mainz und bietet virtuelle Schulungssystemen an.
Das System von evoila basiert auf der Virtualisierungslösung von VMware und bietet die
Möglichkeit ganze Netzwerke mit mehreren Servern und Clients als Schulungssystem im Browser
zur Verfügung zu stellen.
Kurzbeschreibung
Das Ziel dieses Projektes war die Portierung der Schulungsplattform von evoila auf
Microsofts SCVMM. Dabei sollte die angestrebte Lösung kompatibel zur existierenden
Plattform konzipiert werden. Dazu haben wir mit Spring eine Wrapper erstellt. Dieser
bildet den VMware Befehlssatz auf den Microsoft Befehlssatz ab und reicht diese an den SCVMM
weiter.
Beschreibung des Projektes
Ziel dieses Projektes war die Portierung der Schulungsplattform von evoila auf
Microsofts SCVMM. Dabei sollte die angestrebte Lösung kompatibel zur existierenden
Plattform konzipiert werden.
Dazu haben wir mit Spring einen Wrapper erstellt, welcher
mit dem SCVMM zusammen auf einem Microsoft Server läuft. Der Wrapper bietet eine REST
Schnittstelle und ist weitestgehend kompatibel zur VMware Lösung. Die Befehle, die der
Wrapper über die REST Schnittstelle entgegen nimmt, werden von dem VMware Befehlssatz
auf den Befehlssatz von Microsoft abgebildet und an den SCVMM weitergereicht.
Das Projekt konnte erfolgreich beendet werden. Dabei haben uns vor allem die
Statistiken der Zeiterfassung und das Burndown Chart geholfen Probleme zu erkennen.
Ohne eine Aufwandsschätzung und die Zeiterfassung hätten wir das Projekt nicht
erfolgreich fertigstellen können.
Lessons Learned
Im Laufe des Projektes haben wir vieles gelernt. Das waren unsere wichtigsten Lektionen:
Zeitplan
- Im Zeitplan immer die Klausurphasen berücksichtigen, denn das Projektende
liegt auch in der Klausurphase.
- Die Dokumente benötigen einen signifikanten Teil der Zeit und sollten nicht
unterschätzt werden.
- Es sollten Story Points sowohl für Programmierung als auch für Dokumente
vergeben werden, da die Dokumente sonnst nicht im Zeitplan berücksichtigt werden.
- Keep track of time and progress - nur so ist es möglich Probleme im Zeitplan
zu erkennen.
Team
- Feste Termine einplanen für (wöchentliche) Teamtreffen. Dabei ist zu
beachten, dass Treffen in persona immer Produktiver ist, als ein Online-Meeting.
- Für Meetings ist es sinnvoll verschiedene Techniken einzusetzen um das Meeting
effizient zu gestalten wie z.B. Timeboxing zur Entscheidungsfindung.
- Regelmäßige Retrospektive des Zeitplans und Zeitmanagements
ermöglicht frühzeitiges Erkennen von Problemen oder Engpässen.
- Kekse und gemeinsame Aktivitäten außerhalb des Projektes verbessern das Klima im
Team und in Meetings.
Feedback
- early and often!
- Feedback des Fachbetreuers ist sehr Hilfreich, sowohl für Dokumente und
Präsentationen als auf für Fragen des Projektmanagements. Es verbessert die
Qualität der Dokumente und Vorträge erheblich.
Technologien
Wir haben in unseren Projekt folgende Tools für Entwicklung oder Projektmanagement
verwendet:
- Task- und Ticketverwaltung
- Atlassian Jira -
unterstützt auch agiles Projekmanagement (zur Verfügung gestellt vom
Auftraggber).
- Zeiterfassung, Burndown
- Google Docs - sehr flexible und
effiziente Möglichkeit die Daten zu sammeln und zu visualisieren (Spreadsheet).
- Präsentationen, Protokolle, Notizen
- Google Docs - einfache Möglichkeiten
die Daten für alle Teammitglieder zur Verfügung zu stellen und kollaborativ
daran zu arbeiten.
- Graphiken und Diagrammen
- Lucidchart - integrierbar in Google
Docs und ermöglicht kollaborative Zusammenarbeit an Diagrammen und Grafiken.
- Online-Meetings
- Google Hangouts
- ermöglicht zusätzlich zum Meeting kollaboratives arbeiten.
- Projekt-Dokumente
- Latex - einfaches erstellen
von Dokumenten im Corporate
Design der TU Darmstadt
- Programmierung
- Spring mit
Spring Tool Suit - Eclipse based IDE - sehr mächtiges Dependency Injection
Framework