Saya diminta oleh seorang kolega untuk menjelaskan dengan jelas perbedaan antara pengembangan biasa dan penelitian dan pengembangan (R&D) dan tidak mampu melakukannya. Setelah membaca Wikipedia, saya masih belum memiliki jawaban yang tepat.
Menurut Wikipedia (sedikit dimodifikasi):
Ada dua model utama:
Dalam satu model, fungsi utama adalah mengembangkan produk baru ;
dalam model lain, fungsi utamanya adalah untuk menemukan dan menciptakan pengetahuan baru tentang topik - topik ilmiah dan teknologi untuk tujuan mengungkap dan memungkinkan pengembangan produk, proses, dan layanan baru yang berharga.
Model pertama membingungkan. Apakah itu berarti pengembangan (bukan R&D) terdiri secara eksklusif dalam menambahkan fitur-fitur baru ke suatu produk, menyelesaikan bug dan melakukan pemeliharaan? Bagaimana jika sesuatu yang sebelumnya dikembangkan sebagai fitur baru menjadi produk terpisah?
Model kedua kurang membingungkan, tetapi masih, bagaimana memenuhi syarat apakah sesuatu itu pengetahuan baru atau pengetahuan yang ada yang baru saja ditemukan kembali?
Kemudian, Wikipedia menambahkan bahwa perkembangan biasa berbeda dari R&D karena:
keuntungan hampir instan atau perbaikan segera.
Masih belum cukup jelas. Bagaimana cara memenuhi syarat "laba hampir instan"? Bagaimana jika suatu tugas memiliki keuntungan langsung tetapi membutuhkan penelitian yang berat? Atau jika itu dasar tetapi memiliki laba yang tidak pasti, seperti penegakan gaya umum atas basis kode?
Misalnya, apakah itu milik pengembangan atau R&D untuk:
Mengembangkan mesin yang mengabstraksi akses ke database, menyederhanakan dan memperpendek kode aplikasi lain (ada atau yang akan ditulis di masa depan) yang mana yang harus mengakses ke database?
Membangun arsitektur berorientasi layanan baru untuk seluruh organisasi sumber daya perusahaan, untuk beralih dari sekelompok aplikasi terpisah dan otonom ke satu set layanan web yang terorganisir dengan baik, saling berhubungan, seperti apa yang digunakan oleh Amazon?
Merancang protokol komunikasi baru untuk memungkinkan replikasi data yang lebih cepat antara dua pusat data perusahaan?
Bayangkan jenis pengujian perangkat lunak baru saat mengerjakan produk tertentu, mengetahui bahwa jenis pengujian ini akan meningkatkan / menyederhanakan proses pengujian?
Buktikan bahwa pemrograman fungsional lebih tepat daripada OOP untuk aplikasi tertentu, berdasarkan bukti, logika dan pengalaman sebelumnya?
Tingkatkan aplikasi yang ada dengan menambahkan gerakan pada layar taktil, setelah melakukan penelitian dan pengujian yang menunjukkan bahwa gerakan itu meningkatkan produktivitas pengguna dengan rasio setidaknya 1,4 untuk serangkaian tugas yang tepat?
Temukan cara untuk sangat meningkatkan efektivitas penggunaan daya (PUE) dari pusat data?
Buat Bahasa Domain-Khusus (DSL)?
Singkatnya, bagaimana saya bisa menentukan apakah saya sedang melakukan R&D sambil mengerjakan sesuatu?
sumber
Jawaban:
Pertanyaan bagus
Penting untuk membedakan antara 'Pembangunan' dan 'R&D.'
Riset / sumber yang bagus tentang topik ini:
sumber
Perbedaannya terletak pada ekspektasi.
Ketika saya bekerja di R&D, saya terutama diharapkan untuk memberikan hasil penelitian .
Ketika saya telah bekerja dalam pengembangan, saya terutama diharapkan untuk menyediakan perangkat lunak yang berfungsi .
Ini tidak sepenuhnya terpisah, dan mungkin ada area abu-abu yang cukup besar di antaranya. Dalam perkembangan, kadang-kadang terjadi bahwa saya diharapkan melakukan penelitian . Demikian juga, di salah satu proyek penelitian, saya ditugaskan untuk mengembangkan program tertentu.
sumber
Seperti yang dikatakan orang lain, R&D melibatkan penelitian. Bagi saya, penelitian sedang mengerjakan sesuatu yang tidak diketahui orang saat ini. Jika sudah dilakukan, itu bukan penelitian, meskipun mungkin memerlukan investasi waktu yang signifikan untuk mempelajari solusi yang ada dan literatur.
Tentang daftar Anda:
Banyak ORM ada. Kecuali jika Anda melakukan sesuatu yang benar-benar berbeda, saya tidak akan menganggapnya sebagai R&D.
Nggak.
Jika ini membaik pada protokol yang dikenal, maka saya akan mempertimbangkan R&D ini.
Bayangkan jenis pengujian perangkat lunak baru saat mengerjakan produk tertentu, mengetahui bahwa jenis pengujian ini akan meningkatkan / menyederhanakan proses pengujian?
Buktikan bahwa pemrograman fungsional lebih tepat daripada OOP untuk aplikasi tertentu, berdasarkan bukti, logika dan pengalaman sebelumnya?
Tingkatkan aplikasi yang ada dengan menambahkan gerakan pada layar taktil, setelah melakukan penelitian dan pengujian yang menunjukkan bahwa gerakan itu meningkatkan produktivitas pengguna dengan rasio setidaknya 1,4 untuk serangkaian tugas yang tepat?
Temukan cara untuk sangat meningkatkan efektivitas penggunaan daya (PUE) dari pusat data?
Buat Bahasa Domain-Khusus (DSL)?
Tak satu pun dari hal-hal ini tampaknya termasuk penelitian. Untuk memberikan contoh lain dari hal-hal yang akan saya pertimbangkan R & D:
Meningkatkan inferensi tipe dalam Scala, memungkinkan penyatuan yang lebih baik
Ciptakan pengoptimalan kompiler jenis baru
Buat database baru yang memiliki perbedaan signifikan dari yang sudah ada - katakanlah seperti CouchDB ketika itu dikandung
Kembangkan perpustakaan yang berfungsi dan dapat digunakan untuk pemrograman reaktif fungsional
Temukan exploit baru dalam perangkat lunak atau protokol yang ada
Temukan algoritma kompresi baru
sumber
Secara informal, cara saya mendefinisikannya (dan bagaimana saya secara umum melihatnya digunakan dalam praktik) adalah sesuatu seperti:
Ungkapan R & D digunakan untuk menandakan bahwa Anda tidak yakin tentang pendekatan yang tepat untuk mencapai sesuatu, dan / atau jika itu bahkan dapat dilakukan, dan seberapa baik itu akan berhasil.
(EDIT: diulang sedikit)
Pada dasarnya, ini adalah cara cepat dan umum untuk mengatakan bahwa ada sesuatu yang tidak diketahui di depan. Mencoba menjawab pertanyaan Anda yang sebenarnya, itu benar-benar tergantung pada siapa yang melakukan klasifikasi; banyak dari barang-barang itu tampaknya termasuk komponen penelitian yang signifikan, tetapi saya kira ada beberapa orang yang dapat mencapai banyak dari mereka tanpa penelitian apa pun. Itu tergantung pada tugas, dan individu.
Melihat daftar yang sebenarnya, saya pribadi akan mengklasifikasikan berdasarkan apakah saya telah melakukan sesuatu yang cukup serupa di masa lalu, dan karena itu akan sangat percaya diri dengan apa yang akan saya lakukan (atau setidaknya, dapat memberikan rata-rata yang baik) perkiraan).
sumber
$ 40.000 per tahun kenaikan gaji?
Dalam R&D, kadang-kadang R menggunakan penelitian untuk menggambarkan hal yang juga digambarkan sebagai pengembangan teknologi di mana kami menemukan cara melakukan sesuatu yang kami tidak tahu bagaimana melakukannya. Mungkin digambarkan sebagai riset terapan, kita dapat merancang sesuatu untuk dispesifikasi, kemudian biasanya mencoba mematenkannya atau melindungi atau mengeksploitasinya untuk keunggulan kompetitif.
R juga bisa merujuk pada risiko, karena proyek-proyek penelitian dan pengembangan sering mencoba untuk menggabungkan penemuan dan eksploitasi teknologi baru dan eksploitasi teknologi yang dikenal bersama. Risiko lain dari pendekatan ini adalah memisahkan fokus Anda, membangun prototipe yang TIDAK dimaksudkan untuk dibuang, dan kemungkinan bahwa pemasaran terlibat dan akan memperlakukan perkiraan sebagai kontrak.
R & D adalah istilah yang dapat mendandani departemen yang sebagian besar terlibat dalam pengembangan. Sebagian besar proyek teknologi harus menggabungkan penelitian dengan beberapa jenis prototipe, tetapi membuat satu atau selusin sesuatu tidak tampak seperti pengembangan bagi saya kecuali jika itu dapat diserahkan kepada manufaktur.
Penelitian biasanya mencakup gagasan tentang ketelitian seperti meneliti literatur atau paten yang mencari seni sebelumnya, menegaskan klaim inovasi baru dan menunjukkan nilai dan keunikannya dalam beberapa cara. Penelitian akademis kadang-kadang mensintesis gagasan dari literatur akademis, memodelkan beberapa fenomena secara matematis, atau melaporkan studi kasus dengan analisis, kesimpulan, dan proposal untuk studi selanjutnya.
Mungkin R&D tertarik pada hal-hal yang belum pernah dilakukan sebelumnya tetapi dalam jangka pendek akan tersedia sebagai produk.
sumber
R&D sedang bereksperimen dengan ide-ide yang mungkin tidak pernah menjadi produk. Di mana, Pengembangan Perangkat Lunak bekerja pada suatu produk / layanan yang diinginkan untuk menjadi suatu produk.
sumber