Apa yang perlu dipertimbangkan saat membuat aplikasi untuk bisnis/perusahaan?
(news.ycombinator.com)Pertanyaan yang muncul di HN beserta jawaban-jawaban yang paling banyak direkomendasikan
Jawaban 1
- Siapa pembelinya? Biasanya berbeda dari pengguna produk, dan Anda perlu memahami apa yang mereka inginkan
- Berbasis SSO, SAML
- Untuk keamanan, cakup OWASP top-10, dan cakup juga app-sec (keamanan aplikasi)
- Implementasikan RBAC. Buat administrator mudah menambah/mengelola pengguna
- Implementasikan akun demo sebagai sandbox dan isi dengan data yang mirip dengan data nyata. Buat ini sangat mudah saat sales pitch. Biarkan produk berbicara sendiri menggantikan Anda
- Pertimbangkan multi-tenancy sejak awal. Sulit menambahkannya nanti
- Bangun persyaratan compliance per domain sejak awal. Hal seperti SOC 2 tidak terlalu sulit. Sambil melakukannya, cari vendor keamanan yang layak untuk melakukan pengujian, perbaiki temuan dengan prioritas tinggi atau menengah, lalu dapatkan sertifikat. Ini membantu membangun kepercayaan dengan pelanggan
- Laporan. Biasanya administrator memerlukan berbagai laporan. Sebaiknya sediakan unduhan CSV/Excel agar mereka bisa memotong dan memakainya di software spreadsheet mereka
- Pengguna bisa membuat kesalahan, jadi selalu gunakan soft-delete. Lalu beberapa bulan kemudian bisa hard-delete
Jawaban 2
- Sebagai engineer pertama di perusahaan, saya telah membuat 2 aplikasi enterprise yang sukses (satu sudah dijual, satu lagi saat ini bernilai lebih dari 100M)
- Satu-satunya hal yang perlu dikhawatirkan adalah "apakah pelanggan benar-benar menginginkan dan membutuhkan aplikasi Anda". 99% produk enterprise SaaS gagal bukan karena fitur yang kurang, melainkan karena hal ini
- Fitur enterprise seperti SSO, integration, dan audit trail bisa dibangun saat pelanggan memintanya
Sebagian besar ini adalah masalah yang sudah terpecahkan, tetapi karena Anda seorang engineer, hal-hal itu terlihat seperti masalah yang menarik - Abaikan hal-hal itu dan fokus hanya pada masalah bisnis: "Apakah aplikasi saya menyelesaikan kebutuhan mendesak pelanggan saya?"
Untuk memiliki pola pikir yang bisa menjawab pertanyaan ini, bacalah "The Mom Test". Itu yang paling penting saat ini
Jawaban 3
- Jika saya jadi Anda, saya akan meninggalkan aspek teknis dari produk B2B/enterprise untuk nanti
- Masalah utamanya adalah memahami proses penjualan/strategi GTM (Go To Market). Seperti yang dikatakan orang lain, akan membantu jika bermitra dengan seseorang yang memahami masalah/industrinya dan punya pengalaman menjual ke perusahaan. Ingat bahwa ini akan menjadi kompetensi inti perusahaan (jika Anda ingin menghasilkan banyak uang). Sebagai pemimpin teknis, pekerjaan Anda lebih dekat ke konsultasi daripada sekadar membuat dan mengirimkan produk
- Jika Anda mengerjakannya sendiri, bicaralah dengan banyak orang yang terlibat dalam proses bisnis, dan cari tahu mengapa mereka saat ini melakukan masalah yang sedang Anda coba perbaiki dengan cara seperti itu. Sering kali sebagai developer kita melihat masalah sebagai masalah teknis, padahal sebenarnya bisa jadi masalah organisasi/politik/sosial. Jangan membangun terlalu banyak terlebih dahulu; buat dulu prototipe visual yang bisa ditunjukkan dan dipakai untuk pitching, lalu berikan agar pengguna bisa mengujinya sendiri
Jawaban 4
- Banyak hal akan berbeda tergantung jenis bisnis yang Anda tuju. Jika menargetkan lembaga pemerintah atau organisasi keuangan, persyaratannya jauh lebih banyak daripada perusahaan software biasa
- Untuk perusahaan besar, siklus penjualannya bisa cukup panjang, tetapi sebagai kompensasinya nilai transaksinya bisa sangat besar
- Nasihat terbaik yang bisa saya berikan, setelah menjual ke pelanggan perusahaan selama beberapa tahun, adalah "pahami pelanggan target Anda". Bukan hanya perusahaannya, tetapi juga orang-orang yang benar-benar akan Anda juali software tersebut. Sebelum mulai membangun, bicaralah dengan pelanggan target untuk memastikan apa tepatnya yang mereka butuhkan (dan apakah itu sesuai dengan yang Anda pikirkan), serta hambatan apa yang mereka miliki untuk membeli software Anda. Jika Anda mengetahui persyaratan sebelumnya, Anda tidak akan terkejut selama proses penjualan
- Buku yang saya rekomendasikan adalah The Mom Test. Anda bisa belajar cara mengajukan pertanyaan yang tepat untuk mendapatkan umpan balik dari pelanggan target
Jawaban 5
- Buat aplikasi agar mengekspos API, dan biarkan web client dirender menggunakan API tersebut. Di ranah enterprise, tidak perlu melakukan server-side rendering demi SEO
- Sering kali setelah orang-orang di perusahaan menggunakan aplikasi Anda, mereka ingin mengotomatisasi sendiri atau mengintegrasikan aplikasi itu dengan sistem lain. Jika ada API, berarti Anda tidak perlu melakukan pekerjaan tambahan. Apa pun yang bisa mereka lakukan di aplikasi, bisa diotomatisasi
- Jika melibatkan database, memiliki read-only replica yang bisa dibaca pengguna memungkinkan jawaban cepat untuk semua pertanyaan bisnis. Banyak pebisnis, pembuat laporan, dan engineer sangat mahir dalam SQL.
Jawaban 6
- Hal yang paling penting adalah "menemukan masalah yang perusahaan bersedia membayar untuk diselesaikan". Siapkan MVP sederhana dan tumbuhkan dari sana
Jawaban 7
- Bangun dan rancang untuk multi-tenancy sejak tahap skema
- Decouple ID dan mekanisme login - rencanakan multi login mechanism per pengguna (email/password, SAML, OpenID Connect, Google) dan pertimbangkan juga multi-factor authentication (TOTP, Duo,..). Perhatikan bagaimana Anda membedakan pengguna yang terautentikasi dan bagaimana memverifikasi alamat email
- Gunakan TLS juga untuk koneksi database. Gunakan enkripsi. Otomatiskan backup, dan buat agar data per pelanggan bisa dipulihkan/di-export tanpa harus memulihkan seluruh aplikasi
- Gunakan time-series database atau sistem event logging, dan buat audit trail untuk semua tindakan yang dilakukan pengguna berwenang di sistem, perubahan akun atau izin, tindakan destruktif, dan sebagainya
3 komentar
Terasa ada wawasan di dalamnya.
Apa saja yang perlu dipertimbangkan saat membuat aplikasi untuk bisnis/perusahaan?
https://tkim.co/2020/02/12/the-mom-test/
Rahasia perusahaan SaaS: mengapa multi-tenancy penting