Un collègue m'a demandé d'expliquer clairement la différence entre développement ordinaire et recherche et développement (R & D) et était incapable de le faire. Après avoir lu Wikipedia, je n'ai toujours pas de réponse précise.
Selon Wikipedia (légèrement modifié):
Il existe deux modèles principaux:
Dans un modèle, la fonction principale est de développer de nouveaux produits ;
dans l'autre modèle, la fonction principale est de découvrir et de créer de nouvelles connaissances sur des sujets scientifiques et technologiques dans le but de découvrir et de permettre le développement de nouveaux produits, processus et services utiles.
Le premier modèle est déroutant. Cela signifie-t-il que le développement (et non la R & D) consiste exclusivement à ajouter de nouvelles fonctionnalités à un produit, à résoudre des bugs et à effectuer la maintenance? Et si quelque chose qui était auparavant développé comme nouvelle fonctionnalité devenait un produit séparé?
Le second modèle est moins déroutant, mais quand même, comment qualifier si quelque chose est une nouvelle connaissance ou une connaissance existante qui vient d'être redécouverte?
Plus tard, Wikipedia ajoute que le développement ordinaire est différent de la R & D en raison de:
profit presque immédiat ou amélioration immédiate.
Ce n'est toujours pas assez clair. Comment qualifier un "profit quasi immédiat"? Que se passe-t-il si une tâche génère un profit immédiat mais nécessite des recherches approfondies? Ou si elle est basique mais a un profit incertain, comme l’application d’un style commun sur la base de code?
Par exemple, appartient-il au développement ou à la R & D pour:
Développer un moteur qui abstrait l'accès à la base de données, simplifiant et simplifiant énormément le code d'autres applications (existantes ou à écrire) qui devraient accéder à la base de données?
Établissez une nouvelle architecture orientée services pour l'ensemble de l'organisation des ressources de l'entreprise, afin de passer d'un ensemble d'applications distinctes et autonomes à un ensemble de services Web interconnectés et bien organisés, comme ce qui est utilisé par Amazon?
Concevoir un nouveau protocole de communication pour permettre une réplication plus rapide des données entre deux centres de données de la société?
Concevoir un nouveau type de test logiciel tout en travaillant sur un produit spécifique, sachant que ce type de test va améliorer / simplifier le processus de test?
Prouver que la programmation fonctionnelle est plus appropriée que la POO pour une application spécifique, basée sur des preuves, la logique et l'expérience antérieure?
Améliorer l'application existante en ajoutant des gestes sur des écrans tactiles, après des études et des tests montrant que ces gestes améliorent la productivité des utilisateurs d'au moins 1,4 pour un ensemble de tâches précis?
Trouver un moyen d'améliorer fortement l'efficacité énergétique d'un centre de données?
Créer un langage spécifique au domaine (DSL)?
En bref, comment puis-je déterminer si je fais de la RD tout en travaillant sur quelque chose?
la source
Réponses:
Grande question.
Il est important de faire la distinction entre "développement" et "R & D".
Bonne recherche / ressource sur ce sujet:
la source
La différence est dans les attentes.
Quand je travaillais en R & D, je devais avant tout fournir des résultats de recherche .
Lorsque je travaillais dans le développement, je devais avant tout fournir des logiciels fonctionnels .
Celles-ci ne sont pas totalement séparées et il peut y avoir des zones grises assez importantes entre les deux. En développement, il m'est parfois arrivé de faire quelques recherches . De même, dans l'un des projets de recherche, j'ai été chargé de développer un programme particulier.
la source
Comme d'autres l'ont dit, la R & D implique la recherche. Pour moi, la recherche porte sur quelque chose que personne ne sait faire à l'heure actuelle. Si cela a été fait, il ne s'agit pas de recherche, même si cela peut nécessiter beaucoup de temps pour étudier les solutions existantes et la littérature.
A propos de votre liste:
De nombreux ORM existent. À moins que le vôtre fasse quelque chose de vraiment différent, je ne le considérerais pas comme de la recherche et du développement.
Nan.
Si cela améliore les protocoles connus, alors je considérerais cette recherche et développement.
Concevoir un nouveau type de test logiciel tout en travaillant sur un produit spécifique, sachant que ce type de test va améliorer / simplifier le processus de test?
Prouver que la programmation fonctionnelle est plus appropriée que la POO pour une application spécifique, basée sur des preuves, la logique et l'expérience antérieure?
Améliorer l'application existante en ajoutant des gestes sur des écrans tactiles, après des études et des tests montrant que ces gestes améliorent la productivité des utilisateurs d'au moins 1,4 pour un ensemble de tâches précis?
Trouver un moyen d'améliorer fortement l'efficacité énergétique d'un centre de données?
Créer un langage spécifique au domaine (DSL)?
Aucune de ces choses ne semble inclure la recherche. Pour donner d’autres exemples de choses que je considérerais comme de la R & D:
Améliorer l'inférence de type dans Scala, permettant une meilleure unification
Inventer un nouveau type d'optimisation du compilateur
Créer une nouvelle base de données qui présente des différences significatives par rapport à celles existantes - disons comme CouchDB quand il a été conçu
Développer une bibliothèque de travail utilisable pour la programmation réactive fonctionnelle
Trouver un nouvel exploit dans les logiciels ou protocoles existants
Inventer un nouvel algorithme de compression
la source
De manière informelle, la façon dont je le définirais (et comment je l’ai généralement vu utilisé dans la pratique) ressemble à quelque chose comme:
L'expression R & D est utilisée pour indiquer que vous n'êtes pas sûr de l'approche exacte pour atteindre quelque chose et / ou si cela peut même être fait et de son efficacité.
(EDIT: reformulé légèrement)
Fondamentalement, c’est une façon rapide et commune de dire qu’il nous reste une inconnue importante. Si vous essayez de répondre à votre question, alors, cela dépend vraiment de qui fait la classification; bon nombre de ces éléments semblent inclure une composante de recherche importante, mais je suppose que certaines personnes seraient en mesure de réaliser nombre d'entre elles sans aucune recherche. Cela dépend à la fois de la tâche et de l'individu.
En regardant la liste actuelle, je classerais personnellement ceux-ci selon si j’ai fait quelque chose de similaire dans le passé, et j’aurais donc une grande confiance dans ce que je vais faire (ou du moins, être capable de donner une bonne idée estimations).
la source
40 000 $ par an, augmentation du salaire?
Dans la R & D, le R utilise parfois des recherches pour décrire une chose qui est également décrite comme un développement technologique où nous découvrons comment faire quelque chose que nous ne savions pas comment faire. Peut-être bien qualifiée de recherche appliquée, nous pourrions concevoir quelque chose à la spécification, puis essayer généralement de la breveter ou de la protéger ou de l'exploiter autrement pour en tirer un avantage concurrentiel.
Le R pourrait également faire référence au risque, car les projets de recherche et développement tentent souvent de combiner à la fois la découverte et l’exploitation de nouvelles technologies et l’exploitation de technologies connues. Parmi les autres risques liés à cette approche, vous devez diviser votre objectif, construire des prototypes qui ne sont PAS destinés à être jetés, et la probabilité que le marketing soit impliqué et traitera les estimations comme des contrats.
La R & D est un terme qui peut habiller un département principalement impliqué dans le développement. La plupart des projets technologiques devraient associer la recherche à une sorte de prototype, mais créer une ou une douzaine de choses ne me semble pas être un développement, à moins que cela ne puisse être confié à la fabrication.
La recherche inclut généralement une notion de rigueur telle que l'examen de la littérature ou des brevets à la recherche d'un état de la technique, affirmant des revendications d'innovations nouvelles et démontrant leur valeur et leur caractère unique d'une manière ou d'une autre. La recherche académique synthétise parfois les idées de la littérature académique, modélise mathématiquement un phénomène ou rapporte une étude de cas avec une analyse, des conclusions et une proposition d’étude future.
Peut-être que la R & D s'intéresse à des choses qui n'ont pas encore été faites mais qui seront disponibles à court terme en tant que produit.
la source
La R & D expérimente des idées qui pourraient ne jamais devenir un produit. Où, le développement de logiciels travaille sur un produit / service pour devenir un produit.
la source