2010/11/03

Una entrevista

Hace unos días, alguien me hizo unas preguntas sobre el proceso de desarrollo de un software. En este contexto, hubo una pregunta que me llamó la atención, fue esta: ¿hay algún cambio después o durante la fase de desarrollo? (Creo que la pregunta se refiere sobre un cambio en las fases de análisis y/o diseño cuando estamos en la etapa de desarrollo, entonces, la pregunta sería más precisa de la siguiente manera: ¿durante la etapa de desarrollo, puede haber algún cambio o modificación en los productos generados en las etapas de análisis y/o diseño?)


En mi humilde opinión, DESPUéS de la fase de desarrollo no debería existir ningún cambio, dado que lo siguiente a realizar es la fase de despliegue (deployment), y esta fase nos conduce a un ambiente de producción, donde el cliente puede probar y trabajar con el producto. Pero, ¿qué hay sobre algún cambio DURANTE la fase de desarrollo? He aquí mi opinión:


El desarrollo de un producto de software NO DEBE verse por etapas excluyentes, por ello la relevancia e importancia de las metodologías iterativas. Es decir, en la etapa o fase de desarrollo puede existir la necesidad de iterar hacia la etapa de análisis y/o diseño a fin de atender nuevas problemáticas durante el desarrollo del sistema.


En lo personal, no creo en un análisis y diseño perfecto, y esto es una crítica respecto a la ingeniería de software en comparación con otras ingenierías. Es decir, es muy probable que en casi todos los proyectos de software surjan cambios a medida que se avanza. No obstante, no todo está perdido. Si se sincronizan diagramas con código se puede obtener una conversión fiel de los diagramas a código, y si es necesario realizar algunas modificaciones a nivel lógico (programación) la sincronización realizada nos conducirá a la representación fiel del código a diagramas. En resumen, me refiero al Desarrollo Conducido por Modelos y la Ingeniería Inversa. Espero poder platicarle un poco más sobre estos temas en los próximos posts.

No hay comentarios.: