Mach es besser selbst: wie wir die interne mobile App Perekrestok.ru erstellt haben

Hallo! Mein Name ist Maria Timofeeva, ich bin Produktdirektorin des Online-Supermarkts Perekrestok.ru. Mit der Veröffentlichung unserer neuen mobilen Anwendung haben wir uns entschlossen zu erzählen, wie wir die aktuelle Version erstellt haben, wie viele Fehler wir gesammelt haben und wie wir zu dem Schluss gekommen sind, dass in unserem Fall die interne Entwicklung für das Produkt nützlicher ist.

In diesem Beitrag werden wir die Funktionen des Outsourcings und der internen Anwendungsentwicklung skizzieren sowie über die Details der Plattform sprechen. Dann werden wir versuchen, in neuen Artikeln wiederzukommen und über unser Design, die Entwicklung von Backend-Geräten und Versionen für iOS und Android zu berichten.


Wo haben wir angefangen?


Was war drin und wie funktionierte es? // Semyon Matsepura, Leiter der mobilen Entwicklungsgruppe des Online-Supermarkts Perekrestok.ru

Seit dem Start von Perekrestok.ru wurden Bestellungen über die My Crossroads-Anwendung verarbeitet und das Angebot und die Dienstleistungen des Einzelhandelsnetzwerks und kombiniert Online-Supermarkt. Seit Januar 2020 haben wir begonnen, eine neue Anwendung namens „Online. Crossroads“ zu entwickeln, während wir die aktuelle unterstützen. Zunächst wurden Hausteams ausgewählt und Konzepte entwickelt: von der Idee bis zu den genehmigten Funktionen.



Mehrere Monate Arbeit gingen in eine detailliertere Untersuchung der inneren Küche (insbesondere Einzelhandel, Logistik, alle Arten von Werbeaktionen und Bonusprogrammen). Wir versuchten, alles zu berücksichtigen und zu optimieren, was wir zuvor erreicht hatten. Neue mobile APIs wurden unter Berücksichtigung des Betriebs der Anwendungen geschrieben (da es von außen so aussieht, als ob sowohl die Website als auch die Anwendung zur Auswahl von Waren und Einkäufen erstellt wurden, was bedeutet, dass sie fast auf die gleiche Weise funktionieren, dies ist jedoch nicht ganz richtig).

Wenn Sie zunächst Zeit verbringen und zu Beginn die richtige API entwickeln, können Sie den Entwicklungsprozess erheblich beschleunigen. Außerdem haben wir die Arbeit von Anfragen eingerichtet. Die mobile API ist eine Vertragsarbeit. Es ist sehr wichtig, wie Anfragen gesendet und Antworten empfangen werden. Viele Tage wurden damit verbracht, die beste Lösung auszuwählen. Ja, natürlich das Backend- Teamgeht aktiv auf die Nutzung von Microservices.

So kam es, dass wir uns der Erstellung einer neuen Anwendung von mehreren Seiten gleichzeitig näherten und damit begannen, sowohl Backing- als auch mobile Anwendungen (iOS und Android) parallel umzugestalten. Während die Backender alles im Inneren wiederholen, arbeitete das mobile Entwicklungsteam an der Architektur, die Designer entwickelten das Design-System weiter und die Vermarkter bewerteten die Wettbewerber und machten Schlussfolgerungen über die Funktionalität unserer Anwendung.

Bei der Erstellung einer neuen Anwendung haben wir versucht, ihre Architektur so detailliert wie möglich zu entwickeln, um selbst kleinste Details zu berücksichtigen, um in Zukunft eine einfachere Unterstützung zu bieten und ein qualitativ hochwertiges Produkt am Ausgang zu erhalten.

Inhouse vs Outsource


Wie wir Teams für das Produkt zusammengestellt haben // Elena Tikhonova, Leiterin Mobile Applications

Unternehmen haben oft die Wahl, bei der Entwicklung einiger Anwendungen und Dienste ihre eigenen Ressourcen zu verwenden oder eine klare technische Spezifikation zu schreiben und alles sicher auszulagern. Im Prinzip hängt dies oft von der spezifischen Aufgabe ab. Ein für alle Mal zu sagen, dass das Haus cooler ist als Outsourcing (oder umgekehrt), ist unmöglich. Schließlich gibt es Situationen, in denen es schneller, einfacher und billiger ist, ein Drittanbieter-Team schnell zu verbinden, um ein Produkt zu erstellen, als Vollzeit-IT-Spezialisten zu entlassen, deren Zeit jetzt für das Unternehmen wichtiger ist und mehr kostet. In der Regel handelt es sich dabei um die Erstellung einmaliger Werbemittel. Sie haben nur für einen bestimmten Urlaub gelandet - ausgelagert, sie haben alles für Sie getan, der Urlaub ist vergangen, die Landung auf den Tisch gelegt. Alle. Ausnahmen sind selten, aber es gibt zum Beispiel den Arbeitsstil einer bestimmten Person aus dem Outsourcing sehr gut.und wir arbeiten jetzt weiter mit ihm zusammen, er passt gut zum Projekt.

Wenn es jedoch um etwas Komplexeres (und Langlebiges) geht, das neue Integrationen und ständige Unterstützung erfordert, wird das Haus hier schneller, billiger und sicherer. Es ist besser, etwas einmal zu tun und zu warten, als die Dienste von Zeit zu Zeit von Grund auf neu zu erstellen. Wenn Sie jedoch andere Beispiele in der Praxis hatten, bei denen das Outsourcing tatsächlich besser ist, schreiben Sie bitte in die Kommentare.

Wenn Sie enge Fristen haben, brauchen Sie Leute, die vom Produkt selbst motiviert sind und nicht auf etwas anderes gesprüht werden, sei es zusätzlich freiberuflich oder von anderen Kunden des Outsourcing-Unternehmens. Ja, bei einem Inhouse ist es wichtig, eine kritische Masse an Entwicklern zu gewinnen. Denn wenn Sie eine Abteilung haben, die fast besetzt ist, aber dennoch jemanden für die Aufgaben auslagern muss, ist es schwierig, ein reines Haus in Betracht zu ziehen. Für uns passt ein solches notwendiges Minimum in 5 Personen für jede Plattform + 2 Systemanalysten + 3 Manager + 2 Designer + 2 Tester + 4 Personen aus dem Backend-Team. Insgesamt 23 Personen.

Wir haben unsere Teams zusammengestellt, um die beruflichen Fähigkeiten der Jungs zu betonen und ihnen die Zusammenarbeit zu erleichtern. Soft Skills schenken manchmal noch mehr Aufmerksamkeit. Jetzt wächst das Team nur noch und seine alte Zusammensetzung ändert sich nicht.



Wenn Sie auch eine Einzelhandels-App erstellen


Mit allen Funktionen // Maria Timofeeva, Produktdirektorin des Online-Supermarkts Perekrestok.ru

Wir haben ein paar Tipps für Sie. Stellen Sie zunächst, wie oben erwähnt, sicher, dass die Architektur und die gesamte interne Struktur Ihrer Anwendung vom internen Team festgelegt werden. Wenn Sie zu Beginn das Outsourcing verbinden, müssen Sie kräftig über den Rechen joggen, und dann werden Sie mit hoher Wahrscheinlichkeit alles noch einmal wiederholen. Oder Sie werden es nicht wiederholen, aber Sie werden eine Menge Ressourcen für die vollständige Unterstützung ausgeben.

Zweitens können Sie aus Gründen der Geschwindigkeit von Releases einige Nebenschritte von Benutzerskripten überspringen. Um Zeit zu sparen, ist es sinnvoll, eine Funktion in einer etwas einfacheren Form als beabsichtigt freizugeben. Und dann bis zur vollständigen Implementierung vermasseln. Für 4,5 Monate haben wir eine Anwendung veröffentlicht, die alle Funktionen der Webversion enthält. Lassen Sie in der Grundform, aber - alle.

Schauen Sie sich das Beispiel unserer Anwendung an. In unserem Fall ist der Pfad des Benutzers ein Kauf. Der damit verbundene Ablauf sollte so detailliert wie möglich ausgearbeitet werden: Produkte auswählen, in den Warenkorb legen und eine Bestellung aufgeben. Aber auch alle möglichen Dinge, die für den Service wichtig sind, wie beispielsweise eine praktische Skala für die Bewertung von Bestellungen, werden benötigt, aber ihre Studien können minimiert werden. Kehren Sie später darauf zurück, wenn die Hauptsache erledigt ist.

Genau aus diesem Grund wird uns oft vorgeworfen, dass sich in der Benutzeroberfläche Karten befinden, auf denen nur sehr wenige Informationen über das Produkt vorhanden sind - Preis, Foto und Name. Wie bei einigen anderen Anwendungen für die Lieferung von Lebensmitteln gibt es große Karten, auf denen Sie das Produkt detailliert anzeigen können, einschließlich des Transparenzgrads der Fischschuppe und des Wetters wie am Tag der Weinlese.

Auf ähnliche Weise können Sie sich dem Design nähern, falls Sie selbst nur wenige Überschriften haben. Weniger Positionen - mehr Platz für ihre Anzeige und Informationen zu jeder Position. Aber wir haben ehrlich gesagt genug Positionen. Daher verfügt die Benutzeroberfläche über Bildschirme, mit denen der Benutzer die bekanntesten und am häufigsten gekauften Produkte bestellt. In diesem Fall ist es für ihn normalerweise wichtig, einfach zu verstehen, dass das Produkt auf Lager ist, und es schnell zu kaufen. Daher - eine minimalistische Karte, die ihre Funktion voll erfüllt.

Drittens, und dies gilt höchstwahrscheinlich für jeden Antrag mit Zahlung für Bestellungen und nicht nur für den Einzelhandel als solchen. Unterstützung für Apple Pay / Google Pay und mehr hinzufügen. Das ist wichtiger als es scheint. Ihre Anwendung sollte über eine gute Checkout-Seite verfügen, auf der Sie erneut unauffällig prüfen und gegebenenfalls Fehler korrigieren und schnell das richtige Produkt hinzufügen können. Hierbei ist zu beachten, dass die Anzahl der Lader minimal ist. Wem gefällt es, wenn der Bildschirm beim Hinzufügen eines neuen Produkts zum Warenkorb einfriert und Sie nicht weiter scrollen können?

Viertens Design. Studieren Sie den Pfad des Benutzers und machen Sie es ihm zunächst auf diesem Pfad bequem. Wir haben mehrere Designberater einberufen, die uns bei Bedarf fröhlich beraten haben. Sie berieten im Allgemeinen interessante Dinge - wild schöne Lösungen auf dem modernsten Stapel unter Verwendung aller frischen visuellen Ansätze.

Das Problem war, dass sich am Ende eine Bewerbung mit ein paar schönen Stücken herausgestellt hätte, vielleicht hätte es sogar ein paar Designpreise gekostet und im Allgemeinen. Aber der Benutzer würde es einfach unangenehm finden, es zu benutzen. Er kommt auch zur Anwendung für die Zustellung von Lebensmitteln, um Lebensmittel zu bestellen, sich nicht von großartigen Grafiken inspirieren zu lassen und neue Technologien für das mobile Leben zu erlernen. Für mich ist eine Geschichte, in der Design aus Gründen des Designs höher gestellt wird als Funktionalität, eine schlechte Geschichte.

Und um eine gute Funktionalität zu gewährleisten = kennen Sie Ihr Produkt gut. Wir haben die CJM-Site, die mobile Version und die alte Version der Anwendung zusammengeführt, alle negativen Bewertungen mit Details aufgenommen, festgestellt, was den Leuten nicht gefallen hat, wo die Schwierigkeiten waren, und versucht, dies zu berücksichtigen.

Wir werden versuchen, einen separaten Artikel über das Anwendungsdesign zu schreiben.

Neue Anwendung

Folgendes haben wir als Ergebnis erhalten - Sie können die Anwendung hier herunterladen .



Wir freuen uns über Feedback, Kritik und Kommentare.

All Articles