Apa hubungan yang tepat antara pengembang perangkat lunak dan pelanggan bisnis?

10

Profesional TI adalah pakar yang dipercaya dengan aset TI bisnis atau organisasi. Sebagai profesional tepercaya, kami memiliki tanggung jawab yang melampaui hal-hal yang diharapkan dipahami atau disadari oleh pelanggan non-TI. Jadi saya pikir hubungan yang tepat antara seorang profesional TI dan pelanggan internal / eksternalnya lebih mirip antara seorang dokter dan pasien daripada seorang pelayan dan master. Apakah saya benar?

Inilah analogi untuk dipikirkan. Seorang pasien bersikeras bahwa kakinya perlu diamputasi. Dokternya tidak setuju tetapi pasien tidak dapat dibujuk. Haruskah dokter mengamputasi kaki hanya untuk memuaskan pasien?

Analogi lain. Seorang pelanggan menginginkan seorang insinyur sipil untuk membangun jembatan ke desain yang tidak aman. Bahkan ketika insinyur menjelaskan bahwa itu tidak aman, pelanggan tidak mempercayainya. Haruskah insinyur membangun jembatan?

Saya pikir jawaban yang tepat di kedua analogi ini adalah TIDAK. Profesional medis dan insinyur profesional seharusnya dalam posisi percaya dan harus melakukan penilaian mereka sendiri, bahkan dalam menghadapi ketidaksetujuan pasien / pelanggan. Bukankah seharusnya hal yang sama berlaku untuk profesional TI ketika profesional TI memenuhi syarat untuk membuat keputusan tetapi pelanggannya tidak?

nvogel
sumber
2
Di sebuah konferensi, saya pernah mendengar seorang pembicara berkata, "Apa pun yang Anda lakukan, jangan biarkan pelanggan memiliki akses langsung ke programmer utama Anda. Jika Anda melakukannya, mereka benar - benar akan memerkosanya." Saya pikir ini akan menjadi hubungan yang salah antara pengembang perangkat lunak dan pelanggan dan penggunaan terburuk secara harfiah yang pernah saya dengar.
Jon Hopkins
Dan di sini, di tempat kerja saya, ini adalah prinsip dasar bahwa pelanggan selalu memiliki akses langsung ke programmer utama!
Frank Shearar
Untuk nilai-nilai kecil "harfiah", mungkin?
Mawg mengatakan mengembalikan Monica

Jawaban:

9

Ini sedikit lebih rumit daripada di contoh Anda. Itu karena dalam banyak kasus, pengembang perangkat lunak adalah pakar dalam hal-hal yang berhubungan dengan TI (yaitu pemrograman, desain basis data, dll.), Tetapi pelanggan bisnis adalah pakar dalam domain masalah. Dalam kasus seperti itu, hubungan yang tepat adalah hubungan dua pakar di bidang berbeda yang bekerja sama untuk menciptakan solusi yang baik.

Bagaimanapun, seperti pengrajin yang baik, pengembang perangkat lunak diwajibkan untuk memperingatkan pelanggan ketika pelanggan menginginkan hal-hal yang tidak pantas. Jika Anda meminta pelukis dan dekorator Anda untuk merapikan kamar mandi, ia juga wajib memperingatkan Anda bahwa ini tidak akan berhasil. Tetapi ketika klien dengan keras kepala bersikeras pada ide buruknya, tidak apa-apa baginya untuk menandatangani formulir "Anda telah diperingatkan secara eksplisit" dan mengimplementasikan apa yang diinginkannya (selama tidak ada risiko kesehatan, risiko hukum, dll. Dalam melakukan itu).

pengguna281377
sumber
1
+1 Saya juga berpikir bahwa mengamputasi kaki tanpa alasan dan membangun jembatan yang tidak aman jauh lebih berbahaya daripada mengirimkan aplikasi yang tidak sesuai dengan kebutuhan nyata pelanggan. Namun, seperti kata dportas, peran spesialis TI adalah untuk memperingatkan pelanggan tentang hal itu. Dan itu hanya etika. Pengacara yang baik tidak akan menyarankan pelanggannya untuk menuntut pihak lain jika dia yakin akan kalah. (tapi menangkan biaya per jamnya)
1
+1 - Saya telah melihat setidaknya sebanyak contoh pengembang tidak benar-benar memahami bisnis klien karena saya meminta mereka mengidentifikasi klien dengan menanyakan hal yang salah dan mengidentifikasi apa yang benar-benar dibutuhkan . Itu adalah mereka akan sering mengidentifikasi dengan benar bahwa ada masalah dengan apa yang telah disarankan, hanya solusi mereka yang pada akhirnya masih cacat. Pendekatan yang tepat adalah saling menghormati satu sama lain pengetahuan domain dan diskusi terbuka tentang potensi masalah dan solusi potensial. Umumnya pelanggan bersedia mendengarkan.
Jon Hopkins
1
Jadi di mana Anda semua bekerja bahwa "pelanggan bisnis" sebenarnya adalah harapan dalam domain masalah? Terlalu sering saya temukan bukan itu masalahnya ...
CaffGeek
Chad: Dalam pengalaman saya, beberapa perusahaan perangkat lunak berkonsentrasi pada penjualan ke manajemen tingkat atas, yang kemudian memaksa manajemen tingkat menengah untuk menerapkan apa pun yang terdengar bagus di atas kertas. Di perusahaan seperti itu, Anda jarang menemukan "pelanggan bisnis" yang juga ahli dalam domain masalah, karena ada kecenderungan bahwa manajer yang sama yang menandatangani kesepakatan tetap dengan orang yang bisa dihubungi, baik masuk akal atau tidak. Perusahaan lain lebih suka menjual ke departemen terkait, sehingga orang yang dapat dihubungi biasanya mengetahui pekerjaannya.
user281377
1

Baik dalam contoh dokter dan insinyur, profesional adalah konsultan yang menolak untuk melakukan layanan. Di toko IT, Anda tidak.

Kita adalah karyawan, bukan konsultan, jadi kita tunduk pada aturan emas: dia yang memberi kita aturan emas. Programmer yang mengabaikan itu menjadi arogan dan bodoh. Saya telah mendengar banyak sekali keluhan tentang hal itu dari para pebisnis yang muak dengan staf TI yang tidak akan menjelaskan keputusan mereka kepada siapa pun di luar imamat mereka yang picik, dan yang menolak permintaan semua orang di luar organisasi mereka yang dianggap masuk akal. Saya telah melihat manajer TI dipecat karena hal semacam itu.

Sebagai seorang karyawan, padanan Anda dengan konsultan yang menolak untuk melakukan suatu layanan dilindungi oleh kutipan dari Napoleon Bonaparte:

Setiap komandan yang bertanggung jawab untuk melaksanakan rencana yang ia anggap buruk atau malapetaka adalah kriminal. Dia harus menunjukkan kelemahannya, bersikeras bahwa itu harus diubah dan akhirnya mengundurkan diri daripada menjadi alat penghancuran orang-orangnya sendiri.

Anda harus memilih pertempuran Anda. Apakah Anda diminta melakukan tindakan keji dan tidak etis sehingga Anda ingin berhenti? Jika tidak, maka jelaskan masalahnya kepada para pemangku kepentingan dan negosiasikan sesuatu yang masuk akal, atau lakukan saja.

Dan jangan melakukan hal-hal yang belum pernah Anda lakukan. Orang yang melakukan itu disebut "meriam longgar".

Kebetulan, saya telah berhenti dari satu pekerjaan karena mereka membunuh proyek dan saya pikir itu adalah langkah yang sangat bodoh. Beberapa bulan setelah saya pergi, mereka datang untuk setuju dengan saya, dan meminta saya kembali sebagai kontraktor untuk melakukan proyek, tetapi saya sudah berkomitmen di tempat lain.

Bob Murphy
sumber
2
Banyak pengembang adalah konsultan! Saya satu.
Amir Rezaei
1
Saya seorang konsultan!
nvogel
Apalagi insinyur dan dokter bisa menjadi karyawan. Saya yakin setiap kereta api besar memiliki insinyur sipil dalam penggajian, ketika mereka ingin membangun atau memodifikasi jembatan.
David Thornley
4
Saya adalah seorang konsultan penuh waktu dari 1991 hingga 2006, dan kembali ke sana penuh waktu di bulan Juli. Saya pikir jika seorang klien ingin membayar saya untuk melakukan sesuatu yang bodoh tetapi tidak tidak etis atau berbahaya, dan bersikeras atas keberatan saya ... hei, itu uang mereka untuk dihamburkan. Dan saya biasanya menemukan klien saya lebih tahu tentang bisnis mereka daripada saya, sehingga hal-hal yang mereka inginkan yang tampak gila pada awalnya masuk akal setelah saya mengerti lebih banyak. Saya menemukan saya diminta untuk melakukan hal-hal bodoh kurang sebagai konsultan dibayar per jam daripada sebagai karyawan yang lembur "bebas" untuk majikan.
Bob Murphy
1

Dokter mengambil sumpah untuk 'tidak membahayakan' dan secara hukum diperlukan untuk menempatkan kepentingan terbaik pasien pertama . Seorang dokter yang melakukan operasi yang tidak perlu dan berbahaya (bahkan jika pasien menuntutnya) akan membuka diri terhadap gugatan malpraktek dan bisa kehilangan lisensi.

Demikian pula, seorang insinyur sipil, yang bertanggung jawab untuk proyek konstruksi, memiliki kewajiban hukum untuk memastikan bahwa ia memenuhi semua kode bangunan yang berlaku. Seperti halnya dokter, seorang insinyur yang melakukan apa yang disarankan dalam pertanyaan, kemungkinan akan menghadapi tindakan hukum.

Ini sangat berbeda dari situasi pengembang perangkat lunak yang diminta untuk melakukan sesuatu yang mereka tahu tidak praktis. Tidak ada konsekuensi hukum untuk mengambil proyek, bahkan jika Anda tahu itu pada dasarnya membuang-buang uang.

Yang mengatakan, seorang pengembang perangkat lunak harus selalu memberikan saran terbaiknya pada proyek apa pun. Namun, jika orang yang membayar tagihan tidak mau mendengarkan dan bersikeras melakukan tindakan yang tidak bijaksana, pengembang tidak memiliki kewajiban moral atau hukum untuk menolak.

Keris
sumber
2
Bisa jadi proyek perangkat lunak mungkin membahayakan nyawa dan anggota tubuh. Seperti dalam database rekam medis atau sistem kontrol untuk pesawat terbang misalnya. Meskipun jauh lebih mungkin bahwa mungkin ada faktor etis atau peraturan yang menjadi perhatian sah para profesional TI - seperti privasi dan aturan perlindungan data atau undang-undang IP.
nvogel
@dportas Itu mungkin tetapi jika demikian ada kemungkinan hukum dan peraturan yang mengatur konstruksi dan sertifikasinya. Jelas Anda tidak boleh melanggar hukum untuk klien Anda. Namun, ini jarang menjadi masalah dan, dilihat dari contoh-contoh yang dikutip oleh OP, bukan apa yang ditanyakan.
Kris
0

Bukankah seharusnya hal yang sama berlaku untuk profesional TI ketika profesional TI memenuhi syarat untuk membuat keputusan tetapi pelanggannya tidak?

Menurut pendapat saya YA!

Jika Anda akan memiliki hubungan panjang dengan pelanggan Anda.

Amir Rezaei
sumber
0

Saran saya dalam situasi ini adalah untuk memperingatkan pelanggan dalam komunikasi tertulis dan menyimpan salinannya (email, perjanjian apa pun). Jika pelanggan bersikeras lalu lanjutkan dan lakukan (Ini kadang-kadang dikenal sebagai ketidaksepakatan dan komitmen). Pastikan saja bahwa jika ada hal buruk terjadi, Anda harus mampu membela diri.

Manoj R
sumber
0

Perbedaan utama adalah perizinan. Dokter dan insinyur sipil memegang lisensi profesional, dan membutuhkan mereka untuk melakukan pekerjaan mereka dan mencari nafkah, dan mereka juga memiliki tanggung jawab pribadi hukum untuk lebih banyak hal.

Hal ini dapat memberi tekanan lebih besar pada dokter dan insinyur, ketika didorong untuk melakukan sesuatu yang dapat menimbulkan risiko pribadi dan profesional, tetapi memberi mereka lebih banyak tekanan balik, karena mereka dapat berpendapat bahwa mereka tidak dapat melakukan sesuatu karena etika profesional, dan bahwa mereka akan kehilangan lisensi mereka jika mereka melakukannya. Ancaman untuk memecat seorang insinyur sipil karena menolak menandatangani rencana kehilangan kekuatan ketika konsekuensi dari penandatanganan adalah bahwa insinyur tersebut akan kehilangan lisensi, dan tetap tidak dapat bekerja di lapangan.

Ini terhubung dengan persyaratan hukum. Saya tidak dapat meresepkan banyak obat, dan jika saya melakukan hal-hal tertentu kepada seseorang yang secara hukum dapat dilakukan oleh dokter saya akan melakukan kejahatan. Demikian pula, sebagian besar pemerintah di sekitar sini tidak akan mengizinkan perusahaan untuk membangun jembatan tanpa insinyur sipil berlisensi yang menyetujui desain.

Sudah ada proposal untuk pemrogram lisensi, tapi tidak ada yang saya tahu pernah pergi ke mana pun. Mungkin perlu memiliki persyaratan hukum untuk memiliki programmer yang berlisensi untuk mengerjakan proyek terlebih dahulu, dan itu tidak akan terjadi dalam waktu dekat. Ada organisasi profesional dengan kode etik yang sebanding dengan kode medis atau teknik, tetapi tanpa kekuatan hukum, mereka lebih seperti panduan untuk kode etik pribadi.

David Thornley
sumber
0

Saya tidak memikirkan dimensi etis, tetapi hubungan yang tepat dengan basis pelanggan / pengguna bisa sangat bervariasi tergantung pada jenis pasar. Di tempat saya bekerja, kami memiliki produk yang sangat teknis, dan pengguna yang sangat teknis, dan pendapatan rata-rata per pelanggan cukup tinggi. Jadi batas bisnis kami agak kabur: kami memiliki pelanggan dan pengecer nilai tambah yang bertindak sebagai konsultan, yang membantu dalam checkout kode dan bahkan mungkin mengirimkan modul untuk dimasukkan ke dalam perangkat lunak. Jika kami menjual aplikasi pasar massal, model ini tidak masuk akal.

Omega Centauri
sumber