Lebih baik melakukannya sendiri: bagaimana kami membuat aplikasi seluler in-house Perekrestok.ru

Halo! Nama saya Maria Timofeeva, saya direktur produk supermarket online Perekrestok.ru. Dengan merilis aplikasi mobile baru kami, kami memutuskan untuk memberi tahu bagaimana kami membuat versi saat ini, berapa banyak bug yang kami kumpulkan dan bagaimana kami sampai pada kesimpulan bahwa dalam kasus pengembangan inhouse kami lebih berguna untuk produk.

Dalam posting ini, kami akan menguraikan fitur-fitur outsourcing dan pengembangan aplikasi in-house, serta berbicara tentang detail platform. Kemudian kami akan mencoba kembali ke artikel baru dan menceritakan tentang desain, perangkat backend, dan pengembangan versi untuk iOS dan Android.


Di mana kita mulai


Apa yang ada di dalamnya dan bagaimana cara kerjanya // Semyon Matsepura, kepala kelompok pengembangan ponsel supermarket online Perekrestok.ru

Sejak peluncuran Perekrestok.ru, pesanan telah diproses melalui aplikasi My Crossroads, menggabungkan berbagai dan layanan dari jaringan ritel dan supermarket online. Sejak Januari 2020, kami mulai mengembangkan aplikasi baru yang disebut "Online. Crossroads", sembari mendukung yang sekarang. Pertama-tama, tim rumahan dipilih dan konsep dikembangkan: dari ide hingga fitur yang disetujui.



Beberapa bulan bekerja masuk ke studi yang lebih rinci dari dapur dalam (terutama ritel, logistik, semua jenis promosi dan program bonus), kami mencoba untuk memperhitungkan dan mengoptimalkan segala yang kami capai sebelumnya. API seluler baru ditulis dengan mempertimbangkan pengoperasian aplikasi (karena dari luar tampaknya situs dan aplikasi dibuat untuk memilih barang dan pembelian, yang artinya mereka bekerja dengan cara yang hampir sama, tetapi ini tidak sepenuhnya benar).

Jika awalnya Anda menghabiskan waktu dan mengembangkan API yang tepat di awal, Anda dapat mempercepat proses pengembangan secara signifikan. Dan kami juga telah menyiapkan pekerjaan permintaan, API seluler adalah pekerjaan kontrak, sangat penting bagaimana permintaan akan dikirim dan jawaban akan diterima. Banyak hari dihabiskan untuk memilih solusi terbaik. Ya, tentu saja, tim backendaktif menuju penggunaan layanan microser.

Kebetulan kami mendekati pembuatan aplikasi baru dari beberapa sisi secara bersamaan dan mulai merombak aplikasi backing dan mobile (iOS dan Android) secara paralel. Sementara para backender mengulangi semua yang ada di dalamnya, tim pengembangan mobile bekerja pada arsitektur, para desainer terus menciptakan sistem desain, dan para pemasar mengevaluasi para pesaing dan membuat kesimpulan tentang fungsionalitas aplikasi kita.

Ketika membuat aplikasi baru, kami mencoba mengembangkan arsitekturnya sedetail mungkin, untuk memperhitungkan bahkan detail terkecil untuk memberikan dukungan yang lebih sederhana di masa depan dan untuk mendapatkan produk berkualitas tinggi pada output.

Inhouse vs Outsource


Bagaimana kami mengumpulkan tim untuk produk // Elena Tikhonova, Kepala Aplikasi Seluler

Perusahaan sering memiliki pilihan - untuk menggunakan sumber daya mereka sendiri ketika mengembangkan beberapa aplikasi dan layanan, atau untuk menulis spesifikasi teknis yang jelas dan secara aman meng-outsource semuanya. Pada prinsipnya, ini sering tergantung pada tugas spesifik. Sekali dan untuk semua, mengatakan bahwa rumah itu lebih dingin daripada outsourcing (atau sebaliknya) tidak mungkin. Lagipula, ada situasi di mana lebih cepat, lebih mudah, dan lebih murah untuk menghubungkan tim pihak ketiga dengan cepat untuk membuat suatu produk daripada melepaskan spesialis IT penuh waktu, yang waktunya sekarang lebih penting bagi perusahaan dan harganya lebih mahal. Biasanya ini adalah penciptaan beberapa sumber daya promosi satu kali. Butuh pendaratan hanya untuk liburan tertentu - outsourcing, mereka melakukan segalanya untuk Anda, liburan berlalu, meletakkan pendaratan di atas meja. Semua. Pengecualian jarang terjadi, tetapi ada, misalnya, kami benar-benar menyukai gaya kerja orang tertentu dari outsourcing,dan kami terus bekerja dengannya sekarang, dia cocok dengan proyek.

Tetapi jika menyangkut sesuatu yang lebih kompleks (dan lama dimainkan), membutuhkan integrasi baru, dukungan berkelanjutan, maka di sini rumah menjadi lebih cepat, lebih murah dan lebih aman. Lebih baik melakukan sesuatu sekali dan memeliharanya, daripada membuat kembali layanan dari awal dari waktu ke waktu. Namun, jika Anda memiliki contoh lain dalam praktik ketika outsourcing sebenarnya lebih baik, silakan tulis di komentar.

Ketika Anda memiliki tenggat waktu yang ketat, Anda membutuhkan orang-orang yang termotivasi oleh produk itu sendiri dan tidak akan disemprotkan ke sesuatu yang lain, baik itu freelance tambahan atau tenggat waktu dari klien lain dari perusahaan outsourcing. Ya, dengan inhouse, penting untuk mendapatkan banyak pengembang. Karena ketika Anda (seperti) memiliki departemen yang hampir-hampir memiliki staf, tetapi Anda masih harus meng-outsource seseorang untuk tugas-tugas tersebut, sulit untuk mempertimbangkan rumah yang murni. Bagi kami, kebutuhan minimum yang diperlukan menjadi 5 orang untuk setiap platform + 2 analis sistem + 3 manajer + 2 desainer + 2 penguji + 4 orang dari tim backend. Total 23 orang.

Kami mengumpulkan tim kami dengan penekanan pada keterampilan profesional para pemain, dan membuat mereka benar-benar nyaman bekerja bersama. Ketrampilan lunak terkadang lebih memperhatikan. Sekarang tim hanya meningkat, dan komposisi lamanya tidak berubah.



Jika Anda juga membuat aplikasi ritel


Dengan semua fitur // Maria Timofeeva, direktur produk supermarket online Perekrestok.ru,

Kami memiliki beberapa tips untuk Anda. Pertama, seperti yang disebutkan di atas, cobalah untuk memastikan bahwa arsitektur dan seluruh struktur internal aplikasi Anda diletakkan oleh tim internal. Jika Anda menghubungkan outsourcing pada awalnya, Anda harus berlari cepat menyapu, dan kemudian, dengan tingkat probabilitas yang tinggi, Anda akan mengulangi semuanya lagi. Atau Anda tidak akan mengulanginya, tetapi Anda akan menghabiskan banyak sumber daya untuk dukungan penuh.

Kedua, demi kecepatan rilis, Anda dapat melewati beberapa langkah samping skrip pengguna. Untuk menghemat waktu, masuk akal untuk merilis fitur dalam bentuk yang sedikit lebih sederhana dari yang Anda inginkan. Dan kemudian mengacaukan implementasi penuh. Selama 4,5 bulan kami merilis aplikasi yang menyertakan semua fungsionalitas versi web. Biarkan dalam bentuk dasar, tapi - semua.

Lihatlah contoh aplikasi kita. Dalam kasus kami, jalur pengguna adalah pembelian. Alur yang terkait dengan ini harus dikerjakan sedetail mungkin: memilih produk, menambahkannya ke keranjang, dan menempatkan pesanan. Tetapi segala macam hal, bahkan penting untuk layanan, seperti skala yang nyaman untuk mengevaluasi pesanan, mereka juga diperlukan, tetapi studi mereka dapat diminimalkan. Kembali ke ini nanti, ketika semua hal utama dilakukan.

Justru karena ini kita sering dicela karena ada kartu di antarmuka yang hanya ada sedikit informasi tentang produk - harga, foto, dan nama. Seperti, beberapa aplikasi pengiriman makanan lainnya memiliki kartu besar di mana Anda dapat melihat produk secara detail, termasuk tingkat transparansi skala ikan dan cuaca seperti pada hari panen anggur untuk anggur.

Jadi, dengan cara yang sama, Anda dapat mendekati desain jika Anda memiliki beberapa judul sendiri. Lebih sedikit posisi - lebih banyak ruang untuk tampilan dan informasi masing-masing. Tapi sejujurnya, kami memiliki posisi yang cukup. Oleh karena itu, antarmuka memiliki layar dengan mana pengguna memesan produk yang paling akrab dan sering dibeli. Dalam hal ini, biasanya penting baginya untuk hanya memahami bahwa produk tersebut dalam stok dan cepat membelinya. Oleh karena itu - kartu minimalis yang sepenuhnya menjalankan fungsinya.

Ketiga, dan ini, kemungkinan besar, berlaku untuk aplikasi apa pun dengan pembayaran pesanan, dan tidak hanya untuk ritel saja. Tambahkan dukungan untuk Apple Pay / Google Pay dan banyak lagi. Ini lebih penting daripada kelihatannya. Aplikasi Anda harus memiliki halaman checkout yang baik, yang memungkinkan Anda untuk sekali lagi memeriksa secara tidak mencolok, dan memperbaiki kesalahan jika perlu, dan dengan cepat menambahkan produk yang tepat. Di sini penting untuk mempertimbangkan bahwa jumlah loader minimal. Siapa yang suka ketika layar membeku saat menambahkan produk baru ke keranjang dan Anda tidak dapat menggulir lebih jauh?

Keempat, desain. Pelajari jalur pengguna dan buat dia nyaman terlebih dahulu di jalur ini. Kami bertemu beberapa konsultan desain, dan mereka dengan riang mulai memberi saran kepada kami sesuai kebutuhan. Mereka menyarankan, secara umum, hal-hal menarik - solusi yang sangat indah, pada tumpukan paling modern, menggunakan semua pendekatan visual yang segar.

Masalahnya adalah bahwa pada akhirnya itu akan menghasilkan aplikasi dengan banyak potongan-potongan yang indah, mungkin itu akan mengambil bahkan beberapa hadiah desain dan secara umum. Tetapi pengguna hanya akan merasa tidak nyaman menggunakannya. Dia juga datang ke aplikasi pengiriman makanan untuk memesan makanan, dan tidak terinspirasi oleh grafik yang hebat dan mempelajari teknologi baru untuk mobile live. Bagi saya, cerita ketika desain ditempatkan lebih tinggi dari fungsionalitas demi desain adalah cerita yang buruk.

Dan untuk membuat fungsionalitas yang baik = ketahui produk Anda dengan baik. Kami menyatukan situs CJM, versi seluler dan versi lama aplikasi, mengambil semua ulasan negatif dengan detail, melihat apa yang tidak disukai orang, di mana kesulitannya, dan mencoba memperhitungkannya.

Kami akan mencoba menulis artikel terpisah tentang desain aplikasi.

Aplikasi baru

Inilah yang kami dapatkan - Anda dapat mengunduh aplikasi di sini .



Kami menyambut umpan balik, kritik dan komentar.

All Articles