Melhor você mesmo: como criamos o aplicativo móvel interno do Perekrestok.ru

Olá! Meu nome é Maria Timofeeva, sou diretora de produtos do supermercado online Perekrestok.ru. No lançamento do nosso novo aplicativo móvel, decidimos contar como criamos a versão atual, quantos bugs coletamos e como chegamos à conclusão de que, no nosso caso, o desenvolvimento interno é mais útil para o produto.

Neste post, descreveremos os recursos de terceirização e desenvolvimento de aplicativos internos, além de falar sobre os detalhes da plataforma. Em seguida, tentaremos voltar em novos artigos e falar sobre nosso design, dispositivo de back-end e desenvolvimento de versão para iOS e Android.


Por onde começamos


O que estava dentro e como funcionava // Semyon Matsepura, chefe do grupo de desenvolvimento móvel do supermercado online Perekrestok.ru

Desde o lançamento do Perekrestok.ru, os pedidos foram processados ​​por meio do aplicativo My Crossroads, que combina a variedade e os serviços da rede de varejo e supermercado online. Desde janeiro de 2020, começamos a desenvolver um novo aplicativo chamado "Online. Crossroads", enquanto apoiamos o atual. Primeiro, as equipes da casa foram selecionadas e os conceitos desenvolvidos: da idéia aos recursos aprovados.



Vários meses de trabalho foram feitos em um estudo mais detalhado da cozinha interna (especialmente varejo, logística, todos os tipos de promoções e programas de bônus), tentamos levar em conta e otimizar tudo o que alcançávamos antes. Novas APIs para dispositivos móveis foram criadas levando em consideração a operação dos aplicativos (porque, externamente, parece que o site e o aplicativo foram criados para selecionar mercadorias e compras, o que significa que eles funcionam quase da mesma maneira, mas isso não é totalmente verdade).

Se você inicialmente dedicar tempo e desenvolver a API certa no início, poderá acelerar significativamente o processo de desenvolvimento. E também configuramos o trabalho de solicitações, a API móvel é um contrato, é muito importante como as solicitações serão enviadas e as respostas serão recebidas. Muitos dias foram gastos escolhendo a melhor solução. Sim, claro, a equipe de back - endvai ativamente para o uso de microsserviços.

Aconteceu que abordamos a criação de um novo aplicativo de vários lados ao mesmo tempo e começamos a remodelar aplicativos móveis e de backup (iOS e Android) em paralelo. Enquanto os backenders estão refazendo tudo o que está dentro, a equipe de desenvolvimento móvel trabalhou na arquitetura, os designers continuaram a criar o sistema de design, e os profissionais de marketing avaliaram os concorrentes e tiraram conclusões sobre a funcionalidade do nosso aplicativo.

Ao criar um novo aplicativo, tentamos desenvolver sua arquitetura o mais detalhadamente possível, para levar em conta até os menores detalhes, a fim de fornecer um suporte mais simples no futuro e obter um produto de alta qualidade na saída.

Inhouse vs Terceirizar


Como montamos equipes para o produto // Elena Tikhonova, chefe de aplicativos móveis

As empresas geralmente têm uma opção - usar seus próprios recursos ao desenvolver alguns aplicativos e serviços ou escrever uma especificação técnica clara e terceirizar tudo com segurança. Em princípio, isso geralmente depende da tarefa específica. De uma vez por todas, é impossível dizer que a casa é mais fria do que terceirizar (ou vice-versa). Afinal, há situações em que é mais rápido, fácil e barato conectar rapidamente uma equipe de terceiros para criar um produto do que desanexar especialistas em TI em período integral, cujo tempo agora é mais importante para a empresa e custa mais. Geralmente, essa é a criação de alguns recursos promocionais únicos. Você levou um pouso apenas para um determinado feriado - terceirizou, eles fizeram tudo por você, o feriado passou, colocou o pouso na mesa. Todos. As exceções são raras, mas, por exemplo, gostamos muito do estilo de trabalho de uma pessoa em particular, na terceirização,e continuamos a trabalhar com ele agora, ele se encaixou bem no projeto.

Mas se se trata de algo mais complexo (e de longa duração), exigindo novas integrações, suporte constante, então aqui a casa se torna mais rápida, mais barata e mais segura. É melhor fazer algo uma vez e mantê-lo, do que refazer os serviços do zero de tempos em tempos. No entanto, se você teve outros exemplos na prática quando a terceirização é realmente melhor, escreva nos comentários.

Quando você tem prazos apertados, precisa de pessoas motivadas pelo produto em si e que não serão pulverizadas em outra coisa, seja freelancer ou prazo adicional de outros clientes da empresa de terceirização. Sim, com uma empresa interna, é importante obter uma massa crítica de desenvolvedores. Porque quando você (como) tem um departamento quase com quase funcionários, mas ainda precisa terceirizar alguém para as tarefas, é difícil considerar uma casa pura. Para nós, o mínimo necessário é de 5 pessoas para cada plataforma + 2 analistas de sistema + 3 gerentes + 2 designers + 2 testadores + 4 pessoas da equipe de back-end. Total de 23 pessoas.

Reunimos nossas equipes com ênfase nas habilidades profissionais dos rapazes e em torná-los realmente confortáveis ​​trabalhando juntos. Soft skills prestam ainda mais atenção às vezes. Agora, a equipe está apenas aumentando e sua composição antiga não muda.



Se você também criar um aplicativo de varejo


Com todos os recursos // Maria Timofeeva, diretora de produtos do supermercado online Perekrestok.ru

Temos algumas dicas para você. Primeiramente, como mencionado acima, tente garantir que a arquitetura e toda a estrutura interna do seu aplicativo sejam estabelecidas pela equipe interna. Se você conectar a terceirização no início, precisará correr vigorosamente pelo rake e, com um alto grau de probabilidade, refará tudo novamente. Ou você não vai refazê-lo, mas gastará muitos recursos em suporte total.

Em segundo lugar, para aumentar a velocidade dos lançamentos, você pode pular algumas etapas secundárias dos scripts do usuário. Para economizar tempo, faz sentido liberar um recurso de uma forma um pouco mais simples do que você pretendia. E depois estrague-se para a implementação completa. Por 4,5 meses, lançamos um aplicativo que incluía todas as funcionalidades da versão web. Deixe na forma básica, mas - tudo.

Veja o exemplo da nossa aplicação. No nosso caso, o caminho do usuário é uma compra. O fluxo associado a isso deve ser elaborado da maneira mais detalhada possível: selecionando produtos, adicionando-os à cesta e fazendo um pedido. Mas todos os tipos de coisas, mesmo importantes para o serviço, como uma escala conveniente para avaliar pedidos, também são necessárias, mas seu estudo pode ser minimizado. Volte a isso mais tarde, quando tudo estiver pronto.

É justamente por isso que somos frequentemente criticados pelo fato de existirem placas na interface nas quais há muito pouca informação sobre o produto - preço, foto e nome. Assim, algumas outras aplicações de entrega de alimentos têm enormes cartões onde você pode ver o produto em detalhes, incluindo o grau de transparência da escama de peixe e o clima, como no dia da colheita da uva para vinho.

Portanto, de maneira semelhante, você pode abordar o design no caso de possuir poucos títulos. Menos posições - mais espaço para exibição e informações sobre cada uma. Mas, francamente, temos posições suficientes. Portanto, a interface possui telas com as quais o usuário solicita os produtos mais familiares e frequentemente adquiridos. Nesse caso, geralmente é importante para ele simplesmente entender que o produto está em estoque e comprá-lo rapidamente. Portanto - um cartão minimalista que desempenha plenamente sua função.

Em terceiro lugar, e isso, muito provavelmente, se aplica a qualquer aplicativo com pagamento por pedidos, e não apenas ao varejo como tal. Adicione suporte para Apple Pay / Google Pay e muito mais. Isso é mais importante do que parece. Seu aplicativo deve ter uma boa página de check-out, que permite verificar novamente de maneira discreta e corrigir erros, se necessário, e adicionar rapidamente o produto certo. Aqui é importante considerar que o número de carregadeiras é mínimo. Quem gosta quando a tela congela ao adicionar um novo produto à cesta e você não pode rolar mais?

Quarto, design. Estude o caminho do usuário e torne-o conveniente antes de tudo nesse caminho. Convocamos vários consultores de design e eles começaram a nos aconselhar com alegria, conforme necessário. Eles aconselharam, em geral, coisas interessantes - soluções incrivelmente bonitas, na pilha mais moderna, usando todas as novas abordagens visuais.

O problema era que, no final, ele teria apresentado um aplicativo com várias peças bonitas, talvez fosse necessário até alguns prêmios de design e, em geral. Mas o usuário ficaria desconfortável em usá-lo. Ele também vem ao aplicativo de entrega de comida para pedir comida e não se inspirar em ótimos gráficos e aprender novas tecnologias para o celular ao vivo. Quanto a mim, uma história em que o design é superior à funcionalidade por uma questão de design é uma história ruim.

E para ter uma boa funcionalidade = conheça bem seu produto. Reunimos o site do CJM, a versão móvel e a versão antiga do aplicativo, tiramos todas as críticas negativas com detalhes, vimos do que as pessoas não gostavam, onde estavam as dificuldades e tentamos levar isso em conta.

Vamos tentar escrever um artigo separado sobre o design do aplicativo.

Nova aplicação

Veja o que obtivemos como resultado - você pode baixar a aplicação aqui .



Agradecemos comentários, críticas e comentários.

All Articles