Die Softgames GmbH entwickelt und veröffentlicht mobile Spiele, die auf HTML 5 basieren. Diese Spiele folgen dem Free-to-play-Modell und bieten dem Spieler die Möglichkeit, durch den Kauf von virtuellen Gegenständen, Vorteile im Spiel zu erwerben. Derzeit sind einige Zahlungsanbieter (Paypal, Google Wallet, Mobile) fest im Hauptsystem integriert. Die Funktionalitäten des Hauptsystems sind derzeit unzureichend durch Tests abgedeckt und dokumentiert.
Dies erschwert auf der einen Seite das Einarbeiten von neuen Entwicklern in das System, da das Aufsetzen einer lokalen Entwicklungsumgebung und die Einarbeitung sehr langwierige Prozesse sind.
Auf der anderen Seite macht es die Integration von neuen Features wie A/B Testing oder verbessertem Tracking zur Optimierung der Prozesse sehr kompliziert.
Meine Bachelorarbeit hat das Ziel, den bisherigen Teil der Software, welcher Zahlungen abwickelt, als eigenständigen Service neu zu entwickeln und die oben genannten Probleme zu beseitigen. Zusätzlich soll dieser Service später als eigenständiges Produkt vermarktet werden können, da nach längerer Recherche kein Anbieter gefunden wurde, der Zahlungen über verschiedene Anbieter in diversen Ländern unter einer einheitlichen Schnittstelle im mobilen Bereich anbietet.
Der Bezahlservice wird auf Ruby on Rails basieren und unter dem Verfahren der testgetriebenen Entwicklung (auch test-driven-development) entwickelt. Da dieser Service viele externe Abhängigkeiten hat (die diversen Paymentanbieter), sollen Tests gegen diese externen API mittels sogenannten API-Recordern aufgezeichnet werden und nur in spezifizierten Abständen oder bei Bedarf automatisch aktualisiert werden. Dabei möchte ich evaluieren, welche Möglichkeiten es dazu im Rubyumfeld bisher gibt und diese vergleichen.
Nach der Methode der testgetriebenen Entwicklung werden Tests vor der eigentlichen Implementierung entwickelt und von einem CI-System bei jedem Commit automatisch ausgeführt. Zusätzlich wird bei jedem Commit der Code statisch analysiert um im Vorfeld zirkuläre Abhängigkeiten, zu komplexe Methoden und Codewiederholungen zu erkennen.
Die Softgames GmbH arbeitet nach einer angepassten Scrum Methode. Die Entwicklung des Paymentservice erfolgt dabei aber weitestgehend unabhängig von den anderen Arbeiten der Firma.
Schritt | Status | Zeitraum | Beschreibung |
---|---|---|---|
1 | November | Modellierung und Implementierung eines Basissystems | |
2 | Anfang - Mitte Dezember | Testintegration von Google Wallet und Forumo (Bezahlanbieter) | |
3 | Mitte Dezember | Interne Präsentation der Ergebnisse | |
4 | Mitte Dezember (ETA 14.12.) | Integration von Index Corp. (Bezahlanbieter) und Livetest in Thailand | |
5 | Mitte Dezember - Ende Dezember | API-Recording mit PayPal (RESTähnlich) und IPX (SOAP) | |
6 | Januar | Zusammenfassung und Aufbereitung der Ergebnisse | |
7 | Januar | Liveschaltung in weiteren Ländern / von weiteren Anbietern nach bedarf |