Mieux vaut le faire soi-même: comment nous avons créé l'application mobile interne Perekrestok.ru

salut! Je m’appelle Maria Timofeeva, je suis la directrice des produits du supermarché en ligne Perekrestok.ru. Par la sortie de notre nouvelle application mobile, nous avons décidé de dire comment nous avons créé la version actuelle, combien de bugs nous avons collectés et comment nous sommes arrivés à la conclusion que dans notre cas, le développement interne est plus utile pour le produit.

Dans cet article, nous décrirons les caractéristiques de l'externalisation et du développement d'applications internes, ainsi que les détails de la plate-forme. Ensuite, nous essaierons de revenir dans de nouveaux articles et de parler de notre conception, de notre backend et du développement de versions pour iOS et Android.


Par où avons-nous commencé


Contenu et fonctionnement // Semyon Matsepura, chef du groupe de développement mobile du supermarché en ligne Perekrestok.ru

Depuis le lancement de Perekrestok.ru, les commandes sont traitées via l'application My Crossroads, elle combine la gamme et les services du réseau de vente au détail et supermarché en ligne. Depuis janvier 2020, nous avons commencé à développer une nouvelle application appelée «Online. Crossroads», tout en prenant en charge la version actuelle. Tout d'abord, des équipes maison ont été sélectionnées et des concepts développés: de l'idée aux fonctionnalités approuvées.



Plusieurs mois de travail ont été consacrés à une étude plus approfondie de la cuisine intérieure (en particulier la vente au détail, la logistique, toutes sortes de promotions et de programmes de bonus), nous avons essayé de prendre en compte et d'optimiser tout ce que nous avions atteint auparavant. De nouvelles API mobiles ont été écrites en tenant compte du fonctionnement des applications (car de l'extérieur, il semble que le site et l'application ont été créés pour sélectionner les biens et les achats, ce qui signifie qu'ils fonctionnent presque de la même manière, mais ce n'est pas entièrement vrai).

Si vous passez initialement du temps et développez la bonne API au début, vous pouvez accélérer considérablement le processus de développement. Et nous avons également mis en place le travail des demandes, l'API mobile est un travail contractuel, il est très important de savoir comment les demandes seront envoyées et les réponses seront reçues. Plusieurs jours ont été consacrés au choix de la meilleure solution. Oui, bien sûr, l'équipe backendva activement vers l'utilisation de microservices.

Il se trouve que nous avons abordé la création d'une nouvelle application de plusieurs côtés en même temps et commencé à remodeler les applications de support et mobiles (iOS et Android) en parallèle. Alors que les backenders refont tout à l'intérieur, l'équipe de développement mobile a travaillé sur l'architecture, les concepteurs ont continué à créer le système de conception et les spécialistes du marketing ont évalué les concurrents et tiré des conclusions sur la fonctionnalité de notre application.

Lors de la création d'une nouvelle application, nous avons essayé de développer son architecture aussi détaillée que possible, pour prendre en compte les moindres détails afin de fournir son support plus simple à l'avenir et d'obtenir un produit de haute qualité en sortie.

Inhouse vs Outsource


Comment nous avons réuni les équipes pour le produit // Elena Tikhonova, responsable des applications mobiles

Les entreprises ont souvent le choix - d'utiliser leurs propres ressources lors du développement de certaines applications et de certains services, ou de rédiger une spécification technique claire et d'externaliser tout en toute sécurité. En principe, cela dépend souvent de la tâche spécifique. Une fois pour toutes, dire que la maison est plus froide que l'externalisation (ou vice versa) est impossible. Après tout, il existe des situations où il est plus rapide, plus facile et moins cher de connecter rapidement une équipe tierce pour créer un produit que de détacher des informaticiens à temps plein, dont le temps est désormais plus important pour l'entreprise et coûte plus cher. Il s'agit généralement de la création de ressources promotionnelles ponctuelles. Il vous a fallu un atterrissage uniquement pour certaines vacances - externalisé, ils ont tout fait pour vous, les vacances ont passé, ont mis l'atterrissage sur la table. Tout. Les exceptions sont rares, mais il y a, par exemple, nous avons vraiment aimé le style de travail d'une personne en particulier de l'externalisation,et nous continuons à travailler avec lui maintenant, il s’intègre bien au projet.

Mais s'il s'agit de quelque chose de plus complexe (et de longue durée), nécessitant de nouvelles intégrations, un support constant, alors la maison devient plus rapide, moins chère et plus sûre. Il vaut mieux faire quelque chose une fois et le maintenir, que de refaire de temps en temps des services. Cependant, si vous aviez d'autres exemples dans la pratique où l'externalisation est en fait meilleure, veuillez écrire dans les commentaires.

Lorsque vous avez des délais serrés, vous avez besoin de personnes motivées par le produit lui-même et qui ne seront pas pulvérisées sur autre chose, que ce soit en tant que freelance supplémentaire ou délai d'autres clients de la société d'externalisation. Oui, avec une maison, il est important de gagner une masse critique de développeurs. Parce que lorsque vous (comme) avez un département qui est presque presque doté en personnel, mais que vous devez toujours externaliser quelqu'un pour les tâches, il est difficile de considérer une maison pure. Pour nous, un tel minimum nécessaire en 5 personnes pour chaque plateforme + 2 analystes système + 3 managers + 2 designers + 2 testeurs + 4 personnes de l'équipe backend. Total 23 personnes.

Nous avons rassemblé nos équipes à la fois en mettant l'accent sur les compétences professionnelles des gars et en les rendant vraiment à l'aise de travailler ensemble. Les compétences générales accordent parfois plus d'attention. Maintenant, l'équipe ne fait qu'augmenter et son ancienne composition ne change pas.



Si vous créez également une application de vente au détail


Avec toutes les fonctionnalités // Maria Timofeeva, directeur des produits du supermarché en ligne Perekrestok.ru

Nous avons quelques conseils pour vous. Tout d'abord, comme mentionné ci-dessus, essayez de vous assurer que l'architecture et la structure interne de votre application sont définies par l'équipe interne. Si vous connectez l'externalisation au début, vous devrez faire du jogging vigoureusement le long du râteau, puis, avec un haut degré de probabilité, vous recommencerez tout à nouveau. Ou vous ne le referez pas, mais vous dépenserez beaucoup de ressources pour un support complet.

Deuxièmement, par souci de rapidité des versions, vous pouvez ignorer certaines étapes secondaires des scripts utilisateur. Pour gagner du temps, il est logique de publier une fonctionnalité sous une forme légèrement plus simple que celle que vous vouliez. Et puis vissez à la mise en œuvre complète. Pendant 4,5 mois, nous avons publié une application qui comprenait toutes les fonctionnalités de la version Web. Laissez sous la forme de base, mais - tout.

Regardez l'exemple de notre application. Dans notre cas, le chemin de l'utilisateur est un achat. Le flux associé à celui-ci doit être élaboré de manière aussi détaillée que possible: sélection des produits, ajout de ceux-ci au panier et passation d'une commande. Mais toutes sortes de choses, même importantes pour le service, comme une échelle pratique pour évaluer les commandes, sont également nécessaires, mais leur étude peut être minimisée. Revenez à cela plus tard, lorsque tout sera fait.

C'est précisément à cause de cela que l'on nous reproche souvent le fait qu'il existe des cartes dans l'interface sur lesquelles il y a très peu d'informations sur le produit - prix, photo et nom. Par exemple, certaines autres applications de livraison de nourriture ont d'énormes cartes où vous pouvez voir le produit en détail, y compris le degré de transparence de l'échelle du poisson et la météo comme le jour de la vendange du vin.

Ainsi, d'une manière similaire, vous pouvez aborder la conception dans le cas où vous avez peu de titres eux-mêmes. Moins de positions - plus d'espace pour leur affichage et des informations sur chacun. Mais franchement, nous avons suffisamment de positions. Par conséquent, l'interface possède des écrans avec lesquels l'utilisateur commande les produits les plus connus et les plus achetés. Dans ce cas, il est généralement important pour lui de simplement comprendre que le produit est en stock et de l'acheter rapidement. Par conséquent - une carte minimaliste qui remplit pleinement sa fonction.

Troisièmement, et cela, très probablement, s'applique à toute application avec paiement pour les commandes, et pas seulement pour la vente au détail en tant que telle. Ajoutez la prise en charge d'Apple Pay / Google Pay et plus encore. C'est plus important qu'il n'y paraît. Votre application doit avoir une bonne page de paiement, ce qui vous permet de vérifier à nouveau discrètement, de corriger les erreurs si nécessaire et d'ajouter rapidement le bon produit. Ici, il est important de considérer que le nombre de chargeurs est minime. Qui aime quand l'écran se fige lors de l'ajout d'un nouveau produit au panier et que vous ne pouvez pas faire défiler plus loin?

Quatrièmement, le design. Étudiez le chemin de l'utilisateur et rendez-le pratique pour lui tout d'abord sur ce chemin. Nous avons convoqué plusieurs consultants en conception et ils ont joyeusement commencé à nous conseiller au besoin. Ils ont conseillé, en général, des choses intéressantes - des solutions incroyablement belles, sur la pile la plus moderne, en utilisant toutes les nouvelles approches visuelles.

Le problème était qu'à la fin, il se serait avéré une application avec un tas de belles pièces, peut-être aurait-il fallu quelques prix de design et en général. Mais l'utilisateur serait mal à l'aise de l'utiliser. Il vient également à l'application de livraison de nourriture pour commander de la nourriture, et ne pas être inspiré par de superbes graphismes et apprendre de nouvelles technologies pour le live mobile. Quant à moi, une histoire où le design est mis plus haut que la fonctionnalité pour le design est une mauvaise histoire.

Et pour faire de bonnes fonctionnalités = bien connaître votre produit. Nous avons réuni le site CJM, la version mobile et l'ancienne version de l'application, pris toutes les critiques négatives avec des détails, vu ce que les gens n'aimaient pas, où étaient les difficultés, et essayé de prendre cela en compte.

Nous allons essayer d'écrire un article séparé sur la conception des applications.

Nouvelle application

Voici ce que nous avons obtenu - vous pouvez télécharger l'application ici .



Nous apprécions les commentaires, critiques et commentaires.

All Articles