- Peran hakiki perangkat lunak adalah mengetahui dengan jelas masalah yang harus diselesaikannya dan menyadari batas-batasnya
- Perangkat lunak yang baik tidak berusaha memuat semua fitur, hanya menangani bagian yang memang perlu ditingkatkan, dan tidak menyimpang dari tujuannya
- Mengajukan contoh imajiner di mana perintah
ls digantikan dengan fitur AI, sambil menyindir fenomena perluasan alat lama yang tidak perlu
- Mengutip prinsip-prinsip dari ‘Getting Real’ dan ‘Rework’ karya 37Signals untuk menekankan bahwa keterbatasan harus dijadikan keunggulan dan permintaan fitur yang tidak perlu harus ditolak
- Mengingatkan bahwa bahkan di tengah demam AI, stabilitas standar yang sudah ada dan definisi masalah yang jelas memiliki nilai lebih besar daripada tren baru
Peran dan batas perangkat lunak
- Tulisan ini dimulai dengan adegan imajiner setelah memperbarui distribusi Linux, di mana perintah
ls berubah menjadi kecerdasan direktori berbasis AI
- Perintah baru
als memprediksi niat pengguna, memberi peringkat pada file, dan menampilkan pesan bahwa ls lama akan dihentikan dukungannya dalam 30 hari
- Adegan ini adalah sindiran terhadap kelebihan fitur dan inovasi yang tidak perlu
- Sambil mengatakan “syukurlah hal seperti ini tidak benar-benar terjadi”, tulisan ini menekankan bahwa perangkat lunak yang baik tahu kapan ia harus berhenti
Prinsip inti perangkat lunak yang baik
- Perangkat lunak yang baik mengetahui tujuan apa yang dijalankannya, tidak berusaha melakukan semuanya, dan mampu membedakan kapan harus berhenti serta apa yang perlu diperbaiki
- Pola pikir maksimalis manusia cenderung membuat segala sesuatu menjadi lebih besar dan lebih rumit
- Namun, perangkat lunak harus mendefinisikan peran dan posisinya dengan jelas, dan jika ide baru tidak sesuai dengan visi yang ada, ide itu harus dipisahkan menjadi proyek terpisah
Filsafat produk 37Signals
- ‘Rework’ dan ‘Getting Real’ yang ditulis para pendiri Basecamp memberikan pelajaran penting dalam perancangan produk
- Keterbatasan adalah keunggulan (Constraints are advantages): tim kecil, anggaran terbatas, dan cakupan terbatas mendorong pengambilan keputusan yang lebih baik
- Abaikan permintaan fitur (Ignore feature requests): alih-alih langsung menerapkan fitur yang diminta pengguna, diperlukan pendekatan untuk memahami masalah mendasarnya
- Rilis lebih awal dan lebih sering (Ship early, ship often): produk yang belum sempurna tetapi benar-benar bekerja lebih berharga daripada produk sempurna yang tidak pernah dirilis
- Desain berpusat pada inti (Epicenter design): rancang antarmuka inti dan interaksi utamanya terlebih dahulu, bukan navigasi atau elemen pinggiran
- Katakan ‘tidak’ sebagai default (Say no by default): fitur baru membawa biaya tersembunyi berupa kompleksitas, biaya pemeliharaan, dan bertambahnya penanganan pengecualian
- Buat apa yang Anda sendiri butuhkan (Scratch your own itch): produk yang memecahkan masalah yang benar-benar Anda butuhkan memungkinkan pengambilan keputusan yang lebih baik
Nilai keberlanjutan dibanding perubahan
- Belakangan ini ada arus di mana banyak produk merombak nama dan fungsinya dengan AI sebagai pusat
- MinIO → AIStor
- Oracle Database → Oracle AI Database
- Tidak semua hal perlu berubah secara dramatis
- Menjadi standar de facto dalam area masalah tertentu memiliki nilai yang lebih besar
Belum ada komentar.