ความแตกต่างระหว่างการพัฒนาและการวิจัยและพัฒนาคืออะไร?


39

ฉันถูกเพื่อนร่วมงานขอให้อธิบายอย่างชัดเจนถึงความแตกต่างระหว่างการพัฒนาปกติกับการวิจัยและการพัฒนา (R & D) และไม่สามารถทำได้ หลังจากอ่าน Wikipedia ฉันยังไม่มีคำตอบที่ชัดเจน

ตามที่Wikipedia (แก้ไขเล็กน้อย):

มีสองรุ่นหลักคือ:

  • หนึ่งในรูปแบบฟังก์ชั่นหลักคือการพัฒนาผลิตภัณฑ์ใหม่ ;

  • ในรูปแบบอื่น ๆ หน้าที่หลักคือการค้นพบและสร้างความรู้ใหม่เกี่ยวกับหัวข้อทางวิทยาศาสตร์และเทคโนโลยีเพื่อจุดประสงค์ในการเปิดเผยและเปิดใช้งานการพัฒนาผลิตภัณฑ์กระบวนการและบริการใหม่ที่มีคุณค่า

รุ่นแรกกำลังสับสน มันหมายความว่าการพัฒนา (ไม่ใช่การวิจัยและพัฒนา) ประกอบด้วยการเพิ่มคุณสมบัติใหม่ให้กับผลิตภัณฑ์การแก้จุดบกพร่องและทำการบำรุงรักษาหรือไม่? จะเกิดอะไรขึ้นถ้าสิ่งที่เคยพัฒนาเป็นคุณสมบัติใหม่มาก่อนจะกลายเป็นผลิตภัณฑ์ที่แยกต่างหาก

รุ่นที่สองมีความสับสนน้อยกว่า แต่ยังคงวิธีการที่จะมีคุณสมบัติว่าสิ่งที่เป็นความรู้ใหม่หรือความรู้ที่มีอยู่ซึ่งเพิ่งค้นพบ?

ต่อมา Wikipedia เสริมว่าการพัฒนาตามปกตินั้นแตกต่างจากการวิจัยและพัฒนาเพราะ:

เกือบจะทันทีกำไรหรือปรับปรุงทันที

มันยังไม่ชัดเจนเพียงพอ จะมีคุณสมบัติอย่างไร "เกือบจะได้กำไรทันที"? เกิดอะไรขึ้นถ้างานมีผลกำไรทันที แต่ต้องวิจัยหนัก หรือถ้ามันเป็นพื้นฐาน แต่มีกำไรที่ไม่แน่นอนเช่นการบังคับใช้สไตล์สามัญเหนือ codebase?

ตัวอย่างเช่นมันเป็นของการพัฒนาหรือการวิจัยและพัฒนาเพื่อ:

  • พัฒนาเครื่องมือที่สรุปการเข้าถึงฐานข้อมูลลดความซับซ้อนของรหัสแอปพลิเคชันอื่น ๆ (ที่มีอยู่หรือที่จะเขียนในอนาคต) ซึ่งควรจะเข้าถึงฐานข้อมูลหรือไม่

  • สร้างสถาปัตยกรรมที่มุ่งเน้นบริการใหม่สำหรับองค์กรทั้งหมดของทรัพยากรของ บริษัท เพื่อย้ายจากแอปพลิเคชันที่แยกจากกันและเป็นอิสระไปเป็นชุดของเว็บเซอร์วิสที่มีการจัดระเบียบและเชื่อมโยงถึงกันอย่างดี

  • ออกแบบโปรโตคอลการสื่อสารใหม่เพื่อให้สามารถจำลองข้อมูลได้เร็วขึ้นระหว่างศูนย์ข้อมูลสองแห่งของ บริษัท

  • คิดการทดสอบซอฟต์แวร์รูปแบบใหม่ขณะที่ทำงานกับผลิตภัณฑ์เฉพาะโดยรู้ว่าการทดสอบประเภทนี้จะปรับปรุง / ทำให้กระบวนการทดสอบง่ายขึ้น?

  • พิสูจน์ว่าการตั้งโปรแกรมฟังก์ชั่นเหมาะสมกว่า OOP สำหรับแอปพลิเคชันเฉพาะโดยอิงตามหลักฐานตรรกะและประสบการณ์ก่อนหน้านี้หรือไม่

  • ปรับปรุงแอปพลิเคชันที่มีอยู่ด้วยการเพิ่มท่าทางสัมผัสบนหน้าจอสัมผัสหลังจากทำการศึกษาและทดสอบซึ่งแสดงว่าท่าทางเหล่านั้นปรับปรุงประสิทธิภาพของผู้ใช้ด้วยอัตราส่วนอย่างน้อย 1.4 สำหรับชุดงานที่แม่นยำหรือไม่

  • ค้นหาวิธีเพิ่มประสิทธิภาพการใช้พลังงาน (PUE) ของศูนย์ข้อมูลอย่างมากหรือไม่

  • สร้างภาษาเฉพาะโดเมน (DSL) หรือไม่

กล่าวโดยย่อฉันจะทราบได้อย่างไรว่าฉันกำลังทำวิจัยและพัฒนาในขณะทำงานบางอย่างอยู่หรือไม่?


21
เออ ... R & D รวมถึงการวิจัย
Robert Harvey

คำตอบ:


37

คำถามที่ดี

สิ่งสำคัญคือการแยกความแตกต่างระหว่าง 'การพัฒนา' และ 'R & D'

  • จุดที่ 1

R & D = การทดลองกับความคิด / เทคโนโลยีที่อาจไม่เคยเป็นผลิตภัณฑ์

การพัฒนาซอฟต์แวร์ = ทำงานกับผลิตภัณฑ์ / บริการที่ลูกค้าต้องการ

  • จุดที่ 2

R&D คือทั้งหมดที่เกี่ยวกับการพัฒนาโซลูชันใหม่สำหรับโดเมนปัญหาที่เฉพาะเจาะจง ผลลัพธ์สุดท้ายของความพยายามนี้คือสิ่งที่ฉันเรียกว่า "ของเล่นวิจัย"

ในการเป็นผลิตภัณฑ์ซอฟต์แวร์ของเล่นการวิจัยจะต้องถูกนำมาใช้ใหม่อย่างสมบูรณ์ หากไม่ทำเช่นนั้นจะส่งผลให้ผลิตภัณฑ์ที่ดึงดูดฐานผู้ใช้ที่ยอดเยี่ยมยิ่งขึ้นและขยันขันแข็ง ปัญหาที่นี่คือฐานผู้ใช้ที่ยอดเยี่ยมและขยันมักจะไม่มีเงินใช้จ่าย

เพื่อให้ประสบความสำเร็จผลิตภัณฑ์ซอฟต์แวร์จะต้องเป็นการนำของเล่นวิจัยกลับมาใช้อย่างซื่อสัตย์และสามารถเข้าถึงได้และเป็นที่รักของผู้ใช้สินค้าโภคภัณฑ์ เพื่อให้เป็นที่น่าทึ่งอย่างแท้จริงผลิตภัณฑ์ซอฟต์แวร์จะต้องดึงดูดผู้ใช้ระดับสูงและผู้เรียนรู้ไปพร้อม ๆ กัน

  • จุดที่ 3

การวิจัยหมายถึงการสอบถามทางวิชาการหรือทางวิทยาศาสตร์และมีแนวโน้มที่จะมุ่งไปที่ประโยชน์ของอุตสาหกรรมหรือสังคมส่วนใหญ่ การพัฒนาผลิตภัณฑ์มีแรงจูงใจและผลลัพธ์ที่แตกต่าง: มันขับเคลื่อนด้วยศักยภาพในการทำกำไร สถานะของการพัฒนาผลิตภัณฑ์นั้นแข็งแรง สถานะของการวิจัยแสงไม่ได้

เราต้องการคำมั่นสัญญาโดยรวมที่ดีกว่าเพื่อตอบคำถามดังกล่าว แต่นี่ไม่ได้เป็นเพียงการทำบุญ คำตอบจะกล่าวถึงเป้าหมายการปฏิบัติ แหล่งกำเนิดแสงที่ได้รับการปรับแต่งเชิงสเปกตรัมไปยังระบบภาพจะมีความยั่งยืนมากขึ้น พวกเขาจะใช้พลังงานน้อยลงด้วยการสร้างเอาต์พุตในพื้นที่ของสเปกตรัมที่ระบบภาพตอบสนองมากที่สุดทำให้ผู้ใช้อาคารเห็นได้ดีขึ้น ตัวอย่างนี้ตอกย้ำความแตกต่างระหว่างการวิจัยและพัฒนาผลิตภัณฑ์

  • จุดที่ 4

การพัฒนาผลิตภัณฑ์ใหม่ทั้งหมดเพื่อเป็น R&D ฉันคิดว่าพวกคุณบางคนสับสนวิทยาศาสตร์บริสุทธิ์ที่เป็นนามธรรมกับการวิจัยและพัฒนา พวกเขาไม่เหมือนกัน R & D สามารถมุ่งเน้นผลิตภัณฑ์มาก นักวิทยาศาสตร์อาจกำลังมองหาวัคซีนเพื่อรักษาโรคเอดส์ นั่นเป็นงานที่เฉพาะเจาะจงมากในการสร้างผลิตภัณฑ์เพื่อขายและเป็น R&D อย่างแน่นอนและไม่ใช่แค่พวกนั่งรอบล้อเล่นกับอะไรก็ตามที่พวกเขารู้สึก

  • จุดที่ 5

R&D ในโลกทางเทคนิค = การค้นหาวิธีการทำสิ่งที่น่าสนใจหรือสำคัญโดยใช้เทคนิคและเทคโนโลยีที่รู้จักกันเป็นจุดเริ่มต้น

การพัฒนาซอฟต์แวร์ = การค้นหาวิธีการทำสิ่งที่น่าสนใจหรือสำคัญโดยใช้เทคนิคและเทคโนโลยีที่รู้จักกันเป็นจุดเริ่มต้น

  • จุดที่ 6

การพัฒนาซอฟต์แวร์ทั้งหมดเป็นส่วน D ของการวิจัยและพัฒนา บางครั้งมี R น้อยมากในซอฟต์แวร์ 'R&D' บางครั้งมี R ที่ค่อนข้างใหญ่ในซอฟต์แวร์ 'R&D'

มันขึ้นอยู่กับการวัดหลายอย่าง ตัวอย่างเช่น,

การจัดการการพัฒนาซอฟต์แวร์สำหรับ บริษัท ขนาดต่าง ๆ R&D ใช้ความหมายที่แตกต่างกันขึ้นอยู่กับขนาดของ บริษัท ฐานลูกค้า ฯลฯ

ใน บริษัท ซอฟต์แวร์ขนาดเล็กที่มีพนักงานเพียงคนเดียวสายระหว่างซอฟต์แวร์ R&D และซอฟต์แวร์การผลิตมักจะมีขนาดเล็กมาก วันหนึ่งเป็นโครงการวิจัยและพัฒนาซอฟท์แวร์ในวันถัดไปอาจมีการจัดส่งเป็นซอฟต์แวร์สำหรับผลิต

เมื่อ บริษัท ซอฟต์แวร์เติบโตและมีสายซอฟต์แวร์การผลิตหนึ่งรายการขึ้นไปพวกเขามีแนวโน้มที่จะสร้างความแตกต่างระหว่างโครงการซอฟต์แวร์ R&D และผลิตภัณฑ์ซอฟต์แวร์การผลิต (ด้วยเหตุผลที่ชัดเจน) ช่องว่าง R&D นี้ถูกสร้างขึ้นเพื่อสร้างความหลากหลายมากขึ้นในผลิตภัณฑ์ซอฟต์แวร์ของพวกเขาสำหรับวันพรุ่งนี้ในขณะที่ช่วยให้การพัฒนาซอฟต์แวร์การผลิตเพื่อดำเนินการผลิตในวันนี้

นี่ไม่ได้หมายความว่าผลิตภัณฑ์ซอฟต์แวร์การผลิตจะไม่ได้รับคุณสมบัติใหม่ที่เป็นนวัตกรรม โดยทั่วไปผู้พัฒนาซอฟต์แวร์ด้านการผลิตมักจะ "คมชัด" ในฐานะนักพัฒนา R&D ในความเป็นจริงที่ บริษัท หนึ่งเรามีโปรแกรมตกแต่งที่อนุญาตให้นักพัฒนาซอฟต์แวร์การผลิตสามารถหมุนเข้าและออกจากโครงการ R & D สิ่งนี้ไม่เพียงเพิ่มพลังสมองที่สดใหม่ให้กับทีม R&D แต่ในหลาย ๆ กรณีผู้พัฒนาผลิตภัณฑ์กลับมาพร้อมกับแนวคิดใหม่ ๆ ในการผลิตซอฟต์แวร์ระดับการผลิตที่ดีขึ้น

  • จุดที่ 7

D = "การรู้ว่าคุณต้องการอยู่ที่ไหนในตอนท้าย" และ R เป็นเพราะ "ในตอนต้นของโครงการคุณไม่ทราบว่าจะต้องไปที่นั่น"

  • จุดที่ 8

R & D เป็นคนโชคดีที่ได้ทำสิ่งที่พวกเขาต้องการโดยไม่ต้องรับผิดชอบ

การวิจัย / ทรัพยากรที่ดีในหัวข้อนี้:


1
ฉันคิดว่ามีเพียงสิ่งเดียวที่คุณยังไม่ได้กล่าวอย่างชัดเจน - การพัฒนาซอฟต์แวร์ทั้งหมดเป็นส่วน D ของการวิจัยและพัฒนา มีน้อยมาก R ในซอฟต์แวร์ 'R&D' ส่วนใหญ่ - ตัวอย่างทั้งหมดใน OP เป็นการพัฒนา
mattnz

@ แมทซ์ฉันเห็นด้วยกับคุณ ตอนนี้ฉันได้รวมประเด็นของคุณไว้ในคำตอบแล้ว ขอบคุณสำหรับคำแนะนำ :)
Md Mahbubur เราะห์มาน

9

ความแตกต่างอยู่ในความคาดหวัง

  • เมื่อฉันได้รับการทำงานใน R & D ผมก็คาดว่าส่วนใหญ่จะให้ผลงานวิจัย

  • เมื่อฉันได้รับการทำงานในการพัฒนาผมก็คาดว่าส่วนใหญ่จะให้ซอฟต์แวร์ทำงาน

สิ่งเหล่านี้ไม่ได้แยกออกจากกันโดยสิ้นเชิงและอาจมีพื้นที่สีเทาค่อนข้างมากในระหว่างนั้น ในการพัฒนาบางครั้งมันก็เกิดขึ้นที่ฉันคาดว่าจะดำเนินการวิจัยบางส่วน ในโครงการวิจัยฉันได้รับมอบหมายให้พัฒนาโปรแกรมเฉพาะเช่นเดียวกัน


8

ดังที่คนอื่น ๆ ได้กล่าว R & D เกี่ยวข้องกับการวิจัย สำหรับฉันการวิจัยกำลังทำอะไรบางอย่างที่ไม่มีใครรู้ว่าต้องทำอย่างไรในเวลาปัจจุบัน หากทำไปแล้วจะไม่ทำการวิจัยแม้ว่าอาจต้องใช้เวลาลงทุนจำนวนมากเพื่อศึกษาวิธีการแก้ไขปัญหาและวรรณกรรมที่มีอยู่

เกี่ยวกับรายการของคุณ:

  • พัฒนาเครื่องมือที่สรุปการเข้าถึงฐานข้อมูลลดความซับซ้อนของรหัสแอปพลิเคชันอื่น ๆ (ที่มีอยู่หรือที่จะเขียนในอนาคต) ซึ่งควรจะเข้าถึงฐานข้อมูลหรือไม่

มี ORM จำนวนมาก หากคุณไม่ทำสิ่งที่แตกต่างอย่างแท้จริงฉันจะไม่นับเป็น R & D

  • สร้างสถาปัตยกรรมที่มุ่งเน้นบริการใหม่สำหรับองค์กรทั้งหมดของทรัพยากรของ บริษัท เพื่อย้ายจากแอปพลิเคชันที่แยกจากกันและเป็นอิสระไปเป็นชุดของเว็บเซอร์วิสที่มีการจัดระเบียบและเชื่อมโยงถึงกันอย่างดี

Nope

  • ออกแบบโปรโตคอลการสื่อสารใหม่เพื่อให้สามารถจำลองข้อมูลได้เร็วขึ้นระหว่างศูนย์ข้อมูลสองแห่งของ บริษัท

ถ้าสิ่งนี้ปรับปรุงในโปรโตคอลที่รู้จักกันดีฉันก็จะพิจารณา R & D นี้

  • คิดการทดสอบซอฟต์แวร์รูปแบบใหม่ขณะที่ทำงานกับผลิตภัณฑ์เฉพาะโดยรู้ว่าการทดสอบประเภทนี้จะปรับปรุง / ทำให้กระบวนการทดสอบง่ายขึ้น?

  • พิสูจน์ว่าการตั้งโปรแกรมฟังก์ชั่นเหมาะสมกว่า OOP สำหรับแอปพลิเคชันเฉพาะโดยอิงตามหลักฐานตรรกะและประสบการณ์ก่อนหน้านี้หรือไม่

  • ปรับปรุงแอปพลิเคชันที่มีอยู่ด้วยการเพิ่มท่าทางสัมผัสบนหน้าจอสัมผัสหลังจากทำการศึกษาและทดสอบซึ่งแสดงว่าท่าทางเหล่านั้นปรับปรุงประสิทธิภาพของผู้ใช้ด้วยอัตราส่วนอย่างน้อย 1.4 สำหรับชุดงานที่แม่นยำหรือไม่

  • ค้นหาวิธีเพิ่มประสิทธิภาพการใช้พลังงาน (PUE) ของศูนย์ข้อมูลอย่างมากหรือไม่

  • สร้างภาษาเฉพาะโดเมน (DSL) หรือไม่

ไม่มีสิ่งเหล่านี้รวมถึงการวิจัย เพื่อให้ตัวอย่างอื่น ๆ ของสิ่งที่ฉันจะพิจารณา R & D:

  • ปรับปรุงการอนุมานประเภทใน Scala เพื่อให้เกิดการรวมที่ดีขึ้น

  • คิดค้นการเพิ่มประสิทธิภาพคอมไพเลอร์รูปแบบใหม่

  • สร้างฐานข้อมูลใหม่ที่มีความแตกต่างอย่างมีนัยสำคัญจากฐานข้อมูลที่มีอยู่ - เช่น CouchDB คือเมื่อมันถูกสร้างขึ้น

  • พัฒนาไลบรารีที่ใช้งานได้และใช้งานได้สำหรับการเขียนโปรแกรมปฏิกิริยาที่ใช้งานได้

  • ค้นหาช่องโหว่ใหม่ในซอฟต์แวร์หรือโปรโตคอลที่มีอยู่

  • คิดค้นอัลกอริทึมการบีบอัดใหม่


3

วิธีที่ฉันจะนิยามอย่างไม่เป็นทางการ (และวิธีที่ฉันเห็นโดยทั่วไปว่าใช้ในการปฏิบัติ) เป็นสิ่งที่ชอบ:

วลี R & D ใช้เพื่อแสดงว่าคุณไม่แน่ใจเกี่ยวกับวิธีการที่ถูกต้องเพื่อให้บรรลุบางสิ่งบางอย่างและ / หรือหากสามารถทำได้และสามารถทำงานได้ดีเพียงใด

(แก้ไข: rephrased เล็กน้อย)

โดยทั่วไปมันเป็นวิธีที่รวดเร็วและเป็นเรื่องธรรมดาที่จะบอกว่ามีสิ่งสำคัญที่ไม่ทราบล่วงหน้า ความพยายามที่จะตอบคำถามจริงของคุณนั้นขึ้นอยู่กับว่าใครทำการจำแนก หลายรายการดูเหมือนว่าพวกเขามีองค์ประกอบการวิจัยที่สำคัญ แต่ฉันคิดว่ามีบางคนที่สามารถประสบความสำเร็จได้หลายคนโดยไม่มีการวิจัยใด ๆ มันขึ้นอยู่กับงานและส่วนบุคคล

เมื่อดูที่รายการจริงฉันจะจำแนกสิ่งเหล่านั้นโดยพิจารณาจากสิ่งที่ฉันเคยทำมาก่อนหน้านี้แล้วและจะมีความมั่นใจอย่างมากในสิ่งที่ฉันกำลังจะทำ (หรืออย่างน้อยก็สามารถให้สนามเบสบอลที่ดีได้ ประมาณการ)


0

$ 40,000 ต่อปีชนกับเงินเดือนหรือไม่

ใน R & D, R บางครั้งใช้การวิจัยเพื่ออธิบายสิ่งที่อธิบายว่าเป็นการพัฒนาเทคโนโลยีที่เราค้นพบวิธีการทำสิ่งที่เราไม่รู้ว่าจะทำอย่างไร บางทีอาจอธิบายได้ดีว่าเป็นการวิจัยประยุกต์เราอาจออกแบบบางอย่างเพื่อสเป็คจากนั้นมักจะพยายามจดสิทธิบัตรหรือปกป้องหรือใช้ประโยชน์จากข้อได้เปรียบในการแข่งขัน

R อาจหมายถึงความเสี่ยงเพราะโครงการวิจัยและพัฒนามักจะพยายามรวมทั้งการค้นพบและการใช้ประโยชน์จากเทคโนโลยีใหม่และการใช้ประโยชน์จากเทคโนโลยีที่รู้จักกันเข้าด้วยกัน ท่ามกลางความเสี่ยงอื่น ๆ ในแนวทางนี้คือการแยกโฟกัสของคุณการสร้างต้นแบบที่ไม่ได้ตั้งใจจะถูกโยนทิ้งไปและโอกาสที่การตลาดมีส่วนเกี่ยวข้องและจะถือว่าประมาณการเป็นสัญญา

R & D เป็นคำที่สามารถแต่งตัวแผนกที่เกี่ยวข้องส่วนใหญ่ในการพัฒนา โครงการเทคโนโลยีส่วนใหญ่ควรรวมการวิจัยกับต้นแบบบางอย่าง แต่การสร้างหนึ่งหรือโหล ๆ ของบางอย่างดูเหมือนจะไม่พัฒนาสำหรับฉันจนกว่าจะสามารถส่งมอบให้กับการผลิตได้

งานวิจัยมักจะรวมถึงความคิดที่เข้มงวดเช่นการตรวจสอบวรรณกรรมหรือสิทธิบัตรที่กำลังมองหางานศิลปะก่อนอ้างสิทธิ์ในการอ้างถึงนวัตกรรมใหม่และแสดงให้เห็นถึงคุณค่าและเอกลักษณ์ของพวกเขาในบางวิธี บางครั้งการวิจัยเชิงวิชาการสังเคราะห์ความคิดจากวรรณคดีเชิงวิชาการจำลองปรากฏการณ์ทางคณิตศาสตร์หรือรายงานกรณีศึกษาที่มีการวิเคราะห์ข้อสรุปและข้อเสนอสำหรับการศึกษาในอนาคต

บางที R&D อาจสนใจในสิ่งที่ยังไม่เคยทำมาก่อน แต่ในระยะสั้นจะมีให้เป็นผลิตภัณฑ์


-4

R & D กำลังทดลองกับแนวคิดที่อาจไม่เคยเป็นผลิตภัณฑ์ ที่ซึ่งการพัฒนาซอฟต์แวร์กำลังทำงานกับผลิตภัณฑ์ / บริการที่ต้องการเป็นผลิตภัณฑ์

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.