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?
fuente
Respuestas:
Gran pregunta
Es importante distinguir entre 'Desarrollo' e 'I + D'.
Buena investigación / recurso sobre este tema:
fuente
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.
fuente
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:
Existen muchos ORM. A menos que el suyo haga algo realmente diferente, no lo consideraría como I + D.
No
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
fuente
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).
fuente
¿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.
fuente
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.
fuente