Apa yang harus diketahui oleh pendiri non-teknis tentang pengembangan perangkat lunak

Bahkan tugas teknis yang paling sederhana pun dapat diimplementasikan dengan banyak cara. Setiap pendekatan yang tersedia memiliki pro dan kontra, dan biayanya - Anda dapat membuat otomatisasi untuk satu sen, atau Anda dapat menghabiskan banyak uang.

Biasanya, insinyur dan perusahaan perangkat lunak berusaha untuk menyelesaikan tugas dengan kualitas setinggi mungkin yang mampu mereka lakukan. Tergantung pada pengalaman mereka dan tahap startup saat ini, kualitas "tinggi" yang dihasilkan mungkin tidak cukup, idealnya sesuai dengan saat ini, atau buang-buang waktu dan uang.

Oleh karena itu, untuk bertindak secepat dan seefisien mungkin, sangat penting untuk mengubah pendekatan pengembangan tergantung pada tahap evolusi startup.

gambar

Mulai: temukan tempat Anda di pasar
(cari pas pasar)


Ini adalah awal ketika sebuah organisasi baru mencari pasarnya. Tujuan utama pada tahap ini adalah untuk menguji model bisnis baru secepat mungkin tanpa memperhatikan kualitas implementasi sistem.

Selama periode ini, persyaratan platform dapat berubah secara dramatis beberapa kali. Sebagian besar kode kemungkinan akan dibuang setelah itu. Dampak kesalahan kecil, karena platform hampir tidak memiliki pengguna, sebagai aturan itu adalah keluarga dan teman.

Pada tahap ini, tidak ada gunanya menginvestasikan banyak sumber daya dalam implementasi sistem yang berkualitas. Bahkan berbahaya membayar untuk kualitas yang baik, karena memperlambat kecepatan riset pasar dan dengan cepat menghabiskan uang.

Prioritas : Kecepatan pengembangan.

Rekomendasi :

  • Cari cara termudah dan tercepat untuk menguji ide-ide Anda.
  • Jelajahi pasar, mungkin sudah ada sistem atau layanan siap pakai yang dapat Anda gunakan.
  • Waspada setiap kali Anda mendengar pembicaraan tentang kualitas solusi, kinerja, skalabilitas, dll. Buat catatan untuk masa depan dan lupakan saat ini.
  • Tahan godaan untuk berinvestasi dalam kualitas yang baik terlalu cepat. Lagi pula, setiap kali Anda akan yakin bahwa solusi saat ini untuk masalah pasti akan menembak.
  • Setelah penampilan pelanggan dan transisi ke tahap berikutnya, bersiaplah untuk pemula untuk berbicara tentang betapa kerennya menggunakan pendekatan arsitektur ini atau itu dari awal. Lebih baik daripada menghabiskan semua uang dan menciptakan produk sempurna yang tidak dibutuhkan siapa pun.

Pengembangan: Niche Capture


Startup telah menemukan pasarnya dan jumlah pelanggan terus bertambah.

Pada tahap ini, ada sedikit perubahan kardinal dalam sistem. Biasanya fungsionalitas baru ditambahkan. Namun, seiring meningkatnya jumlah pelanggan, dampak kesalahan meningkat.

Pengguna layanan harus melihat bahwa solusinya stabil dan terus berkembang. Oleh karena itu, pengembangan kualitas platform datang ke permukaan.

Prioritas : kualitas proses pengembangan.

Rekomendasi :

  • Mulailah berinvestasi dalam kualitas platform yang lebih banyak.
  • Berikan elemen-elemen berikut dari proses pengembangan:
    • Pembaruan sistem yang sering dan teratur.
    • Penerapan perubahan otomatis.
    • Semua perubahan melalui tahap tinjauan kode.
    • Pengujian kualitatif terhadap fungsionalitas baru dan lama.
  • Bersiaplah untuk perubahan arsitektur besar-besaran di langkah berikutnya.

Penskalaan: ekspansi ke pasar global


Startup telah membangun model bisnis yang sukses. Saatnya untuk skala ke pasar baru.

Pada tahap ini, persyaratan yang ada jarang berubah. Fitur-fitur baru masih muncul, tetapi persyaratan non-fungsional, seperti bandwidth, kecepatan respons, dan ketersediaan sistem, menjadi lebih penting.

Dampak kesalahan sangat besar, dan keandalan platform sangat penting.

Prioritas : arsitektur kualitas.

Rekomendasi :

  • Sudah waktunya untuk investasi maksimum dalam kualitas platform.
  • Jika perlu, tulis ulang beberapa modul untuk meningkatkan arsitektur.
  • Berikan elemen-elemen berikut dari proses pengembangan:
    • Pengujian stres kualitas.
    • Tim vertikal - tim dapat secara independen merilis fungsionalitas baru.
    • Penskalaan horizontal - setiap modul platform dapat diskalakan dengan menambahkan instance baru darinya.
    • Penerapan percobaan (Canary deployment) - fitur baru dapat diuji pada sebagian kecil pengguna nyata.

Ringkasan:


Kenali panggung Anda dengan jelas - setiap orang dalam tim harus memahami fokus pengembangan saat ini. Kembangkan kebiasaan sebelum setiap pengambilan keputusan dalam penerapan daftar opsi yang berbeda dalam waktu, biaya, dan kualitas. Pilih yang paling efektif untuk tahap Anda saat ini:

  • Potong sudut untuk menguji hipotesis secepat mungkin pada tahap menemukan tempat Anda di pasar.
  • Bangun proses pengembangan berkualitas tinggi dan pastikan aliran perbaikan yang stabil selama pengembangan intensif.
  • Tingkatkan arsitektur sistem Anda untuk skala model bisnis yang sukses ke pasar baru.

PS : Evolusi startup tidak selalu begitu sederhana dan linier. Transisi dari satu tahap ke tahap lainnya membutuhkan waktu dan upaya. Produk yang berhasil (MVP) saat diluncurkan mungkin tidak berfungsi untuk audiens yang lebih luas selama fase pengembangan. Solusi yang efektif untuk satu ceruk mungkin tidak skala baik di pasar baru. Kasing ini mengembalikan bootstrap ke akarnya, dan prioritas pengembangan harus berubah sesuai.

Source: https://habr.com/ru/post/id461601/


All Articles