Qual è la differenza tra sviluppo e ricerca e sviluppo?

37

Mi è stato chiesto da un collega di spiegare chiaramente la differenza tra sviluppo ordinario e ricerca e sviluppo (R & D) e non sono stato in grado di farlo. Dopo aver letto Wikipedia, non ho ancora la risposta precisa.

Secondo Wikipedia (leggermente modificato):

There are two primary models:

  • In one model, the primary function is to develop new products;

  • in the other model, the primary function is to discover and create new knowledge about scientific and technological topics for the purpose of uncovering and enabling development of valuable new products, processes, and services.

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

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

Successivamente, Wikipedia aggiunge che lo sviluppo ordinario è diverso da R & D a causa del suo:

nearly immediate profit or immediate improvement.

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

Ad esempio, appartiene allo sviluppo o R & D a:

  • Sviluppa un motore che astrae l'accesso al database, semplificando e abbreviando enormemente il codice di altre applicazioni (esistenti o future che saranno scritte) 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 un insieme di servizi web ben organizzati e interconnessi, come quello usato da Amazon?

  • Progettare un nuovo protocollo di comunicazione per consentire una più rapida replica 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?

  • Dimostra 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 un insieme preciso di compiti?

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

  • Crea una lingua specifica per il dominio (DSL)?

In breve, come potrei determinare se sto facendo R & D mentre lavoro su qualcosa?

    
posta Arseni Mourzenko 07.11.2012 - 07:11
fonte

6 risposte

35

Ottima domanda.

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

  • Punto 1

R&D = experimenting with ideas/technology that may never actually become a product.

Software Development = working on a product/service desired by a real customer.

  • Punto 2

R&D is all about developing new solutions for a specific problem domain. The end result of this endeavor is something that I call "research toys".

To be a software product, the research toy has to be completely re-implemented. Failure to do so will result in a product that appeals to an increasingly elite and erudite user base. The problem here is that this elite and erudite user base typically has no money to spend.

To be a successful, the software product must be a faithful re-implementation of the research toy, accessible and loved by the commodity user. To be truely remarkable, the software product must simultaneously appeal to the elite and erudite user.

  • Punto 3

Research implies scholarly or scientific inquiry and tends to be aimed at the greater good of an industry or society at large. Product development has different motivations and outcomes: it is driven by the potential for profit. The state of product development is healthy. The state of lighting research is not.

We need a collective commitment to the greater good to answer such questions. But this is not just philanthropy; the answer would address a practical goal. Light sources that are spectrally tuned to the visual system will be more sustainable. They will use less energy by generating their output in regions of the spectrum where the visual system responds most strongly, resulting in better seeing for building users. This example reinforces the difference between research and product development.

  • Punto 4

All development of new products to be R&D. I think some of you are confusing pure, abstract science with R&D. They aren't the same. R&D can be very product oriented. Scientists may be looking for a vaccine to cure AIDs. That is a very specific task to create a product to sell and it is certainly R&D and not just guys sitting around messing about with whatever they feel like.

  • Punto 5

R&D in the technical world = finding ways to do something interesting or important, using known techniques and technology as a starting point.

Software development = finding ways to do something interesting or important, using known techniques and technology as a starting point.

  • Punto 6

Virtually all software development is the D part of R&D. Some times, there are very little R in Software 'R&D'. Some times, there are pretty large R in Software 'R&D'.

It depends on several measurement. For example,

Managing software development for various sized companies, R&D takes on different meanings depending on the size of the company, customer base, etc.

In a small software company, with only a hand full of employees, the line between R&D software and Production software is usually very small. What one day is a software R&D project, may the next day be shipping as production software to customers.

As software companies grow, and they have one or more production software lines, they tend to create greater separation between R&D software projects and Production software products (for obvious reasons). This R&D gap is typically created to create greater diversification in their software products for tomorrow, while allowing the production software development to continue to produce today.

This is not to say that the production software products won't get innovative new features. The production software developers are typically just as "sharp" as the R&D developers. In fact, at one company, we had an enrichment program that allowed production software developers to rotate in and out of R&D projects. This not only added fresh brain power to the R&D teams, but in many cases, the production developers came back with new ideas on producing better production level software.

  • Punto 7

D = "knowing where you want to be at the end", and R is because "at the beginning of the project, you don't know what will be required to get there"

  • Punto 8

R&D are the lucky folks who get to do anything they want without accountability.

Buona ricerca / risorsa su questo argomento:

risposta data 07.11.2012 - 07:50
fonte
9

La differenza è nelle aspettative.

  • Quando lavoravo in R & D, mi aspettavo principalmente di fornire risultati di ricerca .

  • Quando lavoravo allo sviluppo, mi aspettavo principalmente di fornire software di lavoro .

Questi non sono totalmente separati, e possono esserci aree grigie abbastanza consistenti in mezzo. In fase di sviluppo, a volte è accaduto che mi aspettassi di esegui alcune ricerche . Allo stesso modo, in uno dei progetti di ricerca, mi è stato assegnato lo sviluppo di un particolare programma.

    
risposta data 07.11.2012 - 08:25
fonte
8

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

Informazioni sul tuo elenco:

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

Esistono molti ORM. A meno che il tuo non faccia qualcosa di veramente diverso, non lo conterei come R & D.

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

No.

  • Progettare un nuovo protocollo di comunicazione per consentire una più rapida replica dei dati tra due data center della società?

Se questo migliora su protocolli noti, allora considererei questo R & D.

  • 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?

  • Dimostra 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 un insieme preciso di compiti?

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

  • Crea una lingua specifica per il dominio (DSL)?

Nessuna di queste cose sembra includere la ricerca. Per dare altri esempi di cose che considererei R & D:

  • 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, ad esempio come CouchDB è stato concepito

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

  • Trova un nuovo exploit nei software o nei protocolli esistenti

  • Inventa un nuovo algoritmo di compressione

risposta data 07.11.2012 - 09:43
fonte
3

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

La frase R & D è usata per indicare che non sei sicuro sull'approccio esatto per ottenere qualcosa, e / o se può anche essere fatto, e su come funzionerà.

(MODIFICA: riformulato leggermente)

Fondamentalmente, è un modo rapido e comune per dire che c'è uno sconosciuto significativo in anticipo. Tentando di rispondere alla tua domanda, dipende in realtà da chi sta facendo la classificazione; molti di questi articoli sembrano includere una significativa componente di ricerca, ma suppongo che ci siano alcuni individui che sarebbero in grado di ottenerne molti senza alcuna ricerca. Dipende sia dal compito che dall'individuo.

Guardando la lista attuale, personalmente classificherei quelli basati sul fatto che ho fatto qualcosa di abbastanza simile in passato, e quindi sarei molto fiducioso in quello che sto per fare (o almeno, essere in grado di dare buone stime di ballpark).

    
risposta data 07.11.2012 - 07:19
fonte
0

$ 40.000 all'anno di salti mortali?

In R & D, la R a volte usa la ricerca per descrivere una cosa che viene anche descritta come sviluppo tecnologico in cui scopriamo come fare qualcosa che non sapevamo come fare. Forse ben descritta come ricerca applicata, potremmo progettare qualcosa su specifiche, quindi di solito tentare di brevettarlo o altrimenti proteggerlo o sfruttarlo a vantaggio della concorrenza.

La R potrebbe anche riferirsi al rischio, perché 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 legati a questo approccio vi sono la divisione del focus, la costruzione di prototipi NON destinati a essere gettati via e la probabilità che il marketing sia coinvolto e che considererà le stime come contratti.

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

La ricerca di solito include una nozione di rigore come esaminare la letteratura oi brevetti che cercano la tecnica anteriore, affermando le affermazioni di una nuova innovazione e dimostrando in qualche modo il loro valore e unicità. La ricerca accademica a volte sintetizza idee dalla letteratura accademica, modella alcuni fenomeni matematicamente o riporta un caso studio con analisi, conclusioni e una proposta per studi futuri.

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

    
risposta data 07.11.2012 - 07:53
fonte
-4

R & D sta sperimentando idee che potrebbero non diventare mai un prodotto. Dove, lo sviluppo del software sta lavorando a un prodotto / servizio desiderato per diventare un prodotto.

    
risposta data 20.12.2012 - 06:35
fonte

Leggi altre domande sui tag