Qual è la differenza tra sviluppo e ricerca e sviluppo?


39

Un collega mi ha chiesto di spiegare chiaramente la differenza tra sviluppo ordinario e ricerca e sviluppo (R&S) e non sono stato in grado di farlo. Dopo aver letto Wikipedia, non ho ancora la risposta precisa.

Secondo Wikipedia (leggermente modificato):

Esistono due modelli principali:

  • In un modello, la funzione principale è quella di sviluppare nuovi prodotti ;

  • nell'altro modello, la funzione principale è quella di scoprire e creare nuove conoscenze su argomenti scientifici e tecnologici allo scopo di scoprire e consentire lo sviluppo di nuovi prodotti, processi e servizi di valore.

Il primo modello è confuso. Significa che lo sviluppo (non la ricerca e sviluppo) consiste esclusivamente nell'aggiunta di nuove funzionalità a un prodotto, nella risoluzione di bug e nella manutenzione? Cosa succede se qualcosa che era stato precedentemente sviluppato come una nuova funzionalità diventa un prodotto separato?

Il secondo modello è meno confuso, ma comunque, come qualificare se qualcosa è nuova conoscenza o conoscenza esistente che è appena riscoperta?

Successivamente, Wikipedia aggiunge che lo sviluppo ordinario è diverso dalla ricerca e sviluppo a causa della sua:

profitto quasi immediato o miglioramento immediato.

Non è ancora abbastanza chiaro. Come qualificare "profitto quasi immediato"? Cosa succede se un'attività ha un profitto immediato ma richiede una ricerca approfondita? O se è di base ma ha profitti incerti, come l'applicazione di uno stile comune sulla base di codice?

Ad esempio, appartiene allo sviluppo o alla ricerca e sviluppo di:

  • Sviluppare un motore che impedisce l'accesso al database, semplificando e abbreviando enormemente il codice di altre applicazioni (esistenti o che verranno scritte in futuro) che dovrebbero accedere al database?

  • Stabilire una nuova architettura orientata ai servizi per l'intera organizzazione delle risorse aziendali, al fine di passare da un gruppo di applicazioni separate e autonome a una serie di servizi Web ben organizzati e interconnessi, come quello che viene utilizzato da Amazon?

  • Progettare un nuovo protocollo di comunicazione per consentire una replica più rapida dei dati tra due data center dell'azienda?

  • Concepire un nuovo tipo di test del software mentre si lavora su un prodotto specifico, sapendo che questo tipo di test migliorerà / semplificherà il processo di test?

  • Dimostrare che la programmazione funzionale è più appropriata di OOP per un'applicazione specifica, basata su prove, logica ed esperienza precedente?

  • Migliorare l'applicazione esistente aggiungendo gesti su schermi tattili, dopo aver fatto studi e test che dimostrano che quei gesti migliorano la produttività degli utenti di un rapporto di almeno 1,4 per una serie precisa di attività?

  • Trova un modo per migliorare fortemente l'efficacia di utilizzo dell'energia (PUE) di un data center?

  • Creare una lingua specifica del dominio (DSL)?

In breve, come posso determinare se sto facendo ricerca e sviluppo mentre lavoro su qualcosa?


21
Ehm ... la R&S include la ricerca?
Robert Harvey,

Risposte:


37

Ottima domanda

È importante distinguere tra "Sviluppo" e "R&S".

  • Punto 1

R&S = sperimentazione di idee / tecnologia che potrebbero non diventare mai realmente un prodotto.

Sviluppo software = lavorare su un prodotto / servizio desiderato da un cliente reale.

  • Punto 2

La ricerca e sviluppo riguarda lo sviluppo di nuove soluzioni per un settore specifico del problema. Il risultato finale di questo sforzo è qualcosa che io chiamo "giocattoli di ricerca".

Per essere un prodotto software, il giocattolo di ricerca deve essere completamente implementato. In caso contrario, si tradurrà in un prodotto che fa appello a una base di utenti sempre più elitaria ed erudita. Il problema qui è che questa base di utenti d'élite ed eruditi in genere non ha soldi da spendere.

Per avere successo, il prodotto software deve essere una fedele reimplementazione del giocattolo di ricerca, accessibile e amato dall'utente delle materie prime. Per essere davvero notevole, il prodotto software deve fare appello simultaneamente all'utente d'elite ed erudito.

  • Punto 3

La ricerca implica un'indagine scientifica o scientifica e tende a mirare al bene più grande di un'industria o di una società in generale. Lo sviluppo del prodotto ha diverse motivazioni e risultati: è guidato dal potenziale di profitto. Lo stato di sviluppo del prodotto è salutare. Lo stato della ricerca sull'illuminazione non lo è.

Abbiamo bisogno di un impegno collettivo per il bene superiore per rispondere a tali domande. Ma questa non è solo filantropia; la risposta verrebbe indirizzata a un obiettivo pratico. Le fonti luminose che sono spettralmente sintonizzate sul sistema visivo saranno più sostenibili. Utilizzeranno meno energia generando la loro produzione in regioni dello spettro in cui il sistema visivo risponde in modo più forte, risultando in una migliore visione per gli utenti dell'edificio. Questo esempio rafforza la differenza tra ricerca e sviluppo del prodotto.

  • Punto 4

Tutto lo sviluppo di nuovi prodotti sarà ricerca e sviluppo. Penso che alcuni di voi confondano la scienza pura e astratta con la ricerca e lo sviluppo. Non sono gli stessi. La R&S può essere molto orientata al prodotto. Gli scienziati potrebbero essere alla ricerca di un vaccino per curare gli AIDS. Questo è un compito molto specifico per creare un prodotto da vendere ed è certamente ricerca e sviluppo e non solo ragazzi seduti a scherzare con ciò che si sentono.

  • Punto 5

Ricerca e sviluppo nel mondo tecnico = trovare modi per fare qualcosa di interessante o importante, usando come punto di partenza tecniche e tecnologie note.

Sviluppo software = trovare modi per fare qualcosa di interessante o importante, usando come punto di partenza tecniche e tecnologie note.

  • Punto 6

Praticamente tutto lo sviluppo del software è la parte D della R&S. Alcune volte, ci sono pochissime R nella "Ricerca e sviluppo" del software. Alcune volte, ci sono R piuttosto grandi nella "Ricerca e sviluppo" del software.

Dipende da diverse misurazioni. Per esempio,

Gestendo lo sviluppo di software per aziende di varie dimensioni, la R&S assume significati diversi a seconda delle dimensioni dell'azienda, della base di clienti, ecc.

In una piccola società di software, con solo una mano piena di dipendenti, la linea tra il software di ricerca e sviluppo e il software di produzione è generalmente molto ridotta. Quello che un giorno è un progetto di ricerca e sviluppo di software, può il giorno successivo essere spedito come software di produzione ai clienti.

Man mano che le società di software crescono e hanno una o più linee di software di produzione, tendono a creare una maggiore separazione tra progetti di software di ricerca e sviluppo e prodotti di software di produzione (per ovvi motivi). Questo divario di ricerca e sviluppo è in genere creato per creare una maggiore diversificazione nei loro prodotti software per domani, consentendo allo sviluppo del software di produzione di continuare a produrre oggi.

Questo non vuol dire che i prodotti software di produzione non avranno nuove funzionalità innovative. Gli sviluppatori di software di produzione sono in genere tanto "acuti" quanto gli sviluppatori di R&S. In effetti, presso un'azienda avevamo un programma di arricchimento che consentiva agli sviluppatori di software di produzione di ruotare dentro e fuori dai progetti di ricerca e sviluppo. Ciò non solo ha aggiunto nuovo potere cerebrale ai team di ricerca e sviluppo, ma in molti casi gli sviluppatori di produzione sono tornati con nuove idee sulla produzione di software di livello di produzione migliore.

  • Punto 7

D = "sapere dove vuoi essere alla fine", e R è perché "all'inizio del progetto, non sai cosa ti sarà richiesto per arrivarci"

  • Punto 8

Le attività di ricerca e sviluppo sono le persone fortunate che riescono a fare tutto ciò che vogliono senza responsabilità.

Buona ricerca / risorsa su questo argomento:


1
Penso che l'unica cosa che non hai esplicitato esplicitamente - Praticamente tutto lo sviluppo del software è la parte D della R&S. Nella R & S software ci sono pochissime R - Tutti gli esempi nel PO sono Sviluppo.
Mattnz,

@mattnz, sono d'accordo con te. ora ho incluso il tuo punto nella mia risposta. Grazie per il suggerimento :)
Md Mahbubur Rahman,

9

La differenza sta nelle aspettative.

  • Quando ho lavorato in R&S, mi aspettavo principalmente di fornire risultati di ricerca .

  • Quando ho lavorato nello sviluppo, mi aspettavo principalmente di fornire software funzionante .

Questi non sono completamente separati e possono esserci aree grigie abbastanza sostanziali nel mezzo. In fase di sviluppo, a volte è successo che mi aspettavo di svolgere alcune ricerche . Allo stesso modo, in uno dei progetti di ricerca, mi è stato assegnato lo sviluppo di un programma particolare.


8

Come altri hanno già detto, la R & S implica la ricerca. Per me, la ricerca sta lavorando a qualcosa che nessuna gente sa fare al momento. Se è stato fatto, non si tratta di ricerca, anche se potrebbe richiedere investimenti significativi in ​​termini di tempo per studiare le soluzioni esistenti e la letteratura.

Informazioni sul tuo elenco:

  • Sviluppare un motore che impedisce l'accesso al database, semplificando e abbreviando enormemente il codice di altre applicazioni (esistenti o che verranno scritte in futuro) che dovrebbero accedere al database?

Esistono molti ORM. A meno che la tua non faccia qualcosa di veramente diverso, non la considererei come ricerca e sviluppo.

  • Stabilire una nuova architettura orientata ai servizi per l'intera organizzazione delle risorse aziendali, al fine di passare da un gruppo di applicazioni separate e autonome a una serie di servizi Web ben organizzati e interconnessi, come quello che viene utilizzato da Amazon?

No.

  • Progettare un nuovo protocollo di comunicazione per consentire una replica più rapida dei dati tra due data center dell'azienda?

Se ciò migliora i protocolli noti, allora prenderei in considerazione questa ricerca e sviluppo.

  • Concepire un nuovo tipo di test del software mentre si lavora su un prodotto specifico, sapendo che questo tipo di test migliorerà / semplificherà il processo di test?

  • Dimostrare che la programmazione funzionale è più appropriata di OOP per un'applicazione specifica, basata su prove, logica ed esperienza precedente?

  • Migliorare l'applicazione esistente aggiungendo gesti su schermi tattili, dopo aver fatto studi e test che dimostrano che quei gesti migliorano la produttività degli utenti di un rapporto di almeno 1,4 per una serie precisa di attività?

  • Trova un modo per migliorare fortemente l'efficacia di utilizzo dell'energia (PUE) di un data center?

  • Creare una lingua specifica del dominio (DSL)?

Nessuna di queste cose sembra includere la ricerca. Per dare altri esempi di cose che prenderei in considerazione la R & S:

  • Migliora l'inferenza del tipo in Scala, consentendo una migliore unificazione

  • Inventa un nuovo tipo di ottimizzazione del compilatore

  • Crea un nuovo database che presenta differenze significative rispetto a quelli esistenti - diciamo come lo era CouchDB quando è stato concepito

  • Sviluppa una libreria funzionante e utilizzabile per la programmazione reattiva funzionale

  • Trova un nuovo exploit in software o protocolli esistenti

  • Inventa un nuovo algoritmo di compressione


3

Informalmente, il modo in cui lo definirei (e come l'ho visto generalmente usato in pratica) è qualcosa del tipo:

La frase R&S viene utilizzata per indicare che non si è sicuri dell'approccio esatto per ottenere qualcosa, e / o se può anche essere fatto, e di quanto funzionerà.

(EDIT: riformulato leggermente)

Fondamentalmente, è un modo rapido e comune per dire che c'è uno sconosciuto significativo in vista. Tentare di rispondere alla tua vera domanda, dipende davvero da chi sta facendo la classifica; molti di questi elementi sembrano includere una significativa componente di ricerca, ma immagino che ci siano alcuni individui che sarebbero in grado di raggiungerne molti senza alcuna ricerca. Dipende sia dall'attività che dall'individuo.

Guardando l'elenco attuale, classificherei personalmente quelli in base al fatto che in passato abbia fatto qualcosa di abbastanza simile e quindi sarei molto fiducioso in quello che sto per fare (o almeno, essere in grado di dare un buon ballpark stime).


0

40.000 $ all'anno di aumento di stipendio?

In R&S, la R a volte usa la ricerca per descrivere una cosa che è anche descritta come sviluppo tecnologico in cui scopriamo come fare qualcosa che non sapevamo fare. Forse ben descritto come ricerca applicata, potremmo progettare qualcosa su specifica, quindi di solito proviamo a brevettarlo o altrimenti proteggerlo o sfruttarlo a vantaggio competitivo.

La R potrebbe anche riferirsi al rischio, poiché i progetti di ricerca e sviluppo spesso cercano di combinare insieme la scoperta e lo sfruttamento di nuove tecnologie e lo sfruttamento di tecnologie conosciute. Tra gli altri rischi di questo approccio vi sono la divisione del focus, la costruzione di un prototipo che NON è destinato a essere gettato via e la probabilità che il marketing sia coinvolto e tratterà le stime come contratti.

R&S è un termine che può vestire un dipartimento che è principalmente coinvolto nello sviluppo. La maggior parte dei progetti tecnologici dovrebbe combinare la ricerca con una sorta di prototipo, ma realizzare una o una dozzina di qualcosa non mi sembra sviluppo a meno che non possa essere tramandato alla produzione.

La ricerca di solito include una nozione di rigore come esaminare la letteratura o i brevetti in cerca di arte nota, affermare affermazioni di nuove innovazioni e dimostrare il loro valore e unicità in qualche modo. La ricerca accademica talvolta sintetizza idee tratte dalla letteratura accademica, modella matematicamente alcuni fenomeni o riporta un caso di studio con analisi, conclusioni e una proposta per studi futuri.

Forse la R&S è interessata a cose che non sono state fatte prima ma che a breve saranno rese disponibili come prodotto.


-4

La R&S sta sperimentando idee che potrebbero non diventare mai un prodotto. Dove, lo sviluppo software sta lavorando su un prodotto / servizio desiderato per diventare un prodotto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.