- Businessanalyse, Marketingprototyp
- Software Detailspezifikation
- Vollautomatischer Test der GUI mittels Selenium
- Unit Test durch PHPUnit
- REST API
- 3rd Party App Integration (Android/iOS)
- International Verteiltes Entwicklerteam
Projektbeschreibung
In dem Projekt ging es darum vorherschende Probleme im Terminmanagement von Firmen zu lösen. Als Grundlage diente nach wie vor der etablierte ICAL Standard. Insbesondere ging es um die Aggregation verschiedener Kalender Streams. Die Vergabe von Berechtigungen an Teammitglieder. Einbindung von externen (nicht Unternehmensinternen) Quellen. Lösung des Privat / Business Kalender Problems. Der Fokus richtete sich auf den Mittelstand. Zielregion war vorerst Deutschland. Ein hoher Fokus wurde auf den Bereich Datenschutz gelegt. Dies grenze die Lösung weiter von anderen Marktteilnehmern ab.
Selbst ein Minimum Valuable Prototype (MVP) setzt daher aber voraus das der aktuelle Status Quo den andere Lösungen bieten abgecket wird.
Landmarks ist ein deutscher Web-Dienst zum sicheren synchronisieren & teilen von Kalendern und Adressbüchern.
Der Zugriff (alleine oder im Team) auf die Kalender- und Kontaktdaten ist mit einer Vielzahl gängiger Desktop-Programme, Smartphones und Tablets problemlos möglich.
Jeder Nutzer kann eine beliebige Anzahl (je nach Paket) eigener Kalender sowie Adressbücher anlegen. Bei Bedarf können einzelne Kalender oder Adressbücher mit bestimmten Rechten für andere Personen freigegeben werden.
Dabei kann für jede Person leicht festgelegt werden ob sie nur lesen oder auch Daten verändern darf. So bleiben alle informiert und organisiert, egal wo oder mit welchem Endgerät.
Pojektziel
Nachdem die Nachfrage am Markt bereits duch einen Marketing Prototypen evaluiert wurde sollte nur durch einen technischen MVP geprüft werden welche Funktionen benötigt werden um den USP zu erfüllen. Der MVP musste daher technisch so ausgereift sein das die nötigen Erkenntnisse erlangt werden können.
Projektablauf
Obwohl in diesem Projekt nur ein MVP geschaffen werden sollte um Businessmodelle und Pain-Points der Kunden zu analysieren wurde von Anfang an ein hoher Wert auf automatisiertes Testen gelegt. (Status Quo sicherstellen) Die zum Teil komplexen Workflows sollten vereinfacht werden (USP). Die fehlerfreie Funktion der darunterliegenden Technikschicht musste aber stets gewährleistet sein. Schnelle agile Entwicklungszyklen im Frontentbereich führten zu zügigem Projektfortschritt. Durch den hohen Automatisierungsgrad der Tests wurde stets sichergestellt dass die Spezifikation nach wie vor erfüllt ist. Da weite Teile der Backend Programmierung extern vergeben wurden, musste ein Weg gefunden werden die Anforderungen verständlich zu dokumentieren. Anschließend wurde der Entwicklungsstand anhand von Tests abgenommen und integriert. Gerade bei einem MVP ist es wichtig nicht Überzuspezifizieren.
Vorgehensweise im Requirement Engineering
- Infrastrukturanforderungen wurden klassisch spezifiziert.User Stories für die Kundeninteraktionen verwendet. Zum Teil mit ausdetalierten Anforderungen (wenn nötig)
- Test Driven Development (TDD) wurde im Bereich von Optimierung und Bugs eingesetzt
- Externe Entwickler mussten Unit Test mitliefern.
- Feature Tests sicherten das korrekte Zusammenspiel
Besonderheit
Diese Projekt wurde komplett an verteilten Standorten duchgeführt. Das Entwicklerteam (vorwiegend Einzelpersonen) hatten im kompletten Projektverlauf so gut wie keinen persönlichen Kontakt. Eine funtionierende Kommunikationsstrategie, regelmäßige „all-hands-Meetings“ und individuelle konkrete Kommunikation ermöglichten ein extrem effektives Zusammenarbeiten.
Rollen im Projekt
Business Analyst
Software Test
Entwicklungsmethodik
Agil, Kanban, TDD
Standards / Technologie
CalDAV, WebDAV, Laravel,
PHP, Javascript, REST,
Tools
PHP Unit, Selenium,
composer, Jenkins, Swagger,
Trello, GitHub