Ketika Kita Bertemu dengan Isu dalam Pengembangan Produk

Ardi
Impruvia
Published in
3 min readOct 15, 2022
Photo by Markus Spiske on Unsplash

Pengembangan produk seringkali tidak berjalan mulus. Kita bisa menemukan beragam isu maupun tantangan. Sebagai praktisi yang terjun dalam pengembangan produk dalam lingkungan startup maupun proyek, ada beberapa isu yang pernah saya temui dan mungkin akan bertemu kembali kedepannya. Kamu mungkin pernah mengalaminya juga beberapa isu di bawah ini.

Mari kita lihat apa saja isu tersebut dan seperti apa tips menanganinya.

1. Cakupan kebutuhan produk (requirements) yang semakin membesar

Coba perhatikan cakupan (scope) pada requirements produk atau proyek kamu bulan ini dengan bulan lalu atau tiga bulan lalu. Apakah ada yang berubah? Jika kamu berada di situasi proyek, apakah requirements pada awal proyek masih sama dengan saat pertengahan proyek?

Berdasarkan pengalaman, perubahan requirements adalah keniscayaan. Ada beberapa hal yang baru dipahami setelah pengembangan produk berjalan. Ada beberapa kebutuhan atau keinginan yang muncul setelah melihat versi sederhana dari produk. Requirements secara alami akan bertumbuh. Yang kita perlukan adalah cara menangani dan merangkul perubahan requirements.

Tips sederhananya dalam menangani perubahan requirements adalah mencatat perubahan requirements tersebut. Jika kamu dalam proyek, kamu perlu menandainya sebagai scope-out. Kemudian komunikasikan perubahan requirements tersebut ke pihak yang berkepentingan, misalnya ke supervisor atau klien. Diskusikan apakah perubahan tersebut akan diakomodasi dan apa konsekuensi dari akomodasi tersebut (misalnya fitur lain yang prioritasnya low akan dikerjakan belakangan atau bahkan tidak dikerjakan sama sekali. Atau waktu pengembangan akan menjadi lebih lama).

2. Teknologi yang kurang stabil atau yang kurang dipahami

Misalnya kamu menemukan teknologi yang menarik untuk diterapkan. Kamu bawa teknologi tersebut, entah library atau platform, dalam pengembangan produk kamu. Pengembangan pun berjalan. Saat titik pengembangan tertentu, kamu menemukan teknologinya masih kurang stabil (misalnya performance-nya berkurang pada kondisi tertentu atau penyusunan tampilannya terbatas). Atau teknologi tersebut ternyata kurang memenuhi ekspektasi dari requirements yang kamu miliki.

Sayangnya, jika kamu beralih teknologi setelah pengembangan berjalan beberapa lamanya, biaya yang ditanggung tidaklah murah.

Agar kita tidak terhindar dari situasi di atas, kita perlu yang namanya riset teknologi. Sebelum memutuskan untuk menggunakan suatu teknologi dalam pengembangan produk atau proyek, kita perlu tahu kelebihan dan kekurangannya, mengujicoba beberapa hal yang menurut kita penting seperti performance, reliability, hingga keamanan. Baiknya kita juga melakukan uji coba beberapa teknologi yang ada kemudian membandingkannya.

3. Bahasa pemrograman yang baru bagi tim pengembang

Ada kalanya kita diminta untuk menerapkan bahasa pemrograman yang belum familiar bagi tim pengembang. Meskipun konsep dasar suatu bahasa pemrograman berlaku umum dan sudah dipahami oleh tim, tim tetap memerlukan waktu untuk mempelajari sintaks dan konsep khusus di bahasa pemrograman yang baru tersebut. Dampaknya adalah pengembangan fitur akan tertunda hingga tim sudah lumayan familiar dengan bahasa pemrograman tersebut.

Untuk membantu tim dalam situasi tersebut, developer perlu didampingi oleh developer senior atau expert yang sudah familiar dengan bahasa pemrograman tersebut. Asistensi yang intens akan sangat membantu tim mempercepat pembelajaran bahasa pemrograman dan implementasinya di produk atau proyek.

4. Komunikasi tim yang kurang terjalin

Seberapa sering kita menemukan masalah karena kurangnya komunikasi dalam tim. Yang mungkin terjadi adalah miskomunikasi. Dampaknya adalah muncul perbedaan pemahaman terkait requirements dalam internal tim pengembang. Dampak berikutnya yang mungkin terjadi adalah developer membuat fitur dengan spesifikasi yang berbeda dari yang diharapkan. Dampak lainnya adalah isu atau masalah dalam pengembangan tidak terlihat dan menjadi berlarut-larut sehingga memperlambat kemajuan pengembangan. Mungkin juga hal-hal detail dari solusi kurang dieksplor karena jarang adanya diskusi sehingga solusi yang dibuat kurang optimal.

Kerangka kerja maupun metode pengembangan seperti Scrum, XP, Kanban, maupun Crystal dapat membantu kita mengatasi masalah komunikasi tim selama pengembangan. Bekerja dalam satu ruangan yang sama juga dapat meningkatkan komunikasi tim.

--

--

Ardi
Impruvia

Sharing my learning and experience in product management and software process like Scrum. Sometimes inspiration from life