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?
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 ...)
sumber
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.
sumber
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.
sumber
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.
sumber
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.
sumber
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.
sumber
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.
sumber
TIDAK, kecuali itu memecahkan masalah dunia nyata
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:
sumber
(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.
sumber