Design Thinking dan Agile Development

Prototype dalam sebuah sesi design thinking

Design thinking dan agile development adalah dua metode yang digunakan oleh Labtek Indie dalam mengembangkan produk digital, baik untuk kebutuhan klien maupun untuk proyek internal perusahaan. Sudah sekitar 3 tahun kami secara konstan dan disiplin mempraktekkan metode ini dan hasilnya memang sangat memuaskan. Tentu saja, ada alasan, mengapa kami menggunakan keduanya dalam proses pengembangan produk. Untuk itu, dalam tulisan ini, saya akan menjelaskan beberapa poin yang kami jadikan dasar dalam menggunakan keduanya secara tandem.

Software adalah sebuah hal yang abstrak, terlebih saat dikembangkan. Ini dikarenakan sifatnya yang memang tidak memiliki wujud fisik khusus. Imbasnya, ketika dibayangkan saat belum ada bendanya, orang bisa jadi kesulitan, sehingga miskomunikasi menjadi hal yang sering terjadi. Seringkali, ini pun berujung pada pengembangan produk yang salah. Bayangan di awal, tidak terkomunikasikan dengan jelas dan baik, sehingga estimasi pengerjaan meleset dan hasil akhirnya juga tidak seperti yang dibayangkan.

Hal ini juga makin diperkuat dengan kompleksitas sebuah software saat dibuat. Hal yang di mata pengguna ataupun klien diduga mudah, ketika ditemui di fase pengembangan, ternyata bisa jadi kompleks. Ambil saja contoh sistem notifikasi seperti yang ditemui di Facebook. Sistem itu lumrah ditemui oleh beragam pengguna, berkat pengaruh Facebook, sehingga, rasanya seharusnya ini adalah fitur standar. Namun, pada prakteknya, membuat fitur tersebut tidaklah semudah membalik telapak tangan, karena ada proses sinkronisasi data real-time yang harus dilakukan terus-menerus. Belum lagi struktur datanya pun harus dibuat. Melakukan ini di fase awal memang tidak mudah, meski bisa dilakukan. Yang masalah adalah ketika baru terbayang di akhir, di mana software sudah hampir jadi. Bisa dipastikan, ada banyak perombakan yang harus dilakukan. Padahal bisa jadi, fitur ini adalah sebuah fitur yang tinggi value-nya di mata user, namun meleset untuk dituliskan ketika requirement software dirumuskan.

Standardisasi komunikasi, perumusan value produk serta prioritas pengembangan fitur adalah hal-hal yang kami rasa bisa terbantu dengan menggunakan metode Design Thinking dan Agile Development saat melakukan pengembangan software. Ketiganya penting untuk bisa ditentukan sedari awal untuk menghindari masalah yang mungkin muncul, seperti saya tuliskan sebelumnya.

Membuat prototype untuk sebuah aplikasi

Sebagai sebuah perkakas untuk melakukan problem solving, metode Design Thinking sangat membantu kami untuk merumuskan bentuk awal dari sebuah produk. Metode ini bisa digunakan untuk memecahkan masalah apapun, sehingga dalam prakteknya, ini kita gunakan dalam berbagai hal, mulai dari mencari bentuk UX yang enak, merumuskan proses bisnis dari sebuah aplikasi, hingga mendapatkan fitur-fitur sebuah software.

Dari design thinking menjadi produk

“Build to think” atau berpikir dengan cara membuat sesuatu adalah mantra dari proses Design Thinking. Dan karena itu, setiap sesi Design Thinking selalu berakhir dengan mendapatkan prototype yang menggambarkan bentuk sebuah produk yang ingin dituju. Prototype ini memiliki 2 peran penting. Yang pertama, dengan membuat prototype bersama, semua stakeholder, baik pengembang, pemilik produk hingga pengguna potensial produk jadi punya bayangan yang sama dan mempunyai wujud fisik, tentang produk apa yang ingin dibuat. Jika sebuah foto bernilai 1000 kata, maka satu prototype bernilai 1000 foto, begitu motto yang disanjung para design thinkers. Peran kedua dari prototype yang juga penting adalah menjadi dasar komunikasi antar para stakeholder ini. Kini semua jadi punya titik acu yang sama dalam berkomunikasi, tombol yang mana yang ada di layar bagian mana, menjadi sesuatu yang mudah dibayangkan. Tentunya ini akan meminimalisir kesalahan dalam berkomunikasi yang mungkin fatal.

Tentu saja, prototype akan menjadi dasar ketika pengembangan produk akan melaju ke fase berikutnya. Dan di sini, proses pengembangan agile development sangat terbantu dengan adanya prototype ini. Sebagai sebuah metode, menghasilkan software dengan value tinggi bagi penggunanya, adalah salah satu prinsip dalam agile development. Ini vital agar dalam waktu yang lebih singkat, proses pengembangan bisa menghasilkan dampak positif yang lebih besar (bukan berarti dengan menggunakan agile maka serta merta waktu development bisa dipotong). Prototype sangat membantu dalam memberikan gambaran yang jelas mengenai value apa saja yang harus dimiliki sebuah produk, serta bagaimana mengatur prioritas saat pengembangan, fitur mana yang harus didahulukan, berdasarkan mana yang memberikan value paling besar untuk pengguna produk tersebut.

Metode Agile, di mana resource dan time sudah dipakemkan, sehingga scope-lah yang perlu diatur

Saat mempraktekkan agile development, pengembang software harus mengatur kembali scope pekerjaan untuk bisa memenuhi waktu yang disepakati dengan menggunakan resource yang sudah disetujui. Prototype menjadi modal yang sangat berharga, karena kini, ada titik acu yang paten saat melakukan proses estimasi scope kerja. Dari pengalaman kami, prototype juga membantu dalam meminimalisir ketidakpastian, berkat adanya referensi produk yang tangible dan dipahami bersama.

Dengan demikian, design thinking dan agile development, menjadi 2 metode yang kami anggap sangat membantu kami dalam melakukan proses pengembangan software. Di era di mana semua berlomba melakukan inovasi produk, penting bagi pemilik bisnis untuk bisa memberikan produk dengan value tinggi bagi pengguna potensial dalam waktu cepat. Kedua metode ini akan sangat membantu untuk mencapai tujuan tersebut.

Digital product maker. Do design and code just to see pixels give real-world values. Cyclist + Gamer + Metalhead. Also, proud dad and husband.

Digital product maker. Do design and code just to see pixels give real-world values. Cyclist + Gamer + Metalhead. Also, proud dad and husband.