Das Vorzeigeprojekt ID Finance ist ein alternativer Online-Kreditdienst MoneyMan. Er arbeitet in sieben Ländern - Polen, Spanien, Mexiko, Brasilien, Georgien, Kasachstan und Russland. Als wir es 2015 zum ersten Mal in Russland auf den Markt brachten, konnten wir mobile Plattformen nicht ignorieren: Der Anteil der Smartphone-Nutzer unter den Russen betrug 67% der Gesamtzahl der Mobiltelefon-Nutzer. Wie eine interne Studie ergab, verwendeten 80% der Kunden Smartphones auf der Android-Plattform. Die Wahl der Plattform für die Entwicklung der ersten Anwendung wurde offensichtlich

Warum Outsourcing nicht funktioniert
Zunächst wurde beschlossen, die Entwicklung der Anwendung auszulagern und gleichzeitig ein Entwicklungsteam zu rekrutieren: Wir hatten nur begrenzte Ressourcen und wollten die Anwendung so schnell wie möglich erhalten.
Das Outsourcing der Entwicklung erwies sich als teuer und langsam. Es gab niemanden im Unternehmen, der dem externen Entwicklungsteam folgte. Nach der Veröffentlichung war die Bewertung der App im Store erschreckend niedrig - 1,2 von 5. Alle waren unzufrieden: sowohl Kunden als auch Unternehmen. Es war notwendig, etwas zu ändern, und das Outsourcing wurde zugunsten eines kleinen Teams von Android-Entwicklern innerhalb des Unternehmens aufgegeben, das zu Beginn aus zwei Personen besteht.
Ausgelagerte Projekte sind neben schlechter Qualität auch mit anderen Problemen behaftetDie Bewerbung von Outsourcern war vorhersehbar in einem ekelhaften Zustand, sie hatte im Prinzip keine Architektur, es gab das Gefühl, dass sie von einem Junior auf seinem Knie in drei Monaten gemacht wurde. In der Anwendungsklasse fanden die Entwickler einen völlig magischen Kommentar, dessen zensierte Version ungefähr so ​​klingt: "API - g *** oh, hol es hier raus." Dann änderte sich die API ungefähr alle zwei Wochen und nur wenige mochten sie: Es ist schwierig zu warten, Geschäftsanalysten meldeten keine Änderungen, das Backend war auch nicht sehr bereit, mitzuteilen, was mit ihnen geschah.
Aus der Geschichte der Commits ging hervor, dass die Jungs es mehr oder weniger gut wussten, aber wir wissen nicht, warum die Bewerbung so schlecht ausfiel.
Was wir behoben haben
Wir haben mit der Neugestaltung der Anwendung begonnen und eine separate Ebene erstellt, die ausschließlich für die Netzwerkinteraktionen verantwortlich ist. Dies ermöglichte es, die Hälfte des Antrags nicht für geringfügige Änderungen neu zu schreiben. Wir haben die Architektur, auf der die Moneyman-Anwendung drei Jahre lang lief, ohne Probleme erfolgreich implementiert. Es ist nicht mehr relevant, aber noch am Leben, und dann konnten wir 2016 schnell von einem Land auf zwei (Russland und Kasachstan) expandieren. 2017-2018 wurde die Anwendung in vier weiteren Ländern gestartet. Jetzt ist die Einführung eines weiteren geplant in einem.
Interaktionsdiagramm der AnwendungskomponenteNach dem Start in Kasachstan wurde klar, dass die Zahl der Länder nur noch zunehmen wird und es sehr schwierig sein wird, sie aufrechtzuerhalten. Es wurde beschlossen, einen gemeinsamen Rahmen zu schaffen. Hier haben wir einen evolutionären Fehler gemacht: In diesem Framework haben wir alles gezogen, was zwischen Anwendungen gemeinsam war. Ja, Pakete für Länder sind leicht und dünn geworden, aber wir sehen uns mit der Tatsache konfrontiert, dass sich unser Geschäft in verschiedenen Ländern sehr unterschiedlich entwickelt und die Merkmale von Anwendungen an einem Punkt sehr unterschiedlich sind. Sie fingen an, etwas aus dem Framework zu entfernen und es manchmal redundant auf Pakete zu übertragen. Jetzt hat die Anwendung ein Gleichgewicht, wenn das Framework sinnvoll ist und alles gemeinsam hat, was Anwendungen in verschiedenen Ländern haben, und in der Anwendung für jedes Land können Sie leicht etwas ändern, ohne neu schreiben zu müssen. Der größte Test für unser Framework war der Start von zwei Ländern in einem Monat, den es erfolgreich bestanden hat. Dies war hauptsächlich darauf zurückzuführen, dass ein wesentlicher Teil der Funktionalität im Framework implementiert wurde.
Design-System
Die vorhandene Designlösung entsprach zwar den Richtlinien, war jedoch veraltet und entsprach nicht den modernen Designkonzepten. Es gab also ein Komponenten-Design-System. Jetzt, in der Entwicklung, wird Spanien das erste Land sein, in dem das Designsystem beibehalten wird.
Ein Design-System ist auch ein Framework, das für die Benutzeroberfläche verantwortlich ist und keine Geschäftslogik betrifft. Das Entwurfssystemmuster impliziert nicht die Verwendung von Elementen durch den Entwickler, die außerhalb davon leben. Wenn ein Entwickler plötzlich eine Schaltfläche in einem etwas wärmeren Orangeton gestalten möchte, muss er diese Schaltfläche zum Entwurfssystem hinzufügen und alle Phasen der Koordination mit dieser Schaltfläche durchlaufen. Erst nach Bestätigung wird diese Schaltfläche für alle Anwendungen im System verfügbar. Somit kann der Entwickler das Erscheinungsbild der Anwendung nicht dissonieren, und alle Anwendungen im Ökosystem sind konsistent.
Der Bildschirm links ist die alte Anwendung für Spanien, rechts die neue. Auf den ersten Blick scheint es, dass die Änderungen kosmetischer Natur sind, aber das Design-System ermöglicht es uns, die Konsistenz aller Moneyman-Anwendungen ohne großen Aufwand aufrechtzuerhalten.Leider ist ein vollwertiges Designsystem eine ziemlich teure Sache und kann zu einem separaten Projekt mit eigenem Backend, Frontend, Mitarbeitern von Designern usw. führen, aber selbst mit begrenzten Ressourcen funktioniert es gut.
Updates fĂĽr Updates
Wir aktualisieren Anwendungen nach Bedarf. Manchmal alle zwei Wochen. Oft betreffen die Änderungen jedoch nur das Backend, und obwohl dies "off-process" ist, werden solche Aktualisierungen manchmal im Sprint übersprungen.
Aus dem Unangenehmen - wir üben das erzwungene Update, das den Benutzer daran hindert, die Anwendung zu verwenden, bis er sie auf die neueste Version aktualisiert. Wir verwenden dies, wenn sich die API ändert und einige Funktionen der Anwendung möglicherweise nicht mehr funktionieren. Auf der Backend-Seite ist das System sehr groß und die Aufrechterhaltung der Kompatibilität für alle Versionen der API ist teuer.
Moneyman App jetzt:
- in 6 Ländern gestartet
- Die Anzahl der Anwendungsinstallationen liegt bei 500.000
- Die durchschnittliche App-Bewertung beträgt 4,6.
- Mehr als 8 Tausend Bewertungen im russischen Laden
- Ein Team von fĂĽnf Entwicklern arbeitet an der Anwendung
Die Pläne beinhalten die Veröffentlichung der Moneyman-Anwendung in einem anderen Land und die Einführung eines Systemdesigns für Moneyman-Anwendungen in allen Ländern.