Arsitektur untuk startup
Membangun start-up adalah tantangan yang unik. Tugas utamanya adalah menemukan tempat untuk inovasi sebagai produk atau layanan di pasaran. Proses ini membutuhkan pengujian atas beberapa asumsi yang dibangun ke dalam inovasi. Start-up yang sukses harus melakukan iterasi melalui asumsi-asumsi ini, lalu tumbuh dan berkembang seiring produknya mendapatkan kecocokan produk dan pasar. Setelah menemukan kecocokan ini, startup harus menskalakan untuk menangkap permintaan pasar.
Dalam tahap kehidupan start-up yang berbeda, pengembang, arsitek, dan para chief technical officer (CTO) menangani fase pengembangan yang berbeda. Tahap-tahap ini membutuhkan pendekatan fundamental dan pilihan teknologi yang berbeda. Bagian dari tugas adalah untuk menentukan di fase mana start-up Anda berada. Pilih teknologi, pendekatan, dan arsitektur yang cocok dengan fase tersebut.
Tahap-tahap inovasi
Kent Beck menjelaskan proses tiga tahap dari inovasi produk perangkat lunak. Tahap-tahap tersebut adalah eksplorasi, perluasan, dan ekstraksi. Anda dapat membayangkan beberapa bagian berbeda dari proses ini sebagai grafik:
Grafik yang menunjukkan kurva sigmoid diplot terhadap sumbu y "Kepastian/Investasi/Risiko Perubahan" dan sumbu x "Waktu". Grafik ini memiliki tiga area yang disorot: bagian awal sebelum infleksi ke atas berlabel "Eksplorasi", bagian pertumbuhan tinggi dari kurva sigmoid berlabel "Perluas" dan plateau berlabel "Ekstrak".
Tahap Eksplorasi dimulai dengan kemiringan rendah, tempat Anda mencoba menemukan apa yang dapat berhasil. Kepastiannya rendah, Anda hanya menginvestasikan dalam jumlah kecil, dan risiko dari setiap perubahan yang Anda buat juga rendah.
Ketika pasar produk cocok ditemukan, grafik naik lebih cepat. Pertumbuhan yang cepat ini adalah tahap Perluas. Kepastian Anda sangat meningkat, Anda berinvestasi lebih banyak, dan Anda jauh lebih sadar akan risiko.
Akhirnya, ketika grafik merata dan startup mencapai kematangan, Anda mencapai tahap Ekstrak . Kepastian, investasi, dan risiko dari perubahan semuanya tinggi, tetapi tingkat pertumbuhan telah mencapai plateau.
Jelajahi
Ketika start-up Anda berada dalam tahap eksplorasi, keharusan Anda adalah menginvestasikan sejumlah kecil waktu dan usaha pada berbagai ide produk berbeda. Fakta bahwa sebagian besar ide tidak akan tepat akan mendorong eksplorasi. Anda dapat menemukan produk dan pasar yang cocok hanya dengan iterasi dan pembelajaran. Dengan membuat banyak taruhan kecil, Anda bertujuan untuk menemukan ide produk yang akan berhasil.
Tahap ini membutuhkan kedisiplinan. Sangat mudah untuk berinvestasi berlebihan dalam ide yang dapat Anda uji dengan lebih sedikit waktu dan energi. Akan sangat mudah bagi seorang teknolog untuk jatuh ke dalam perangkap ini. Untuk membuat pilihan arsitektur yang memudahkan eksplorasi, ingatlah bahwa Anda sedang bereksplorasi. Anda belum tahu apakah ide produk saat ini adalah ide yang akan berhasil.
Dari perspektif arsitektur, pilih layanan yang mengoptimalkan kecepatan, biaya, dan opsi. Gunakan layanan terkelola dan platform as a service (PaaS) seperti Azure App Service untuk memulai dengan cepat tanpa mencemaskan infrastruktur yang kompleks. Kelola biaya dengan memilih tingkat gratis dan ukuran instans yang lebih kecil saat Anda menjelajahi. Kontainer mendukung pengembangan dengan alat apa pun yang masuk akal untuk Anda dan memberi Anda opsi penyebaran yang fleksibel untuk masa depan.
Bangun tumpukan pertama Anda
Seperti versi produk pertama Anda, tumpukan teknologi pertama Anda harus berakar kuat dalam eksplorasi. Berarti tumpukan teknologi harus memudahkan iterasi produk yang cepat tanpa membuang-buang usaha. Anda tidak ingin menghabiskan waktu atau usaha pada infrastruktur atau arsitektur yang tidak diperlukan untuk menjawab pertanyaan yang ada saat ini.
Selama fase eksplorasi, Anda perlu mengoptimalkan kecepatan, biaya, dan pilihan. Kecepatan adalah tentang seberapa cepat Anda dapat membangun dan bergerak maju dengan sebuah ide, atau berpindah ke ide berikutnya. Biaya adalah tentang berapa banyak yang Anda belanjakan untuk menjalankan infrastruktur Anda. Pilihan menggambarkan seberapa cepat Anda dapat mengubah arah dengan arsitektur yang ada saat ini.
Sangat penting untuk menyeimbangkan biaya, kecepatan, dan pilihan. Terlalu banyak fokus pada biaya akan membatasi kecepatan dan pilihan. Terlalu banyak fokus pada kecepatan dapat menyebabkan peningkatan biaya dan lebih sedikit pilihan. Merancang untuk terlalu banyak opsi akan membangun kompleksitas, yang meningkatkan biaya dan mengurangi kecepatan.
Pertimbangkan untuk menggunakan tumpukan teknologi pertama yang disarankan. Arsitektur ini menggunakan layanan PaaS untuk kemudahan implementasi, dapat dimulai dengan skala minimal, dan menggunakan kontainer dan teknologi sumber terbuka yang dapat dengan mudah disebarkan pada tumpukan teknologi yang berbeda saat Anda matang.
Perluas
Setelah startup Anda menemukan pasar produk yang sesuai dan pertumbuhan berikutnya melalui eksplorasi, Anda mengalihkan gigi ke ekspansi. Anda fokus untuk menghilangkan penyumbatan pada pertumbuhan produk dan perusahaan Anda yang berkelanjutan. Dari perspektif teknis, Anda memecahkan tantangan berskala infrastruktur dan meningkatkan kecepatan pengembangan. Tujuannya adalah untuk memenuhi kebutuhan pelanggan baru dan menaikkan peta strategi produk Anda ke tingkat selanjutnya.
Perluas arsitektur Anda
Ketika mengiterasi produk Anda, Anda pasti akan menemukan area arsitektur yang perlu diperluas. Anda mungkin akan perlu menyelesaikan tugas yang berjalan lama di latar belakang, atau menangani pembaruan yang sering dari perangkat internet-of-things (IoT). Anda mungkin perlu menambahkan pencarian teks lengkap atau kecerdasan buatan ke produk Anda.
Anda mungkin memerlukan perubahan arsitektur untuk mengakomodasi item di peta strategi Anda. Tahan godaan untuk membuat perubahan-perubahan itu terlalu jauh sebelumnya. Perluasan berisiko menambah kompleksitas pada arsitektur dan biaya infrastruktur ke neraca keuangan Anda.
Pada tahap awal start-up, setiap ekstensi arsitektur harus tepat waktu. Ekstensi hanya boleh mengambil waktu dan energi sebanyak yang diperlukan untuk menguji hipotesis berikutnya. Bersiaplah untuk menghapus ekstensi guna mengurangi kompleksitas. Carilah fitur produk yang tidak digunakan pelanggan Anda sebagai peluang untuk menyederhanakan arsitektur dan mengurangi pengeluaran infrastruktur Anda.
Arsitektur Anda dapat diperluas dalam banyak hal, seperti:
- Menambahkan Kecerdasan Buatan melalui Retrieval Augmented Generation (RAG)
- Meningkatkan ketahanan melalui penyebaran zona-redundan
- Meningkatkan ketahanan melalui penyebaran multi-wilayah yang sangat tersedia
- Meningkatkan keamanan melalui tumpukan teknologi yang diperkuat jaringan
Ekstrak
Dalam fase ekstraksi, laju pertumbuhan melambat bersamaan dengan Anda mencapai batas peluang pasar. Karena Anda berkembang melalui fase sebelumnya, sekarang ada banyak kerugian, maka ambil pendekatan yang lebih hati-hati. Ekspansi margin, pengurangan biaya, dan peningkatan efisiensi menjadi ciri dari fase ekstraksi. Selama fase ekstraksi, berhati-hatilah untuk tidak mengkompromikan produk untuk pelanggan yang telah Anda dapatkan dalam fase ekspansi.
Tangani pertumbuhan dan matangkan tumpukan Anda
Setelah suatu produk mencapai kecocokan produk dan pasar, banyak permintaan yang akan mendorong arsitekturnya. Peningkatan penggunaan mungkin akan memerlukan penskalaan infrastruktur untuk menangani beban. Persyaratan kepatuhan perusahaan baru mungkin akan memerlukan isolasi yang lebih besar. Perubahan-perubahan ini adalah langkah umum dalam mematangkan aplikasi yang sukses.
Perubahan yang Anda buat untuk menangani pertumbuhan dan menambah kematangan tidak sama dengan memperluas arsitektur. Perubahan ini bukan persyaratan fungsional, tetapi berhubungan dengan membuka kunci skala. Peningkatan skala dapat berasal dari pelanggan baru, peningkatan penggunaan dari pelanggan yang sudah ada, dan pelanggan dengan persyaratan peraturan yang lebih tinggi.
Tahan keinginan untuk mengoptimalkan sebelum waktunya. Pastikan untuk mengambil langkah-langkah pertumbuhan dan pematangan yang dapat membantu Anda terus mengiterasi dan meningkatkan produk.
Langkah berikutnya
- Lihat dan terapkan contoh Arsitektur tumpukan start-up Inti.