Sự khác biệt giữa phát triển và R & D là gì?


39

Tôi được một đồng nghiệp yêu cầu giải thích rõ ràng về sự khác biệt giữa phát triển thông thường và nghiên cứu và phát triển (R & D) và không thể làm được. Sau khi đọc Wikipedia, tôi vẫn không có câu trả lời chính xác.

Theo Wikipedia (sửa đổi một chút):

Có hai mô hình chính:

  • Trong một mô hình, chức năng chính là phát triển sản phẩm mới ;

  • trong mô hình khác, chức năng chính là khám phá và tạo ra kiến ​​thức mới về các chủ đề khoa học và công nghệ nhằm mục đích phát hiện và cho phép phát triển các sản phẩm, quy trình và dịch vụ mới có giá trị.

Mô hình đầu tiên là khó hiểu. Điều đó có nghĩa là sự phát triển (không phải R & D) chỉ bao gồm việc thêm các tính năng mới vào sản phẩm, giải quyết các lỗi và bảo trì? Điều gì nếu một cái gì đó trước đây được phát triển như một tính năng mới trở thành một sản phẩm riêng biệt?

Mô hình thứ hai ít gây nhầm lẫn, nhưng vẫn còn, làm thế nào để đủ điều kiện liệu một thứ gì đó là kiến ​​thức mới hay kiến ​​thức tồn tại mới được khám phá lại?

Sau đó, Wikipedia cho biết thêm rằng sự phát triển thông thường khác với R & D vì nó:

lợi nhuận gần như ngay lập tức hoặc cải thiện ngay lập tức.

Nó vẫn chưa đủ rõ ràng. Làm thế nào để đủ điều kiện "lợi nhuận gần như ngay lập tức"? Điều gì xảy ra nếu một nhiệm vụ có lợi nhuận ngay lập tức nhưng đòi hỏi nghiên cứu nặng nề? Hoặc nếu nó là cơ bản nhưng có lợi nhuận không chắc chắn, như việc thực thi một phong cách phổ biến trên cơ sở mã?

Ví dụ: nó thuộc về phát triển hay R & D để:

  • Phát triển một công cụ trừu tượng hóa quyền truy cập vào cơ sở dữ liệu, đơn giản hóa và rút ngắn rất nhiều mã của các ứng dụng khác (tồn tại hoặc những ứng dụng sẽ được viết trong tương lai) nên truy cập vào cơ sở dữ liệu?

  • Thiết lập một kiến ​​trúc hướng dịch vụ mới cho toàn bộ tổ chức tài nguyên của công ty, để chuyển từ một loạt các ứng dụng riêng biệt và tự trị sang một tập hợp các dịch vụ web được kết nối, tổ chức tốt, như những gì được Amazon sử dụng?

  • Thiết kế một giao thức truyền thông mới để cho phép sao chép dữ liệu nhanh hơn giữa hai trung tâm dữ liệu của công ty?

  • Nhận thức một loại thử nghiệm phần mềm mới trong khi làm việc trên một sản phẩm cụ thể, biết rằng loại thử nghiệm này sẽ cải thiện / đơn giản hóa quá trình thử nghiệm?

  • Chứng minh rằng lập trình hàm phù hợp hơn OOP cho một ứng dụng cụ thể, dựa trên bằng chứng, logic và kinh nghiệm trước đó?

  • Tăng cường ứng dụng hiện có bằng cách thêm các cử chỉ trên màn hình xúc giác, sau khi thực hiện các nghiên cứu và thử nghiệm cho thấy những cử chỉ đó cải thiện năng suất của người dùng theo tỷ lệ ít nhất 1,4 cho một nhóm tác vụ chính xác?

  • Tìm cách tăng cường hiệu quả sử dụng năng lượng (PUE) của trung tâm dữ liệu?

  • Tạo một ngôn ngữ cụ thể miền (DSL)?

Nói tóm lại, làm thế nào tôi có thể xác định liệu tôi có đang thực hiện R & D trong khi làm việc gì không?


21
Erm ... R & D bao gồm nghiên cứu?
Robert Harvey

Câu trả lời:


37

Câu hỏi tuyệt vời.

Điều quan trọng là phải phân biệt giữa 'Phát triển' và 'R & D.'

  • Điểm 1

R & D = thử nghiệm những ý tưởng / công nghệ có thể không bao giờ thực sự trở thành một sản phẩm.

Phát triển phần mềm = làm việc trên một sản phẩm / dịch vụ mong muốn của một khách hàng thực sự.

  • Điểm 2

R & D là tất cả về việc phát triển các giải pháp mới cho một lĩnh vực vấn đề cụ thể. Kết quả cuối cùng của nỗ lực này là thứ mà tôi gọi là "đồ chơi nghiên cứu".

Để trở thành một sản phẩm phần mềm, đồ chơi nghiên cứu phải được thực hiện lại hoàn toàn. Không làm như vậy sẽ dẫn đến một sản phẩm thu hút một cơ sở người dùng ngày càng ưu tú và uyên bác. Vấn đề ở đây là cơ sở người dùng ưu tú và uyên bác này thường không có tiền để chi tiêu.

Để thành công, sản phẩm phần mềm phải là một triển khai lại trung thực của đồ chơi nghiên cứu, được người dùng hàng hóa truy cập và yêu thích. Để thực sự đáng chú ý, sản phẩm phần mềm phải đồng thời thu hút người dùng ưu tú và uyên bác.

  • Điểm 3

Nghiên cứu ngụ ý học thuật hoặc nghiên cứu khoa học và có xu hướng nhắm vào lợi ích lớn hơn của một ngành công nghiệp hoặc xã hội nói chung. Phát triển sản phẩm có những động lực và kết quả khác nhau: nó được thúc đẩy bởi tiềm năng lợi nhuận. Tình trạng phát triển sản phẩm là lành mạnh. Tình trạng nghiên cứu ánh sáng là không.

Chúng ta cần một cam kết tập thể vì lợi ích lớn hơn để trả lời những câu hỏi như vậy. Nhưng đây không chỉ là hoạt động từ thiện; câu trả lời sẽ giải quyết một mục tiêu thực tế. Các nguồn ánh sáng được điều chỉnh phổ cho hệ thống thị giác sẽ bền vững hơn. Họ sẽ sử dụng ít năng lượng hơn bằng cách tạo đầu ra của mình trong các vùng của quang phổ nơi hệ thống thị giác phản ứng mạnh nhất, dẫn đến việc nhìn rõ hơn cho người dùng tòa nhà. Ví dụ này củng cố sự khác biệt giữa nghiên cứu và phát triển sản phẩm.

  • Điểm 4

Tất cả sự phát triển của các sản phẩm mới sẽ được R & D. Tôi nghĩ rằng một số bạn đang nhầm lẫn giữa khoa học thuần túy, trừu tượng với R & D. Họ không giống nhau. R & D có thể rất định hướng sản phẩm. Các nhà khoa học có thể đang tìm kiếm một loại vắc-xin để chữa AID. Đó là một nhiệm vụ rất cụ thể để tạo ra một sản phẩm để bán và đó chắc chắn là R & D và không chỉ những kẻ ngồi xung quanh lộn xộn với bất cứ điều gì họ cảm thấy thích.

  • Điểm 5

R & D trong thế giới kỹ thuật = tìm cách làm điều gì đó thú vị hoặc quan trọng, sử dụng các kỹ thuật và công nghệ đã biết làm điểm khởi đầu.

Phát triển phần mềm = tìm cách làm điều gì đó thú vị hoặc quan trọng, sử dụng các kỹ thuật và công nghệ đã biết làm điểm khởi đầu.

  • Điểm 6

Hầu như tất cả sự phát triển phần mềm là phần D của R & D. Đôi khi, có rất ít R trong Phần mềm 'R & D'. Đôi khi, có phần R khá lớn trong Phần mềm 'R & D'.

Nó phụ thuộc vào một số phép đo. Ví dụ,

Quản lý phát triển phần mềm cho các công ty có quy mô khác nhau, R & D mang những ý nghĩa khác nhau tùy thuộc vào quy mô của công ty, cơ sở khách hàng, v.v.

Trong một công ty phần mềm nhỏ, chỉ có một tay đầy nhân viên, ranh giới giữa phần mềm R & D và phần mềm sản xuất thường rất nhỏ. Những gì một ngày là một dự án R & D phần mềm, ngày hôm sau có thể được vận chuyển như là phần mềm sản xuất cho khách hàng.

Khi các công ty phần mềm phát triển và họ có một hoặc nhiều dây chuyền phần mềm sản xuất, họ có xu hướng tạo ra sự tách biệt lớn hơn giữa các dự án phần mềm R & D và các sản phẩm phần mềm sản xuất (vì lý do rõ ràng). Khoảng cách R & D này thường được tạo ra để tạo sự đa dạng hóa lớn hơn trong các sản phẩm phần mềm của họ cho ngày mai, đồng thời cho phép phát triển phần mềm sản xuất tiếp tục sản xuất cho đến ngày hôm nay.

Điều này không có nghĩa là các sản phẩm phần mềm sản xuất sẽ không có các tính năng mới sáng tạo. Các nhà phát triển phần mềm sản xuất thường "sắc sảo" như các nhà phát triển R & D. Trên thực tế, tại một công ty, chúng tôi đã có một chương trình làm giàu cho phép các nhà phát triển phần mềm sản xuất xoay vòng trong và ngoài các dự án R & D. Điều này không chỉ bổ sung sức mạnh não mới cho các nhóm R & D, mà trong nhiều trường hợp, các nhà phát triển sản xuất đã quay lại với những ý tưởng mới về sản xuất phần mềm mức sản xuất tốt hơn.

  • Điểm 7

D = "biết bạn muốn ở đâu vào cuối" và R là vì "khi bắt đầu dự án, bạn không biết những gì sẽ được yêu cầu để đến đó"

  • Điểm 8

R & D là những người may mắn có thể làm bất cứ điều gì họ muốn mà không phải chịu trách nhiệm.

Nghiên cứu / tài nguyên tốt về chủ đề này:


1
Tôi nghĩ rằng điều duy nhất bạn chưa nói rõ ràng - Hầu như tất cả sự phát triển phần mềm là phần D của R & D. Có rất ít R trong hầu hết các Phần mềm 'R & D' - Tất cả các ví dụ trong OP là Phát triển.
mattnz

@mattnz, tôi đồng ý với bạn. bây giờ tôi đã bao gồm quan điểm của bạn tại câu trả lời của tôi. Cảm ơn đã gợi ý. :)
Md Mahbubur Rahman

9

Sự khác biệt là trong sự mong đợi.

  • Khi tôi làm việc trong R & D, tôi chủ yếu dự kiến ​​sẽ cung cấp kết quả nghiên cứu .

  • Khi tôi đang làm việc trong quá trình phát triển, tôi chủ yếu dự kiến ​​sẽ cung cấp phần mềm làm việc .

Chúng không hoàn toàn tách biệt và có thể có các vùng màu xám khá lớn ở giữa. Trong quá trình phát triển, đôi khi xảy ra rằng tôi dự kiến ​​sẽ thực hiện một số nghiên cứu . Tương tự như vậy, trong một trong những dự án nghiên cứu, tôi được giao phát triển chương trình cụ thể.


8

Như những người khác đã nói, R & D liên quan đến nghiên cứu. Đối với tôi, nghiên cứu đang làm việc trên một cái gì đó mà không ai biết làm thế nào vào thời điểm hiện tại. Nếu nó đã được thực hiện, nó không phải là nghiên cứu, mặc dù nó có thể đòi hỏi đầu tư thời gian đáng kể để nghiên cứu các giải pháp hiện có và tài liệu.

Về danh sách của bạn:

  • Phát triển một công cụ trừu tượng hóa quyền truy cập vào cơ sở dữ liệu, đơn giản hóa và rút ngắn rất nhiều mã của các ứng dụng khác (tồn tại hoặc những ứng dụng sẽ được viết trong tương lai) nên truy cập vào cơ sở dữ liệu?

Nhiều ORM tồn tại. Trừ khi bạn làm điều gì đó thực sự khác biệt, tôi sẽ không coi đó là R & D.

  • Thiết lập một kiến ​​trúc hướng dịch vụ mới cho toàn bộ tổ chức tài nguyên của công ty, để chuyển từ một loạt các ứng dụng riêng biệt và tự trị sang một tập hợp các dịch vụ web được kết nối, tổ chức tốt, như những gì được Amazon sử dụng?

Không.

  • Thiết kế một giao thức truyền thông mới để cho phép sao chép dữ liệu nhanh hơn giữa hai trung tâm dữ liệu của công ty?

Nếu điều này cải thiện trên các giao thức đã biết, thì tôi sẽ xem xét R & D.

  • Nhận thức một loại thử nghiệm phần mềm mới trong khi làm việc trên một sản phẩm cụ thể, biết rằng loại thử nghiệm này sẽ cải thiện / đơn giản hóa quá trình thử nghiệm?

  • Chứng minh rằng lập trình hàm phù hợp hơn OOP cho một ứng dụng cụ thể, dựa trên bằng chứng, logic và kinh nghiệm trước đó?

  • Tăng cường ứng dụng hiện có bằng cách thêm các cử chỉ trên màn hình xúc giác, sau khi thực hiện các nghiên cứu và thử nghiệm cho thấy những cử chỉ đó cải thiện năng suất của người dùng theo tỷ lệ ít nhất 1,4 cho một nhóm tác vụ chính xác?

  • Tìm cách tăng cường hiệu quả sử dụng năng lượng (PUE) của trung tâm dữ liệu?

  • Tạo một ngôn ngữ cụ thể miền (DSL)?

Không ai trong số những điều này dường như bao gồm nghiên cứu. Để đưa ra các ví dụ khác về những điều mà tôi sẽ xem xét R & D:

  • Cải thiện kiểu suy luận trong Scala, cho phép thống nhất tốt hơn

  • Phát minh ra một loại tối ưu hóa trình biên dịch mới

  • Tạo một cơ sở dữ liệu mới có sự khác biệt đáng kể so với các cơ sở dữ liệu hiện có - giả sử như CouchDB là khi nó được hình thành

  • Phát triển một thư viện làm việc, có thể sử dụng để lập trình phản ứng chức năng

  • Tìm một khai thác mới trong phần mềm hoặc giao thức hiện có

  • Phát minh ra một thuật toán nén mới


3

Một cách không chính thức, cách tôi định nghĩa nó (và cách tôi thường thấy nó được sử dụng trong thực tế) là một cái gì đó như:

Cụm từ R & D được sử dụng để biểu thị rằng bạn không chắc chắn về cách tiếp cận chính xác để đạt được điều gì đó, và / hoặc nếu nó thậm chí có thể được thực hiện, và nó sẽ hoạt động tốt như thế nào.

(EDIT: đọc lại một chút)

Về cơ bản, đó là một cách nhanh chóng, phổ biến để nói rằng có một ẩn số đáng kể phía trước. Cố gắng trả lời câu hỏi thực tế của bạn sau đó, nó thực sự phụ thuộc vào người đang thực hiện phân loại; nhiều trong số đó có vẻ như chúng bao gồm một thành phần nghiên cứu quan trọng, nhưng tôi đoán có một số cá nhân sẽ có thể đạt được nhiều trong số đó mà không cần bất kỳ nghiên cứu nào. Nó phụ thuộc vào cả nhiệm vụ và cá nhân.

Nhìn vào danh sách thực tế, cá nhân tôi sẽ phân loại chúng dựa trên việc tôi đã làm điều gì đó đủ tương tự trong quá khứ chưa, và do đó sẽ rất tin tưởng vào những gì tôi sắp làm (hoặc ít nhất, có thể cung cấp sân bóng tốt ước tính).


0

$ 40.000 mỗi năm tăng lương?

Trong R & D, R đôi khi sử dụng nghiên cứu để mô tả một thứ cũng được mô tả là phát triển công nghệ nơi chúng tôi khám phá cách làm điều gì đó mà chúng tôi không biết cách làm. Có lẽ được mô tả tốt như nghiên cứu ứng dụng, chúng tôi có thể thiết kế một cái gì đó để chỉ định, sau đó thường cố gắng cấp bằng sáng chế hoặc bảo vệ hoặc khai thác nó để tạo lợi thế cạnh tranh.

R cũng có thể đề cập đến rủi ro, bởi vì các dự án nghiên cứu và phát triển thường cố gắng kết hợp cả việc khám phá và khai thác công nghệ mới và khai thác các công nghệ đã biết với nhau. Trong số các rủi ro khác đối với phương pháp này là phân tách trọng tâm của bạn, xây dựng nguyên mẫu KHÔNG có ý định vứt bỏ và khả năng tiếp thị có liên quan và sẽ coi các ước tính là hợp đồng.

R & D là một thuật ngữ có thể trang bị cho một bộ phận chủ yếu liên quan đến phát triển. Hầu hết các dự án công nghệ nên kết hợp nghiên cứu với một số loại nguyên mẫu, nhưng tạo ra một hoặc một tá thứ gì đó dường như không phải là sự phát triển đối với tôi trừ khi nó có thể được chuyển giao cho sản xuất.

Nghiên cứu thường bao gồm một khái niệm về sự nghiêm ngặt như kiểm tra tài liệu hoặc bằng sáng chế tìm kiếm nghệ thuật trước đó, khẳng định tuyên bố về sự đổi mới mới và chứng minh giá trị và tính độc đáo của chúng theo một cách nào đó. Nghiên cứu học thuật đôi khi tổng hợp các ý tưởng từ tài liệu học thuật, mô hình hóa một số hiện tượng toán học hoặc báo cáo một nghiên cứu trường hợp với phân tích, kết luận và đề xuất cho nghiên cứu trong tương lai.

Có lẽ R & D quan tâm đến những điều chưa được thực hiện trước đây nhưng trong thời gian ngắn sẽ được cung cấp dưới dạng sản phẩm.


-4

R & D đang thử nghiệm những ý tưởng có thể không bao giờ trở thành sản phẩm. Trong đó, Phát triển phần mềm đang làm việc trên một sản phẩm / dịch vụ mong muốn trở thành một sản phẩm.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.