Product Manager VS Software Developer: Komunikasi dan Kerangka Berpikir yang Sama dalam Mengembangkan Suatu Produk Digital
Kadang dalam mengembangkan suatu produk digital, terdapat beberapa kendala komunikasi antar divisi. Biasanya, hal ini terjadi karena perbedaaan pola pikir antar divisi yang memang memiliki latar belakang keilmuan yang berbeda.
Pola Pikir Product Manager + UX Designer
- Suatu aplikasi digital terdiri dari beberapa fitur
- Setiap fitur memiliki beberapa alur atau flow, yang memiliki interaksi dengan pengguna.
- Interaksi dengan pengguna: Pengguna memberikan input data dan mendapatkan informasi dari kumpulan data yang telah diolah.
Pola Pikir Software Developers
- Aplikasi digital pada umumnya menyimpan, mengolah, dan menampilkan kembali data.
- Data dianggap sebagai suatu benda yang dapat berubah, disimpan, dan diambil kembali.
- Data memiliki permodelannya sendiri. Setiap model memiliki atribut yang berbeda.
- Suatu model tertentu bisa berkaitan dengan satu atau beberapa model yang lain.
Titik Temu
Kedua pihak harus menentukan dua hal berikut:
- Model informasi, yang nilai atribut-atributnya disimpan sebagai data
- (Inter-)aksi yang mengakibatkan perubahan data (nilai atribut-atribut pada suatu model informasi) (termasuk penambahan dan pengurangan data)
Struktur Informasi
Informasi disimpan sebagai data.
Ibarat suatu benda, data memiliki model informasi yang berbeda. Bahkan untuk suatu benda konkret yang sama, konteksnya bisa berbeda sehingga memiliki model imformasi yang berbeda.
Setiap model informasi memiliki atribut (keterangan atau rincian) yang berbeda-beda.
Contoh: Informasi Akademik
Model Informasi: Mata Kuliah, Data Pendaftaran SKS, Data Mahasiswa, Data Dosen.
Model Informasi Mahasiswa memiliki atribut Nama, Nomor Induk Mahasiswa, Tahun Akademik.
Model Informasi Dosen memiliki atribut Nama, Nomor Induk Pegawai, Keilmuan, dll.
Struktur informasi tidak hanya menjelaskan tentang model informasi yang ada beserta masing-masing atributnya saja, tetapi juga keterkaitan antara data-data yang model informasinya berbeda tersebut.
Keterkaitan 1: Spesialisasi
Dari sudut pandang ini, yang difokuskan adalah pendetailan informasi dalam bentuk model informasi lain yang lebih spesifik.
Model informasi baru yang strukturnya berdasarkan model informasi lain yang lebih umum
Pernyataan dalam Product Requirement Document:
- Model informasi Kendaraan terdiri dari kapasitas penumpang, kecepatan rata-rata, dan model medan.
- Model informasi Kendaraan bermotor adalah turunan dari Model informasi kendaraan (atau memiliki semua atribut yang ada pada Model Informasi kendaraan) dengan atribut tambahan berupa kapasitas mesin, daya keluaran, dan nomor registrasi.
Keterkaitan 2: Agregat/Kombinasi
Dari sudut pandang ini, yang difokuskan adalah penggabungan beberapa model informasi yang berbeda menjadi model informasi lain yang lebih kompleks.
Model informasi baru strukturnya berdasarkan beberapa (lebih dari 1) model informasi lain yang dikombinasikan.
Pernyataan dalam Product Requirement Document:
- Model informasi penduduk terdiri dari nama, jenis kelamin, dan tanggal lahir.
- Model informasi Bukti Kepemilikan Kendaraan Bermotor (BPKB) memiliki atribut berupa tanggal pembelian dan nilai pembelian dari suatu kendaraan bermotor.
- Selain itu, Model informasi BPKB memiliki data lain yang termasuk di dalamnya:
a. Model informasi Kendaraan bermotor tersebut
b. Model informasi penduduk yang memiliki kendaraan bermotor tersebut.
Keterkaitan 3: Referensi & Koleksi
Dari sudut pandang ini, yang difokuskan adalah referensi dari sekumpulan data dari model informasi yang sama.
Beberapa data dari model informasi tertentu yang merujuk kepada satu data
Bisa juga diartikan, satu data yang memiliki daftar kumpulan data lain dari model informasi tertentu.
Dari sudut pandang ini, yang difokuskan adalah sekumpulan data dari model informasi yang sama yang dimiliki oleh data lain.
Pernyataan dalam Product Requirement Document:
- Model informasi Penerbangan terdiri dari tanggal keberangkatan, kota keberangkatan, kota tujuan, dan nomor penerbangan
- Model informasi Penumpang terdiri dari nama, nomor identitas, jenis kelamin, tanggal lahir, dan nomor penerbangan
- Data Penerbangan memiliki daftar/kumpulan data penumpang
- Data penumpang memiliki referensi terhadap satu data penerbangan.
Keterkaitan 4: Relasi (banyak-banyak)
Dari sudut pandang ini, yang difokuskan adalah garis hubungan/relasi antara dua model informasi yang berbeda.
Ada dua model informasi, misalnya A dan B, maka:
suatu data dari model informasi A bisa memiliki referensi terhadap beberapa data dari model informasi B.
Begitu pula sebaliknya, suatu data dari model informasi B pun bisa memiliki referensi terhadap beberapa data dari model informasi A.
Dari sudut pandang dosen:
- Dosen 1 mengajar Mahasiswa 1 dan 2
- Dosen 2 mengajar Mahasiswa 1, 2, dan 3
Dari sudut pandang mahasiswa:
- Mahasiswa 1 diajar oleh Dosen 1 dan 2
- Mahasiswa 2 diajar oleh Dosen 1 dan 2
- Mahasiswa 3 hanya diajar oleh Dosen 2
Pernyataan dalam Product Requirement Document:
- Hubungan Dosen dan Mahasiswa adalah hubungan kegiatan perkuliahan
- Mahasiswa dapat diajar oleh beberapa dosen
- Dosen dapat mengajar beberapa mahasiswa
Keterkaitan 5: Relasi dengan informasi tambahan
Pada contoh sebelumnya, hubungan antara Dosen dan Mahasiswa adalah hubungan Kegiatan Perkuliahan.
Hanya saja, kadang kita perlu informasi lebih detail terkait hubungan tersebut, misalnya:
- Apa yang diajarkan
- Kapan kegiatan perkuliahan itu terjadi
- Apa saja hal-hal yang perlu dicatat dalam proses kegiatan perkuliahan tersebut, misalnya nilai ujian
Pernyataan dalam Product Requirement Document:
- Hubungan Dosen dan Mahasiswa adalah hubungan kegiatan perkuliahan
- Mahasiswa dapat diajar oleh beberapa dosen
- Dosen dapat mengajar beberapa mahasiswa
- Data nilai adalah model informasi baru yang menjelaskan hubungan antara model informasi dosen dan mahasiswa, serta memiliki atribut nama mata kuliah, waktu pengajaran, dan nilai ujian
Interaksi yang Mengakibatkan Perubahan Data
Pada tahap ini, Product Manager dan UX designer harus memastikan apa saja interaksi yang dilakukan oleh pengguna dan dampaknya terhadap perubahan data. Interaksi ini harus dapat direpresentasikan dengan menggunakan kata kerja
Contoh: Informasi Akademik
Mendaftarkan Mahasiswa Baru
Data yang berubah: Penambahan Data MahasiswaMendaftarkan mata kuliah
Data yang berubah: Penambahan Data Pendaftaran SKS
Rangkaian atau rentetan perubahan atribut pada suatu data bisa dianggap sebagai alur/flow, dan dirasa cukup untuk mendeskripsikan sebuah UX (User Experience) pada fitur tertentu
Lebih dari itu, Data Pada Interaksi
Terkadang, kita juga ingin mencatat bagaimana interaksi tersebut terjadi. Jika diperlukan, terkadang aplikasi digital juga mencatat interaksi yang terjadi dalam bentuk data. Model informasi sebagai representasi dari interaksi yang terjadi perlu didefinisikan.
Setiap interaksi tertentu terjadi, sebuah data baru dibuat.
Pada gambar di bawah ini, terjadi suatu interaksi berupa penambahan jumlah barang pada inventori, yang pada akhirnya menciptakan data baru dengan (nilai atribut pada model informasi) perubahan jumlah dari kode barang tertentu, dan kapan waktu kejadiannya.
Model informasi yang merepresentasikan suatu interaksi yang terjadi ini biasanya digunakan ketika aplikasi perlu mencatat riwayat perubahan nilai atribut pada data yang ada akibat suatu interaksi tersebut.
Pernyataan dalam Product Requirement Document:
- Model Informasi Inventori terdiri dari atribut nama barang, kode barang, jumlah barang, dan harga
- Terdapat interaksi berupa perubahan jumlah barang, yang dampaknya mengubah nilai atribut “jumlah barang” pada data inventori
- Interaksi perubahan jumlah barang tersebut harus dicatat sebagai model informasi baru, yang memiliki atribut kode barang apa yang berubah, berapa jumlah perubahannya, dan kapan itu terjadi