Mengapa tidak ada yang jelas: seni komunikasi dalam pengembangan perangkat lunak

Diterbitkan: 2020-10-22

Kita semua harus berkomunikasi satu sama lain setiap hari. Dalam kehidupan pribadi, di sekolah, di tempat kerja. Di mana-mana dan sepanjang waktu. Beberapa memiliki keterampilan komunikasi yang lebih baik daripada yang lain tetapi pada akhirnya, kita semua membuat kesalahan sesekali.

Sementara beberapa miskomunikasi berdampak kecil pada kehidupan kita (bukan akhir dunia jika Anda memesan bir non-alkohol ;)) beberapa mungkin memiliki konsekuensi yang lebih besar (menunjukkan gigi yang salah untuk dicabut). Kesalahpahaman dalam komunikasi dalam pengembangan perangkat lunak agak yang terakhir dan mungkin memiliki implikasi keuangan.

Salah satu masalah paling umum yang kita semua miliki adalah berasumsi bahwa orang lain dapat membaca pikiran kita. Kita semua terkadang bersalah dalam hal ini. Pernahkah Anda mendengar ungkapan ini: 'Sudah jelas!'? Saya yakin Anda punya.

Saya tidak percaya pada kejelasan objektif. Kami berpikir bahwa beberapa hal jelas bagi semua orang, tetapi apa yang jelas bagi satu orang, mungkin tidak begitu jelas bagi orang lain. Untuk mencapai komunikasi yang efektif dalam pengembangan perangkat lunak, mari berhenti percaya pada membaca pikiran dan katakan saja apa yang ada dalam pikiran kita.

Mengapa itu lebih mudah diucapkan daripada dilakukan? Mari kita menganalisis proses komunikasi terlebih dahulu.

Elemen komunikasi

Lebih dari 50 tahun yang lalu Roman Jakobson mempresentasikan model komunikasi yang dapat sangat berguna untuk menganalisis masalah dengan memahami satu sama lain. Perhatikan diagramnya:

Jelas bahwa komunikasi lebih dari sekedar pesan antara pengirim dan penerima. Konteks, saluran, dan kode mempengaruhi pesan dan dapat mengubah penerimaan kata-kata. Bahkan jika dua faktor sudah ada dan satu tidak ada, masalah akan tetap terjadi.

Karena kita berbicara tentang komunikasi dalam pengembangan perangkat lunak secara spesifik, kita harus menganalisis apa yang akan terjadi selama sesi penyempurnaan proyek jika kita melewatkan salah satu faktor yang disebutkan di atas. Dengan kata lain, mari kita lihat lebih dekat pentingnya komunikasi dalam manajemen proyek.

Selalu berikan konteks

Konteks memberikan penjelasan tentang gambaran yang lebih besar seputar masalah apa pun. Seseorang mungkin tidak melihat gunanya memberi tahu pengembang backend tentang kelompok sasaran produk. Tampaknya tim pengembangan hanya perlu mengetahui apa yang diperlukan di pihak mereka, dan bukan alasan bisnis di baliknya. Tidak ada yang bisa lebih jauh dari kebenaran.

Komunikasi dalam pengembangan perangkat lunak tidak hanya tentang kebutuhan fungsional. Semakin banyak konteks yang dapat Anda berikan kepada tim, semakin baik. Pengenalan yang tepat untuk konsep produk dapat memakan waktu dan mungkin terlihat seperti membuang-buang waktu dan uang tetapi, dalam jangka panjang, hal ini membantu untuk menghindari implementasi teknis yang buruk.

Jika tim mengetahui apa rencana jangka panjang untuk produk tersebut, mereka dapat memberikan solusi teknis yang lebih sesuai. Bahkan jika Anda tidak ingin menerapkan kode promosi di versi pertama aplikasi seluler pengiriman makanan Anda, sebaiknya beri tahu pemrogram perangkat lunak bahwa itu akan datang di versi berikutnya.

Untuk memastikan Anda telah memberikan konteks lengkap, tanyakan pada diri Anda apakah Anda telah membagikan semua informasi yang Anda miliki. Jika Anda mendapati diri Anda berpikir 'ini tidak penting bagi pengembang, mereka tidak perlu mengetahuinya, setidaknya tanyakan kepada tim apakah informasi ini dapat membantu mereka. Anda mungkin terkejut dengan faktor-faktor mana yang dianggap penting oleh orang lain.

Gunakan saluran dengan bijak

Saluran adalah faktor komunikasi yang sering dilupakan dalam manajemen proyek. Saat ini, ketika tim pengembangan sangat sering bekerja dari negara yang berbeda, ketika backend berada di India (sekarang, sebanyak 85% perusahaan Amerika mengalihdayakan sebagian besar operasi mereka ke India), pengembangan frontend di Polandia dan Pemilik Produk berada di AS , kita semua menggunakan banyak alat yang berbeda untuk berkomunikasi.

Memilih saluran yang tepat dan menggunakannya secara efektif mungkin akan berdampak. Panggilan konferensi, email, dan obrolan sangat bagus dan memungkinkan kami untuk terus berhubungan. Tetapi mereka juga menciptakan cara baru agar pesan tersebut disalahpahami.

Kita tidak bisa berpura-pura bahwa chatting online sama dengan melakukan percakapan di ruangan yang sama dengan tim. Yang bisa kita lakukan adalah mengingat keterbatasan komunikasi jarak jauh dan mencoba mengatasinya.

Kiat untuk komunikasi jarak jauh yang efektif

  1. Nyalakan kamera saat melakukan percakapan melalui panggilan konferensi. Tergantung pada situasinya, komunikasi non-verbal dapat mencapai lebih dari 50% pesan. Jauh lebih mudah untuk ditangkap jika Anda bersikap sarkastik ketika orang lain dapat melihat Anda, misalnya. Anda juga dapat melihat reaksi real-time dari lawan bicara Anda. Anda dapat melihat apakah orang lain bingung dengan kata-kata Anda atau tidak.
  2. Gunakan ruang terpisah pada obrolan untuk mengkategorikan percakapan. Ketika proyeknya kompleks, komunikasi dalam pengembangan perangkat lunak juga cenderung menjadi kompleks dan topik diskusi baru muncul terus-menerus. Ruang terpisah memungkinkan Anda untuk mengatur pesan dan menjangkau penerima yang tepat dengan lebih mudah.
  3. Tandai penerima pesan saat menulis melalui obrolan. Tidak mudah untuk mengikuti setiap percakapan. Adalah kepentingan terbaik Anda untuk memastikan orang yang Anda tuju diberi tahu.
  4. Dalam percakapan tertulis, gunakan emotikon jika sesuai. Jangan gunakan terlalu banyak tetapi biarkan penonton tahu bahwa Anda bercanda tentang penyebaran Jumat sore

Tinjauan kode komunikasi

Di awal pekerjaan, Anda perlu membuat kode umum untuk memahami istilah utama dengan cara yang sama. Bahkan yang 'jelas'. Misalnya, kami memiliki persyaratan: 'Sebagai pengguna, saya hanya dapat melakukan pemesanan di pagi hari agar produk yang dipilih dapat dikirim pada hari yang sama'. Terlihat jelas, bukan?

Nah… Jadi apa sebenarnya yang dimaksud dengan morning di fitur ini? Kapan pagi dimulai? Kapan matahari terbit atau pada jam yang tepat yaitu pukul 07.00? Jika pada pukul 07.00 zona waktu apa yang ada dalam pikiran Anda?

Komunikasi dalam manajemen proyek, khususnya di bidang TI, perlu sangat jelas. Tidak ada tempat untuk menebak. Dalam kasus kami, ini dapat menyebabkan situasi di mana produk tidak dapat dipesan sebelum pukul 10.00 (ketika pengembang utama bangun, itulah artinya pagi baginya) dan pemilik aplikasi kehilangan uang karena kurangnya pesanan dari awal.

Praktik terbaik dari kode komunikasi umum

  1. Buat glosarium dengan istilah yang umum digunakan. Ini membantu di awal proyek dan sangat berguna bagi anggota baru untuk memahami bahasa yang digunakan oleh tim pengembangan.
  2. Ada baiknya juga untuk menanyakan kepada penerima bagaimana mereka memahami persyaratan atau frasa tersebut. Dan saya tidak berbicara tentang yang tidak berguna: 'Apakah semuanya jelas?'. Jadilah spesifik. Tanyakan tentang detailnya. Pastikan Anda dipahami. Lakukan tinjauan kode komunikasi.

    Mari kita lihat contoh kita sekali lagi: untuk mencapai pemahaman yang sama tentang istilah “pagi”, mintalah orang yang menggunakannya untuk mengulanginya.
  3. Aturan praktisnya adalah lebih baik melakukan komunikasi berulang-ulang dalam pengembangan perangkat lunak daripada meninggalkan ruang untuk permainan tebak-tebakan.

Masalah keahlian

Selain semua metode komunikasi dalam manajemen proyek yang disebutkan di atas, ada satu hal penting lagi yang perlu diingat saat membahas persyaratan perangkat lunak. Tidak peduli apakah itu startup atau produk perusahaan, dalam banyak kasus, sebelum klien pergi ke rumah perangkat lunak, mereka menghabiskan cukup banyak waktu untuk memikirkan produk mereka. Semakin banyak waktu yang dihabiskan untuk itu, semakin berpengalaman mereka dalam topik tersebut.

Ketika Anda seorang ahli, mudah untuk melupakan bahwa tidak semua orang di sekitar Anda memiliki pengetahuan domain yang sama seperti yang Anda miliki. Ini berarti bahwa masalah yang jelas bagi Anda tidak begitu jelas untuk tim pengembangan yang Anda ajak bicara.

Bagaimana menghindari masalah keahlian

  1. Ambil langkah mundur ke awal perjalanan Anda dengan produk dan jelaskan kepada tim pengembangan semua keputusan yang telah Anda buat. Ketika mereka memahami bagaimana semuanya dimulai, mereka akan menemukan solusi teknis yang lebih baik atau bahkan mengisi celah dalam cara berpikir Anda.
  2. Biarkan tim mengajukan pertanyaan sebanyak yang mereka butuhkan. Tidak berlebihan dalam pepatah bahwa tidak ada pertanyaan bodoh.

Bagaimana berkomunikasi secara efektif dalam tim rekayasa perangkat lunak

Sejelas mungkin! Tidak ada tempat untuk miskomunikasi karena konsekuensinya bisa menyakitkan. Ingatlah bahwa tidak ada kejelasan objektif dan lebih baik mengulanginya beberapa kali daripada melewatkan informasi penting.

ikon bengkel

Ubah ide Anda menjadi produk digital yang luar biasa

Mari bekerja bersama

Ingatlah ketiga faktor komunikasi dan periksa kembali untuk melihat apakah pesan Anda dipahami seperti yang Anda maksudkan. Seiring waktu, komunikasi dalam pengembangan perangkat lunak akan lebih mudah bagi Anda, dan menjelaskan persyaratan dengan benar tidak akan menjadi masalah lagi.

Jika Anda mencari rumah perangkat lunak yang ahli dalam pengembangan aplikasi DAN komunikasi – tidak perlu mencari lagi!

Bicaralah dengan spesialis Miquido kami dan wujudkan ide Anda!