¿Cuál es la diferencia entre desarrollo e I + D?

39

Un colega me pidió que explicara claramente la diferencia entre el desarrollo ordinario y la investigación y el desarrollo (I + D) y no pude hacerlo. Después de leer Wikipedia, todavía no tengo la respuesta precisa.

Según Wikipedia (ligeramente modificado):

Hay dos modelos principales:

  • En un modelo, la función principal es desarrollar nuevos productos ;

  • En el otro modelo, la función principal es descubrir y crear nuevos conocimientos sobre temas científicos y tecnológicos con el fin de descubrir y permitir el desarrollo de nuevos productos, procesos y servicios valiosos.

El primer modelo es confuso. ¿Significa que el desarrollo (no I + D) consiste exclusivamente en agregar nuevas características a un producto, resolver errores y realizar tareas de mantenimiento? ¿Qué pasa si algo que se desarrolló previamente como una nueva característica se convierte en un producto separado?

El segundo modelo es menos confuso, pero aún así, ¿cómo calificar si algo es conocimiento nuevo o conocimiento existente que se acaba de redescubrir?

Más tarde, Wikipedia agrega que el desarrollo ordinario es diferente de la I + D debido a que:

beneficio casi inmediato o mejora inmediata.

Todavía no está lo suficientemente claro. ¿Cómo calificar "beneficio casi inmediato"? ¿Qué pasa si una tarea tiene una ganancia inmediata pero requiere una gran investigación? ¿O si es básico pero tiene ganancias inciertas, como la aplicación de un estilo común sobre la base de código?

Por ejemplo, ¿pertenece al desarrollo o I + D a:

  • ¿Desarrollar un motor que abstraiga el acceso a la base de datos, simplificando y acortando enormemente el código de otras aplicaciones (existentes o que se escribirán en el futuro) que deberían acceder a la base de datos?

  • Establecer una nueva arquitectura orientada a servicios para toda la organización de los recursos de la empresa, con el fin de pasar de un conjunto de aplicaciones independientes y autónomas a un conjunto de servicios web bien organizados e interconectados, como lo que utiliza Amazon.

  • ¿Diseñar un nuevo protocolo de comunicación para permitir una replicación más rápida de datos entre dos centros de datos de la empresa?

  • ¿Cree un nuevo tipo de prueba de software mientras trabaja en un producto específico, sabiendo que este tipo de prueba mejorará / simplificará el proceso de prueba?

  • ¿Probar que la programación funcional es más apropiada que OOP para una aplicación específica, basada en evidencia, lógica y experiencia previa?

  • ¿Mejorar la aplicación existente agregando gestos en pantallas táctiles, después de hacer estudios y pruebas que muestran que esos gestos mejoran la productividad de los usuarios en una proporción de al menos 1.4 para un conjunto preciso de tareas?

  • ¿Encuentra una manera de mejorar la eficacia del uso de energía (PUE) de un centro de datos?

  • ¿Crear un lenguaje específico de dominio (DSL)?

En resumen, ¿cómo podría determinar si estoy haciendo I + D mientras trabajo en algo?

Arseni Mourzenko
fuente
21
Erm ... I + D incluye la investigación?
Robert Harvey, el

Respuestas:

37

Gran pregunta

Es importante distinguir entre 'Desarrollo' e 'I + D'.

  • Punto 1

I + D = experimentar con ideas / tecnología que en realidad nunca pueden convertirse en un producto.

Desarrollo de software = trabajar en un producto / servicio deseado por un cliente real.

  • Punto 2

La I + D se trata de desarrollar nuevas soluciones para un dominio de problema específico. El resultado final de este esfuerzo es algo que llamo "juguetes de investigación".

Para ser un producto de software, el juguete de investigación debe volver a implementarse por completo. De lo contrario, el producto resultará atractivo para una base de usuarios cada vez más elitista y erudita. El problema aquí es que esta base de usuarios élite y erudita generalmente no tiene dinero para gastar.

Para tener éxito, el producto de software debe ser una fiel reimplementación del juguete de investigación, accesible y querido por el usuario del producto. Para ser verdaderamente notable, el producto de software debe atraer simultáneamente al usuario de élite y erudito.

  • Punto 3

La investigación implica investigación académica o científica y tiende a estar dirigida al bien mayor de una industria o sociedad en general. El desarrollo de productos tiene diferentes motivaciones y resultados: está impulsado por el potencial de ganancias. El estado del desarrollo del producto es saludable. El estado de la investigación de iluminación no lo es.

Necesitamos un compromiso colectivo con el bien común para responder a tales preguntas. Pero esto no es solo filantropía; la respuesta abordaría un objetivo práctico. Las fuentes de luz que se sintonizan espectralmente con el sistema visual serán más sostenibles. Utilizarán menos energía al generar su salida en regiones del espectro donde el sistema visual responde con mayor fuerza, lo que resulta en una mejor visión para los usuarios del edificio. Este ejemplo refuerza la diferencia entre investigación y desarrollo de productos.

  • Punto 4

Todo el desarrollo de nuevos productos para ser I + D. Creo que algunos de ustedes confunden la ciencia pura y abstracta con la I + D. No son lo mismo. La I + D puede estar muy orientada al producto. Los científicos pueden estar buscando una vacuna para curar el SIDA. Esa es una tarea muy específica para crear un producto para vender y ciertamente es I + D y no solo muchachos sentados jugando con lo que quieran.

  • Punto 5

I + D en el mundo técnico = encontrar formas de hacer algo interesante o importante, utilizando técnicas y tecnología conocidas como punto de partida.

Desarrollo de software = encontrar formas de hacer algo interesante o importante, utilizando técnicas y tecnología conocidas como punto de partida.

  • Punto 6

Prácticamente todo el desarrollo de software es la parte D de I + D. Algunas veces, hay muy poca R en el software 'I + D'. Algunas veces, hay una R bastante grande en el software 'I + D'.

Depende de varias medidas. Por ejemplo,

Gestionando el desarrollo de software para empresas de diversos tamaños, I + D adquiere diferentes significados según el tamaño de la empresa, la base de clientes, etc.

En una pequeña empresa de software, con solo un puñado de empleados, la línea entre el software de I + D y el software de producción suele ser muy pequeña. Lo que un día es un proyecto de I + D de software, puede que al día siguiente se envíe como software de producción a los clientes.

A medida que las empresas de software crecen y tienen una o más líneas de software de producción, tienden a crear una mayor separación entre los proyectos de software de I + D y los productos de software de producción (por razones obvias). Esta brecha de I + D generalmente se crea para crear una mayor diversificación en sus productos de software para el futuro, al tiempo que permite que el desarrollo del software de producción continúe produciendo hoy.

Esto no quiere decir que los productos de software de producción no tendrán nuevas características innovadoras. Los desarrolladores de software de producción suelen ser tan "agudos" como los desarrolladores de I + D. De hecho, en una compañía, teníamos un programa de enriquecimiento que permitía a los desarrolladores de software de producción rotar dentro y fuera de los proyectos de I + D. Esto no solo agregó una nueva capacidad intelectual para los equipos de I + D, sino que, en muchos casos, los desarrolladores de producción volvieron con nuevas ideas para producir un mejor software de nivel de producción.

  • Punto 7

D = "saber dónde quieres estar al final", y R es porque "al comienzo del proyecto, no sabes qué se necesitará para llegar allí"

  • Punto 8

I + D son las personas afortunadas que pueden hacer lo que quieran sin responsabilidad.

Buena investigación / recurso sobre este tema:

Md Mahbubur Rahman
fuente
1
Creo que lo único que no ha explicado explícitamente: prácticamente todo el desarrollo de software es la parte D de I + D. Hay muy poca R en la mayoría de las "I + D" de software. Todos los ejemplos en el OP son Desarrollo.
mattnz
@mattnz, estoy de acuerdo contigo. ahora he incluido tu punto en mi respuesta. Gracias por la sugerencia :)
Md Mahbubur Rahman
9

La diferencia está en las expectativas.

  • Cuando trabajé en I + D, se esperaba principalmente que proporcionara resultados de investigación .

  • Cuando he estado trabajando en el desarrollo, se esperaba principalmente que proporcionara software de trabajo .

Estos no están totalmente separados, y puede haber áreas grises bastante sustanciales en el medio. En el desarrollo, a veces sucedía que se esperaba que realizara algunas investigaciones . Del mismo modo, en uno de los proyectos de investigación, me asignaron a desarrollar un programa particular.

mosquito
fuente
8

Como otros han dicho, la I + D implica investigación. Para mí, la investigación está trabajando en algo que ninguna persona sabe hacer en este momento. Si se ha hecho, no es investigación, aunque puede requerir una inversión de tiempo considerable para estudiar las soluciones existentes y la literatura.

Sobre tu lista:

  • ¿Desarrollar un motor que abstraiga el acceso a la base de datos, simplificando y acortando enormemente el código de otras aplicaciones (existentes o que se escribirán en el futuro) que deberían acceder a la base de datos?

Existen muchos ORM. A menos que el suyo haga algo realmente diferente, no lo consideraría como I + D.

  • Establecer una nueva arquitectura orientada a servicios para toda la organización de los recursos de la empresa, con el fin de pasar de un conjunto de aplicaciones independientes y autónomas a un conjunto de servicios web bien organizados e interconectados, como lo que utiliza Amazon.

No

  • ¿Diseñar un nuevo protocolo de comunicación para permitir una replicación más rápida de datos entre dos centros de datos de la empresa?

Si esto mejora en protocolos conocidos, entonces consideraría este R&D.

  • ¿Cree un nuevo tipo de prueba de software mientras trabaja en un producto específico, sabiendo que este tipo de prueba mejorará / simplificará el proceso de prueba?

  • ¿Probar que la programación funcional es más apropiada que OOP para una aplicación específica, basada en evidencia, lógica y experiencia previa?

  • ¿Mejorar la aplicación existente agregando gestos en pantallas táctiles, después de hacer estudios y pruebas que muestran que esos gestos mejoran la productividad de los usuarios en una proporción de al menos 1.4 para un conjunto preciso de tareas?

  • ¿Encuentra una manera de mejorar la eficacia del uso de energía (PUE) de un centro de datos?

  • ¿Crear un lenguaje específico de dominio (DSL)?

Ninguna de estas cosas parece incluir la investigación. Para dar otros ejemplos de cosas que consideraría I + D:

  • Mejore la inferencia de tipos en Scala, permitiendo una mejor unificación

  • Inventa un nuevo tipo de optimización del compilador

  • Cree una nueva base de datos que tenga diferencias significativas de las existentes, por ejemplo, como CouchDB era cuando fue concebida

  • Desarrollar una biblioteca funcional y utilizable para la programación reactiva funcional.

  • Encuentre un nuevo exploit en software o protocolos existentes

  • Inventar un nuevo algoritmo de compresión

Andrea
fuente
3

Informalmente, la forma en que lo definiría (y cómo lo he visto generalmente utilizado en la práctica) es algo así como:

La frase I + D se usa para indicar que no está seguro sobre el enfoque exacto para lograr algo, y / o si se puede hacer, y qué tan bien funcionará.

(EDITAR: reformulado ligeramente)

Básicamente, es una forma rápida y común de decir que hay una incógnita significativa por delante. Intentar responder a su pregunta real entonces, realmente depende de quién está haciendo la clasificación; Parece que muchos de esos elementos incluyen un componente de investigación significativo, pero creo que hay algunas personas que podrían lograr muchos de ellos sin ninguna investigación. Depende tanto de la tarea como del individuo.

Mirando la lista real, personalmente clasificaría a aquellos en función de si he hecho algo similar en el pasado y, por lo tanto, estaría muy seguro de lo que estoy a punto de hacer (o al menos, podré dar un buen estadio) estimados).

Daniel B
fuente
0

¿Aumento salarial de $ 40,000 por año?

En I + D, la R a veces utiliza la investigación para describir algo que también se describe como desarrollo tecnológico en el que descubrimos cómo hacer algo que no sabíamos hacer. Tal vez bien descrito como investigación aplicada, podríamos diseñar algo según las especificaciones, y luego tratar de patentarlo o protegerlo o explotarlo para obtener una ventaja competitiva.

La R también podría referirse al riesgo, porque los proyectos de investigación y desarrollo a menudo intentan combinar tanto el descubrimiento como la explotación de nuevas tecnologías y la explotación de tecnologías conocidas. Entre otros riesgos para este enfoque están dividir su enfoque, construir prototipos que NO estén destinados a ser desechados, y la probabilidad de que el marketing esté involucrado y trate las estimaciones como contratos.

I + D es un término que puede vestir a un departamento que se dedica principalmente al desarrollo. La mayoría de los proyectos de tecnología deberían combinar la investigación con algún tipo de prototipo, pero hacer una o una docena de algo no me parece un desarrollo a menos que pueda entregarse a la fabricación.

La investigación generalmente incluye una noción de rigor, como examinar la literatura o las patentes en busca de la técnica anterior, afirmar afirmaciones de nueva innovación y demostrar su valor y singularidad de alguna manera. La investigación académica a veces sintetiza ideas de la literatura académica, modela algunos fenómenos matemáticamente o informa un estudio de caso con análisis, conclusiones y una propuesta para estudios futuros.

Quizás R&D esté interesado en cosas que no se han hecho antes pero que a corto plazo estarán disponibles como producto.

DesarrolladorDon
fuente
-4

R&D está experimentando con ideas que quizás nunca se conviertan en un producto. Donde, Software Development está trabajando en un producto / servicio deseado para convertirse en un producto.

CoolProgrammer
fuente