Apa yang harus dijawab oleh pelanggan yang menanyakan satu dari dua teknologi yang setara yang harus digunakan?

14

Sebagai seorang freelancer, saya sering ditanya oleh pelanggan saya apa yang harus mereka pilih antara elemen yang sama, yang keduanya tidak lebih baik dari yang lain. Contoh:

"Apakah saya perlu situs web e-commerce saya menggunakan PHP atau ASP.NET?"

"Apakah saya perlu meng-host layanan web biasa ini di Cloud atau menggunakan layanan hosting biasa?"

"Yang mana yang lebih baik untuk situs web baru saya: MySQL atau Oracle?"

dll.

Mungkin ada paling banyak 1% kasus di mana pilihannya relevan, dan ada alasan nyata dan objektif untuk menggunakan satu sama lain, berdasarkan metrik dan studi yang tepat. Dalam semua kasus lain, itu tidak masalah sama sekali. Ini sama sekali, sama sekali tidak relevan, baik karena tidak ada implikasi¹, atau karena implikasi itu terlalu kecil untuk diperhitungkan ², atau, akhirnya, karena tidak mungkin untuk memprediksi implikasi tersebut³.

Jika Anda tahu satu hal dan bukan yang lain, jawaban untuk pertanyaan itu mudah:

“Anda bisa menulis aplikasi dalam C # atau Java, keduanya mungkin setara dalam kasus Anda. Perhatikan bahwa saya adalah pengembang C #, jadi jika Anda memilih Java, saya tidak akan dapat mengerjakan proyek Anda dan Anda perlu mencari freelancer lain. "

Ketika Anda tahu kedua teknologi, Anda tidak bisa menjawabnya.

Dalam hal ini, bagaimana menjelaskan kepada pelanggan bahwa pertanyaan yang diajukannya tunduk pada flamewar dan tidak memiliki konsekuensi nyata pada proyeknya?

Dengan kata lain, bagaimana menjelaskan bahwa Anda memilih untuk menggunakan satu teknologi daripada yang setara karena alasan yang terkait dengan sumber daya manusia, tanpa memberi kesan tidak profesional atau tidak peduli dengan proyek?


¹ Contoh: Apakah MySQL lebih baik (lebih buruk?), Kinerja-bijaksana, dibandingkan dengan Oracle, untuk situs web pribadi yang akan diakses oleh, oh, mari optimis, dua orang per hari?

² Contoh: untuk proyek tertentu, saya diminta untuk menilai apakah hosting Windows Azure akan lebih murah daripada hosting aplikasi yang sama pada penyedia hosting ASP.NET yang terkenal. Biaya yang dikeluarkan persis sama.

³ Contoh: pelanggan Anda memiliki gagasan tentang aplikasi masa depan (gagasan itu sendiri sangat kabur). Tidak ada rencana bisnis, tidak ada persyaratan, tidak ada sama sekali. Hanya sebuah ide. Anda ditanya apakah Java lebih baik daripada C # untuk aplikasi ini. Apa yang kamu jawab

Arseni Mourzenko
sumber

Jawaban:

36

bagaimana menjelaskan bahwa Anda telah memilih untuk menggunakan satu teknologi daripada yang setara karena alasan yang terkait dengan sumber daya manusia, tanpa memberi kesan tidak profesional atau tidak peduli dengan proyek?

Baik. Anda mengatakan hal itu:

Dalam hal persyaratan untuk proyek ini, teknologi X dan teknologi Y sama-sama cocok untuk tugas tersebut, sehingga pertimbangan teknis tidak masuk ke dalamnya.

Lebih mudah untuk menemukan orang-orang berbakat dengan pengetahuan tentang teknologi yang dipilih (atau domain masalah), itulah mengapa itu dipilih.

Atau - untuk tujuan proyek ini, menggunakan teknologi Y akan lebih hemat biaya.

Katakan itu seperti itu.


Anda mungkin ingin menemukan analogi yang dapat dihubungkan oleh pelanggan. Sesuatu seperti - untuk tujuan pergi dari Eropa ke AS, Anda bisa naik Boeing 747 atau Airbus 380. Apakah penting yang mana? Tidak untuk pelanggan, selama mereka sampai di sana dan teknologinya sama-sama sesuai dengan persyaratan :)

Yang mana yang dipilih? Mana pun maskapai beroperasi ...

Oded
sumber
13
+1 Beberapa kesalahan ketik- Boing 747 terdengar menyenangkan. Saya membayangkan tongkat pogo raksasa ...
MarkJ
4
+1 untuk Boing 747 (Ya, dan bagian "orang-orang berbakat") - Saya memikirkan kastil tiup yang kadang-kadang terlihat di pesta ulang tahun anak-anak
Izkata
1
Jika saya klien, saya mungkin menjawab, "Saya tidak tahu - tetapi saya ingin berpikir pilotnya."
psr
7

Saya pikir premis Anda, bahwa keputusannya sebagian besar arbitrer, patut dipertanyakan. Saya setuju Anda tidak ingin berakhir dalam kelumpuhan analisis di mana Anda memiliki pertemuan komite berbulan-bulan, tetapi patut dipertimbangkan. Dilihat dari tingkat tinggi, pilihan teknologi jarang sekali berubah-ubah. Ini adalah kunci strategi bisnis karena sangat memengaruhi ke mana perusahaan dapat pergi di masa depan, dan peran pengembang untuk memandu perusahaan melalui proses pengambilan keputusan.

Spesifikasi spesifik dari teknologi ini, seperti penggunaan B-tree dari MySQL dibandingkan dengan Oracle, atau sintaksis PHP versus ASP.NET , tentu saja terbuka untuk banyak perdebatan agama di antara para programmer dan akan benar-benar sesuai dengan selera Anda sendiri. Karena konsultan yang serupa dengan Anda dapat dengan mudah memiliki pendapat yang sangat berbeda, hal-hal tersebut memang agak sewenang-wenang. Dan cukup mapan bahwa setiap pengembang yang kompeten dalam teknologi tertentu akan melakukan pekerjaan dengan baik. Jadi masalah yang lebih penting untuk bisnis bukanlah masalah bahasa, tetapi pertanyaan tingkat tinggi seperti:

  • Apa skenario penyebarannya? Teknologi tertentu mendukung pendekatan yang lebih mudah, terutama jika ada layanan cloud hosting seperti Heroku . Beberapa perusahaan akan menyukainya, yang lain perlu meng-host sendiri, memiliki keberadaan administrator sistem yang lebih kuat, dll.

  • Apa umur proyek dan ruang lingkupnya? PHP, misalnya, bisa dibilang lebih mudah daripada Java untuk memulai proyek, tetapi lebih sulit untuk mengukur dan mempertahankannya selama bertahun-tahun.

  • Apa jenis pengembang yang akan menarik teknologi? Untuk Java, Anda kemungkinan besar akan mendapatkan pengalaman bisnis. Untuk PHP, Anda bisa mendapatkan lebih banyak jenis crossover designer atau administrator sistem. Untuk Node.js , Anda akan mendapatkan lebih banyak pengembang front-end dan eksperimental, untuk Haskell, kerumunan akademis, dll. Semua stereotip yang saya tahu, tetapi memberi bisnis beberapa petunjuk. Masing-masing kelompok ini memiliki budaya sendiri, harapan tentang pembayaran dan lingkungan kerja, dan cara-cara bekerja satu sama lain dan seluruh organisasi.

  • Apa ketersediaan pengembang? Dengan asumsi pengembang harus hadir secara fisik, lokal tertentu memiliki ekosistem tertentu. Di kota yang penuh dengan startup, akan ada banyak Ruby on Rails dan pengembang PHP, di kota yang penuh dengan departemen pemerintah, akan ada banyak Java / MS, dll. Sebagian besar bahasa pemrograman di dunia harus dikesampingkan hanya atas dasar ini.

Itu hanya beberapa contoh. Faktor mana yang paling penting akan tergantung pada situasi, tetapi poin utama di sini adalah bahwa perusahaan perlu secara sadar mengadopsi teknologi yang sesuai dengan strategi, budaya, dan keadaan mereka.

mahemoff
sumber
4

Saya akan memberikan pelanggan sebuah matriks perbandingan objektif tentang kelayakan menggunakan teknologi itu. Sebagai contoh:

"Yang mana yang lebih baik untuk situs web baru saya: MySQL atau Oracle?"

Dalam matriks Anda:

  • Biaya
  • Digunakan di rumah
  • Skalabilitas
  • Pengalaman / Keakraban
  • Dukungan
  • Alat
  • Sudah Digunakan (Dikerahkan)
  • Kemudahan Pengembangan
  • Keakraban pengembangan

Dll

Bergantung pada berapa banyak item dalam matriks Anda, yang satu harus dengan cepat menghasilkan skor dan menentukan kelayakan menggunakan teknologi itu dibandingkan yang lain. Dalam beberapa kasus MySQL mungkin lebih baik, di Oracle lain.

Jon Raynor
sumber
4

Jelaskan dalam istilah yang mereka pahami - uang. Anda dapat memberi tahu mereka bahwa Anda memilih X daripada Y karena, meskipun keduanya cocok untuk proyek tersebut, Anda lebih mengenal X daripada Y. Dan dengan demikian Anda akan dapat mengirimkan aplikasi dengan biaya lebih rendah kepada mereka ketika menggunakan X daripada jika itu ditulis menggunakan Y.

GrandmasterB
sumber
1
Yup, tidak ada yang salah dengan ini menjadi jawabannya. Jika Anda tahu C # lebih baik daripada Java, bisa dipastikan Anda akan lebih produktif menggunakan C #.
Andy
2

"Apakah kamu lebih suka mengendarai Ford atau Chevy?" akan menjadi analogi penggerak yang saya buang untuk melihat apakah mereka dapat menerima gagasan bahwa pertanyaannya tidak ke mana-mana. Pertanyaan serupa bisa jadi, "Mana yang lebih baik hamburger atau pizza?" di mana tanpa menambahkan lebih banyak kendala, pertanyaan memiliki beragam kemungkinan jawaban yang bisa diberikan.

Cara lain untuk melihat ini adalah dengan bertanya mengapa ini penting untuk diketahui dan tergantung pada bahan tambahan apa yang dapat ditemukan dengan mengklarifikasi pertanyaan ini dapat mengarah pada jawaban yang lebih baik. Beberapa orang mungkin bertanya-tanya, "Apa yang digunakan untuk membangun situs e-commerce saya?" meskipun mereka lebih suka mencoba menjadi mengesankan dan melemparkan beberapa kata buzz.

JB King
sumber
8
Contoh Ford / Chevy dan Hamburger / Pizza tampaknya tidak responsif / kurang ajar. Saya akan jengkel dengan tanggapan seperti itu.
Robert Harvey
4
Dan jawabannya selalu Pizza;)
Izkata
2
@Izkata: ... dimakan dalam Ford.
FrustratedWithFormsDesigner
2
Hati-hati, Ford vs Chevy bisa menjadi perdebatan agama di beberapa bagian. Seorang pria bisa terluka.
Wyatt Barnett
2

Sudah banyak tanggapan yang baik, tetapi satu hal yang saya perhatikan belum disebutkan: ini adalah peluang bagus untuk pengungkapan penuh pada bagian Anda. Sebagai contoh,

"Sekarang aku mencari nafkah terutama dari teknologi <foo>, jadi aku tidak sepenuhnya netral. Namun ..."

Saya benar-benar berpikir Anda mendapatkan kredibilitas dengan pernyataan seperti ini.

Scott C Wilson
sumber
1

Ada beberapa kasus yang jarang terjadi di mana satu teknologi jelas lebih rendah dari yang lain - "Haruskah saya mengembangkan situs web saya dengan Python atau Cobol?", Tetapi sebagian besar merupakan pertanyaan tentang kuda untuk kursus.

Ada metodologi yang saya gunakan untuk memutuskan teknologi mana yang cocok untuk klien: -

  1. Apa yang mereka gunakan saat ini? Lebih banyak yang sama biasanya lebih baik daripada sesuatu yang baru.
  2. Apakah teknologi saat ini memiliki kendala yang akan dilampaui oleh proyek baru? Misalnya, mereka menggunakan SQLite , tetapi mereka sekarang mengharapkan 100 pengguna untuk membuat pembaruan secara bersamaan.
  3. Jika teknologi saat ini tidak cocok, maka pilih antara open-source paling populer dan pemimpin pasar komersial.
  4. Apakah pemimpin pasar secara signifikan lebih baik daripada penawaran sumber terbuka, dan, apakah ada perbedaan yang signifikan dengan proyek saat ini?
  5. Setelah mencari open source atau komersial, coba lihat di dua penawaran terdekat yang bersaing dan lihat apakah mereka lebih cocok.

Sebagian besar waktu pilihan berhenti di langkah kedua. Jika klien menggunakan Acme Widgets , memiliki orang yang berpengalaman dalam menggunakan Acme Widgets, memiliki seperangkat standar, kontrol perubahan dan prosedur manajemen yang dibangun di sekitar Acme Widgets dan Acme Widgets dapat melakukan pekerjaan itu maka Acme Widgets adalah cara untuk pergi - bahkan jika Ezee DohDah secara teknis lebih baik untuk tugas ini!

James Anderson
sumber