COMET-OCEP: proceso de software para Investigación y Desarrollo


COMET-OCEP: proceso de desarrollo de software para ambientes de Investigación y Desarrollo (R&D)



Es un proceso de desarrollo de software que surge de la unión de COMET (collaborative object modeling and architectural design method) y OCEP (Open Community Engagement Model). En su primera fase, COMET-OCEP favorece la generación de prototipos descartables para la recabación y comprensión de requerimientos, y la construcción de un modelo de diseño estable, previo a la implementación definitiva. La fase de desarrollo, heredada del modelo OCEP, impulsa el desarrollo incremental. Siguiendo ambas fases se pretende equilibrar entre la elaboración de un diseño maduro, aprovechando la experiencia del desarrollo de prototipos descartables, con la construcción  ágil e incremental de software.



Las principales características diferenciadoras del proceso COMET-OCEP incluyen:
  • Considera grupos de trabajo pequeños, e inclusive un solo desarrollador (o investigador), ya que puede seguirse de manera secuencial. También puede seguirse de manera paralela, con un equipo para Investigación que genere una propuesta de diseño madura, y otro equipo dedicado al desarrollo de la propuesta.
  • En un desarrollo en ambientes de R&D, es común realizar una gran cantidad de pequeños experimentos de prueba de concepto, que permiten verificar que la teoría planteada por investigadores funciona para el caso concreto del desarrollo. Esto se considera de manera previa a la arquitectura, desde la etapa de requerimientos.
  • En un proceso de R&D todas las decisiones algorítmicas deberían estar soportadas por un razonamiento lógico basado en principios científicos, y este razonamiento debe estar claramente documentado. Esto es natural para los investigadores, quienes típicamente publican los detalles y resultados de su investigación y las metodologías seguidas para permitir resultados repetibles.
  • Un desarrollo incremental y adaptable a los cambios es otra característica requerida en R&D, debido a nuevos resultados y la evolución continua de la ciencia y la tecnología.
  • Un proceso dirigido por investigación no podría ser coherente sin artefactos entregables en cada etapa, involucrando documentación científica y de desarrollo.
Este proceso se ha aplicado en el ámbito académico para proyectos de tesis que incluyen desarrollo de software. Un proyecto de esta naturaleza puede consistir desde un prototipo descartable que permite documentar decisiones que no se han documentado previamente. También puede consistir en un documento de diseño fundamentado en teorías relevantes para áreas particulares. O en caso de requerimientos estables y tecnología disponible para su implementación, un estudiante o grupo de estudiantes podrían llevar a término una versión estable del desarrollo completo.


Referencias

[1] J. Fonseca, M. De La Torre and S. Cervantes, Software engineering process for developing a person re-identification framework, in 2018 7th International Conference On Software Process Improvement (CIMPS), Oct 2018, pp. 69–77. (Preprint: https://www.researchgate.net/publication/328433353_Software_Engineering_Process_for_Developing_a_Person_Re-identification_Framework)
[2] J. Fonseca Bustos, "A software process for reserach & development projects and its aplication to a person re-identification framework", CUValles, Universidad de Guadalajara, 2018. (Disponible: https://www.riudg.udg.mx/visor/pdfjs/viewer.jsp?in=j&pdf=20.500.12104/81806/1/MCUVALLES10014FT.pdf)


Comentarios

Entradas populares de este blog

COMET-OCEP: A software development process for research and development (R&D)