Proyek utama ID Finance adalah layanan pinjaman alternatif online MoneyMan. Dia bekerja di tujuh negara - Polandia, Spanyol, Meksiko, Brasil, Georgia, Kazakhstan, dan Rusia. Ketika kami pertama kali meluncurkannya di Rusia pada 2015, kami tidak dapat mengabaikan platform seluler: pangsa pengguna smartphone di antara Rusia adalah 67% dari total jumlah pengguna ponsel. Seperti yang ditunjukkan oleh studi internal, 80% pelanggan menggunakan smartphone di platform Android, pilihan platform untuk mengembangkan aplikasi pertama menjadi jelas

Mengapa outsourcing tidak berhasil
Pada awalnya, diputuskan untuk melakukan outsourcing pengembangan aplikasi dan pada saat yang sama merekrut tim pengembangan: kami memiliki sumber daya yang terbatas, dan kami ingin mendapatkan aplikasi secepat mungkin.
Pengembangan outsourcing ternyata mahal dan lambat, tidak ada seorang pun di dalam perusahaan yang mengikuti tim pengembangan eksternal, setelah menerbitkan peringkat aplikasi di toko sangat rendah - 1,2 dari 5. Semua orang merasa tidak puas: baik pelanggan maupun bisnis. Itu perlu untuk mengubah sesuatu dan outsourcing ditinggalkan demi tim kecil pengembang android di dalam perusahaan, yang pada awalnya terdiri dari dua orang.
Proyek-proyek outsourcing, di samping kualitasnya buruk, penuh dengan masalah lainAplikasi dari agen outsourcing diprediksi datang dalam keadaan menjijikkan, tidak memiliki arsitektur pada prinsipnya, ada perasaan bahwa itu dibuat oleh seorang junior di lututnya dalam tiga bulan. Di kelas aplikasi, para pengembang menemukan komentar yang benar-benar ajaib, versi yang disensornya terdengar seperti: "API - g *** oh, keluarkan dari sini." Kemudian API berubah sekitar sekali setiap dua minggu, dan beberapa orang menyukainya: sulit untuk dipertahankan, analis bisnis tidak melaporkan perubahan, backend juga tidak mau berbagi apa yang terjadi dengan mereka.
Dari sejarah komit, jelas bahwa dudes melakukannya kurang lebih berpengetahuan, tetapi kami tidak akan tahu mengapa aplikasi ini ternyata sangat buruk.
Apa yang kami perbaiki
Kami mulai membuat ulang aplikasi dan membuat layer terpisah, yang sepenuhnya bertanggung jawab untuk interaksi jaringan. Ini memungkinkan untuk tidak menulis ulang setengah dari aplikasi untuk perubahan kecil. Kami telah berhasil mengimplementasikan arsitektur di mana aplikasi Moneyman berlangsung tiga tahun tanpa masalah. Itu tidak lagi relevan, tetapi masih hidup, dan kemudian memungkinkan kami untuk berkembang pesat, pada 2016 dari satu negara ke dua (Rusia dan Kazakhstan), dan pada 2017-2018 aplikasi diluncurkan di empat negara lagi, sekarang direncanakan untuk meluncurkan yang lain dalam satu.
Diagram interaksi komponen aplikasiSetelah peluncuran di Kazakhstan, menjadi jelas bahwa jumlah negara hanya akan tumbuh dan akan sangat sulit untuk dipertahankan, diputuskan untuk membuat kerangka kerja bersama. Di sini kami membuat kesalahan evolusi: dalam kerangka ini kami menarik semua yang umum di antara aplikasi. Ya, paket untuk negara-negara menjadi ringan dan tipis, tetapi kami dihadapkan pada kenyataan bahwa bisnis kami di berbagai negara berkembang sangat berbeda, dan fitur aplikasi pada satu titik sangat berbeda. Mereka mulai menghapus sesuatu dari framework, mentransfernya kembali ke paket, terkadang berlebihan. Sekarang dalam aplikasi ada keseimbangan, ketika kerangka kerja itu masuk akal dan berisi segala sesuatu yang memiliki kesamaan aplikasi di berbagai negara, dan dalam aplikasi untuk setiap negara Anda dapat dengan mudah mengubah sesuatu tanpa harus menulis ulang. Tes terbesar untuk kerangka kerja kami adalah peluncuran dua negara dalam satu bulan, yang berhasil dilewati. Ini sebagian besar disebabkan oleh kenyataan bahwa sebagian besar fungsi diimplementasikan dalam kerangka kerja.
Sistem desain
Solusi desain yang ada, meskipun konsisten dengan pedoman, sudah usang dan tidak sesuai dengan konsep desain modern. Jadi ada sistem desain komponen. Sekarang dalam proses pengembangan, negara pertama di mana sistem desain akan dipertahankan adalah Spanyol.
Sistem desain juga merupakan kerangka kerja yang bertanggung jawab untuk UI dan tidak menyangkut logika bisnis. Pola sistem desain tidak menyiratkan penggunaan oleh pengembang elemen yang hidup di luarnya. Jika pengembang tiba-tiba ingin membuat tombol warna oranye yang sedikit lebih hangat, ia harus menambahkan tombol ini ke sistem desain dan melewati semua tahap koordinasi dengan tombol ini dan hanya setelah konfirmasi tombol ini akan tersedia untuk semua aplikasi dalam sistem. Dengan demikian, pengembang tidak akan dapat membuat disonansi tampilan aplikasi dan semua aplikasi dalam ekosistem akan konsisten.
Layar di sebelah kiri adalah aplikasi lama untuk Spanyol, di sebelah kanan adalah yang baru. Sekilas, sepertinya perubahan itu kosmetik, tetapi sistem desain akan memungkinkan kita untuk menjaga konsistensi semua aplikasi Moneyman tanpa banyak usaha.Sayangnya, sistem desain yang lengkap adalah hal yang cukup mahal, dan dapat menghasilkan proyek yang terpisah, dengan backend, frontend, staf desainer, dll., Tetapi bahkan dengan sumber daya terbatas ia bekerja dengan baik.
Pembaruan untuk Pembaruan
Kami memperbarui aplikasi sesuai kebutuhan. Terkadang setiap dua minggu. Namun seringkali perubahan hanya menyangkut backend, dan, meskipun ini "tidak diproses", pembaruan semacam itu terkadang dilompati dalam sprint.
Dari yang tidak menyenangkan - kami mempraktikkan pembaruan Paksa, yang mencegah pengguna menggunakan aplikasi hingga ia memperbarui ke versi terbaru. Kami menggunakan ini ketika API berubah dan beberapa fungsi aplikasi mungkin berhenti berfungsi. Di sisi backend, sistem ini sangat besar dan menjaga kompatibilitas untuk semua versi API mahal.
Aplikasi Moneyman sekarang:
- diluncurkan di 6 negara
- jumlah instalasi aplikasi cenderung 500.000
- Peringkat aplikasi rata-rata adalah 4.6.
- Lebih dari 8 ribu ulasan di toko Rusia
- Tim yang terdiri dari lima pengembang sedang mengerjakan aplikasi
Rencana termasuk pelepasan aplikasi Moneyman di negara lain dan pengenalan desain sistem untuk aplikasi Moneyman di semua negara.