Apakah produk yang digerakkan oleh pengembang adalah hal yang baik?

12

Saya bekerja di perusahaan tempat CEO mengelola tim produk, yang mengejek fitur dan menjatuhkan pangkuan pengembang untuk kemudian mengimplementasikan fitur tersebut. Ada beberapa iterasi tentu saja, pendapat pengembang dihormati. Tetapi saya bertanya-tanya seberapa efektif proses ini.

Jason Calacanis baru saja menulis :

Zuckerberg Doctrine: Developers mendesain produk dengan kecepatan dan fungsionalitas yang meningkat secara signifikan dibandingkan dengan manajer dan desainer produk, melebihi potensi kesalahan dan kekurangan.

...

Lalu itu benar-benar mengejutkan saya: startup yang digerakkan oleh pengembang selalu menghasilkan produk lebih cepat.

Ini masuk akal: orang-orang nonteknis kita berdiskusi dan berdebat sementara Zuckerberg sedang mengkodekan fitur berikutnya. Inilah sebabnya mengapa tidak ada yang bisa mengikuti Facebook!

Sementara MySpacers memperdebatkan cara melakukan iterate pada produk mereka, Facebook hanya mencoba berbagai hal.

Apakah ini benar-benar berfungsi lebih baik dalam praktik?

rhettg
sumber

Jawaban:

14

Produk harus digerakkan oleh pelanggan.

Jika pelanggan Anda adalah pengembang perangkat lunak, dan Anda menggunakan produk Anda sendiri (yang seharusnya Anda lakukan), maka saya kira Anda bisa menjadi pelanggan terbaik Anda sendiri.

Tetapi sebagai pengembang, perspektif Anda sudah dikompromikan oleh apa yang terjadi di bawah tenda. Anda perlu pelanggan untuk memberi tahu Anda bahwa apa yang Anda lakukan dengan antarmuka pengguna atau alur kerja aplikasi konyol dan tidak masuk akal.

Sebagai pengembang, Anda perlu mengetahui pertanyaan yang tepat untuk ditanyakan kepada para pemangku kepentingan sehingga Anda dapat menggabungkan pengalaman Anda dengan keinginan mereka untuk menghasilkan produk terbaik.

Robert Harvey
sumber
Saya sepenuhnya setuju bahwa produk harus didorong oleh pelanggan. Bagi saya Linux adalah contoh bagaimana produk yang digerakkan oleh pengembang yang baik tidak berfungsi di pasar pengguna akhir, karena kebutuhan pengguna akhir tidak dikagumi.
Simon
1
+1 untuk yang didorong oleh pelanggan, dengan yang satu ini berdalih: bahkan jika Anda menggunakan produk Anda sendiri, Anda secara definisi bukan pelanggan Anda. Anda tidak akan pernah melihat produk Anda dengan cara yang sama seperti yang dilakukan pelanggan. Itu sebabnya Anda membutuhkan penasihat pelanggan dan orang-orang manajemen produk yang dapat melihatnya seperti yang dilakukan pelanggan.
Dan Ray
@Simon: Linux berfungsi dengan baik untuk banyak orang. Ini sebagian besar dirancang untuk kelompok pelanggan yang berbeda daripada, katakanlah, MS Windows.
David Thornley
6

Sebagai pengembang, saya ingin berpikir bahwa kami melakukan pekerjaan yang lebih baik daripada manajer dan desainer. Tapi saya pikir Anda tidak bisa menyamaratakan.

Salah satu masalah dengan pengembang melakukan desain adalah bahwa mereka mungkin tidak berhubungan dengan kebutuhan pengguna akhir, dan mungkin tidak pandai mengajukan pertanyaan yang tepat kepada orang yang tepat. Seorang manajer, dan khususnya perancang yang baik mungkin lebih baik dalam mencari tahu ini.

Namun, saya pikir hal yang lebih meyakinkan bukanlah orang-orang tetapi bagaimana mereka mendekati mereka mendekati masalah. Pendekatan yang berhasil adalah turun dan mengimplementasikan hal-hal, daripada menghabiskan pertemuan tanpa akhir dan menebang pohon untuk menghasilkan desain "ideal". Ini benar-benar Agile versus Waterfall ditinjau kembali.

(Seharusnya jelas bahwa Facebook adalah contoh bagaimana TIDAK untuk melakukan sesuatu juga. Misalnya, pendekatan angkuh mereka terhadap masalah privasi mulai membuat mereka dalam masalah hukum ...)

Stephen C
sumber
Saya setuju sampai paragraf terakhir. Apakah benar-benar perlu untuk mengangkat masalah privasi dalam pertanyaan ini?
Jason Baker
@Jason - Saya pikir ini relevan. Ini menggambarkan masalah yang bisa Anda hadapi dengan pendekatan "turun dan menerapkannya". Pengembang Gung-ho biasanya tidak memikirkan privasi. Fakta bahwa itu adalah orang-orang Zuckerburg sangat ironis.
Stephen C
@ Alasan saya pikir itu relevan karena menyoroti kelemahan metode just-do-it adalah bahwa kadang-kadang bisa membuat Anda mendapat masalah yang bisa dihindari dengan pertimbangan lebih lanjut. Ini tentu saja risiko dan pertukaran.
Davy8
1

IMHO, saya akan mengatakan Anda sebagian benar. Kedengarannya masuk akal. Tetapi, ini mungkin tidak berlaku untuk semua produk / perangkat lunak. Jadi, saya akan begini. Seorang desainer haruslah orang yang memiliki banyak pengalaman pengembangan di bawah ikat pinggangnya DAN bukan hanya itu - orang itu masih harus coding dan tidak hanya mendesain.

k25
sumber
1

Jawaban singkat: kadang-kadang.

Jawaban Panjang: Pengembangan drive pelanggan berfungsi jika Anda tahu siapa pelanggan Anda dan mereka tahu apa yang mereka inginkan.

Pengembangan yang digerakkan oleh pengembang memiliki manfaat bagi orang yang belum menyadari bahwa mereka akan merasakan manfaatnya. Dengan kata lain, terkadang pelanggan tidak selalu tahu apa yang mereka inginkan. Persyaratan baru dapat berasal dari pengalaman yang ada tentang bagaimana produk yang ada kurang. Tidak ada pelanggan untuk Facebook, Zuckerberg menciptakan produk, jawaban sebelum pertanyaan. Sekarang didirikan, Facebook dipengaruhi oleh pelanggannya, tetapi sebelum dibuat dan selama pembuatan, itu adalah ide yang didorong oleh pengembang.

Pengembangan yang didorong oleh pelanggan sangat ideal untuk produk mapan, mungkin produk dewasa yang menghasilkan uang atau iterasi baru dari produk di pasar yang sama, di mana mengabaikan keinginan pelanggan akan sangat merugikan aliran pendapatan di masa depan.

Pengembangan yang didorong oleh pengembang adalah kegiatan sampingan, kegiatan prototyping, berada di dalam arena Google 20%, di mana pengembang mereka menghabiskan 20% dari waktu kerja mereka untuk proyek-proyek mereka sendiri.

therobyouknow
sumber
1

Untuk mendesain produk yang bagus, Anda perlu banyak pengetahuan tentang domain masalah. Produk umum-publik seperti facebook dapat digerakkan oleh pengembang, karena ini memecahkan masalah yang dimiliki pengembang juga: Bagaimana menghubungkan dan tetap berhubungan dengan teman dll. Hal yang sama bahkan lebih benar untuk produk yang ditujukan untuk pengembang perangkat lunak: Pengembang tahu apa IDE harus dilakukan dan bagaimana caranya.

Tetapi untuk banyak domain masalah lainnya, pengembang seringkali tidak cukup tahu. Bahkan dengan wawasan umum dan beberapa pengalaman, mereka akan sering cenderung menerapkan fitur keren atau fitur yang mudah diimplementasikan, tetapi tidak menambah banyak nilai bagi pelanggan dan membuat produk lebih kompleks. Ini adalah kasus di mana produk harus didorong oleh para ahli domain.

pengguna281377
sumber
Dan pakar domain kadang-kadang manajer, kadang pengembang, kadang CEO, kadang manajer produk, kadang orang yang mendukung pelanggan, dan kadang orang penjualan.
Jay Godse
1
Masalah yang lebih besar adalah bahwa sering orang berpikir bahwa mereka adalah pakar domain ketika mereka tidak. Saya telah melihat manajer produk dan CEO melanjutkan tentang masalah yang tidak pernah ada dalam benak pelanggan yang ditargetkan. Tentu saja, para manajer produk dan CEO ini tidak menghabiskan cukup waktu untuk berbicara dengan para pelanggan potensial untuk menemukan titik-titik kesulitan mereka.
Jay Godse
0

Saya pikir ini jelas pendekatan terbaik untuk produk yang berorientasi pengembang (seperti AWS atau Visual Studio), tapi saya tidak yakin itu jelas pendekatan yang lebih baik secara umum. Maksudku, saya biasanya melihat hal-hal terjadi sebaliknya: pengembang berdiri berdebat tentang pendekatan terbaik sementara orang-orang non-teknis dengan cepat membuat keputusan. Secara pribadi, saya cenderung mengatakan jawaban yang benar ada di suatu tempat di tengah. Harus ada manajer produk dengan kemampuan untuk menetapkan arah luas yang kemudian diterapkan oleh pengembang.

Jason Baker
sumber
0

Dalam banyak kasus, perangkat lunak yang digerakkan pengembang mungkin lebih baik daripada perangkat lunak yang digerakkan oleh manajer. Manajer melihat nilai terbanyak dalam fitur (kebanyakan fitur buzzwordish) yang terlihat bagus pada iklan atau dapat digunakan dalam pidato. Pengembang melihat nilai yang berbeda: kinerja, bug yang lebih sedikit, desain ramping, pemeliharaan. Itu hampir mengarah ke perangkat lunak yang lebih baik.

Tetapi yang terbaik adalah perangkat lunak yang digerakkan oleh pengguna. Pengguna benar-benar tahu apa yang mereka butuhkan, apa yang membantu mereka melakukan pekerjaan nyata mereka. Itu akan menjadi ideal.

Mnementh
sumber
0

Bagaimana jika Anda menghasilkan produk lebih cepat yang tidak ingin digunakan siapa pun?

Berfokus pada satu atribut (fungsi, waktu ke pasar, harga, kualitas, dll) dapat masuk akal untuk titik waktu tertentu. Misalnya, Apple dengan cepat mengeluarkan iPhone dan iPad keluar. Kualitas menderita sedikit tetapi cukup penting untuk menjadi yang pertama.

Saya pikir itu menyakitkan Anda, jika Anda fokus pada satu aspek hanya dalam jangka panjang.

Program Lenny
sumber
0

TIDAK, kecuali itu memecahkan masalah dunia nyata

  • Programmer biasanya suka memecahkan masalah, kadang-kadang untuk masalah yang belum ada :)
  • Pemrogram biasanya membuat GUI yang mengerikan, karena ini pemikiran sekunder
  • Sebagian besar masalah pengguna tidak sama dengan masalah programmer .
  • Dengan demikian produk yang digerakkan oleh programmer biasanya akan baik untuk programmer lain, tetapi tidak begitu baik untuk pengguna.

Juga Catatan tentang buku-wajah:

Keberhasilan face-book tidak ada hubungannya dengan kelebihan teknisnya, ini lebih merupakan ide babi yang baru saja tertangkap dengan sangat besar dan bola salju. Face-book et al hanya terjadi sekali dalam "Google Blue Moon".

Namun:

  • Jika seorang programmer memiliki masalah "pengguna" nyata, itu bukan masalah programmer. Maka kemungkinan itu hal yang sangat bagus. Jika pemangku kepentingan juga pengembang yang terkait dengan masalah adalah situasi yang ideal untuk solusi produk yang hebat.
Malam gelap
sumber
-1

(Ya ampun ... di mana saya baru saja membaca sesuatu seperti "Saya punya ide bagus! Yang saya butuhkan adalah pengembang."

Ide-ide besar adalah selusin sepeser pun. Menerapkan hal itulah yang penting. Jika pengembang adalah orang dengan ide bagus, ia bisa menerapkannya.

John
sumber
1
Maaf, tetapi ketika Anda mengeluarkan kata-kata hampa dan klise, saya hanya tidak melihat jawaban yang sebenarnya.
Jason Baker
1
Mayoritas saran yang saya dengar tentang kesuksesan melibatkan "Berhenti berbicara tentang ide yang bagus dan mulailah melakukan sesuatu untuk mewujudkannya." Pengembang yang menerapkan ide baiknya berhenti berbicara dan mulai melakukannya. Jadi jawaban untuk pertanyaan (dalam judul) adalah, "Ya, produk yang digerakkan oleh pengembang adalah hal yang baik." Jika itu klise maka saya minta maaf.
Yohanes