Dedicatoria A mi Dios mi Padre y mi Todo, mis Hijas −mi ternura y amor−, a mis Padres, familia y amigos. Sandro Bolaños A mi familia, amigos, colegas y estudiantes. Vı́ctor Medina A mi familia, colegas y amigos. Roberto Ferro Reconocimientos Un agradecimiento muy especial: A las universidades Distrital Francisco José de Caldas −Colombia− y Pontificia de Salamanca −España−, por su contribución en el desarrollo y consecución de este trabajo de investigación. Al grupo de investigación −GICOGE−. Al grupo de ingenieros y amigos que con sus aportes académicos contribuyeron en la realización del trabajo de investigación que se ve plasmado en el presente libro. © © © Universidad Distrital Francisco José de Caldas Facultad de Ingeniería Sandro Javier Bolaños Castro, Víctor Hugo Medina García, Roberto Ferro Escobar Primera edición, abril de 2015 ISBN: 978-958-8897-97-4 Corrección de estilo Miguel Fernando Niño Roa Diagramación en Latex Sandro Javier Bolaños Castro Diseño de cubierta Félix López Acompañamiento editorial Editorial UD Universidad Distrital Francisco José de Caldas Carrera 24 N. 34-37. Teléfono: 3239300 ext. 6202 Correo electrónico: [email protected] Bolaños Castro, Sandro MetaProceso de desarrollo de software / Sandro Bolaños Castro, Víctor Hugo Medina García, Roberto Ferro Escobar. -- Bogotá : Universidad Distrital Francisco José de Caldas, 2016. 216 páginas ; 21 cm. ISBN 978-958-8897-97-4 1. Ingeniería de sistemas - Enseñanza superior 2. Programación para computadores 3. Ingeniería de software I. Medina García, Víctor Hugo, autor II. Ferro Escobar, Roberto, autor III. Tít. 005.43 cd 21 ed. A1522555 CEP-Banco de la República-Biblioteca Luis Ángel Arango Todos los derechos reservados. Esta obra no puede ser reproducida sin el permiso previo escrito de la Universidad Distrital Francisco José de Caldas. Hecho en Colombia. Índice General I EL PROBLEMA 1 1 Presentación 1.1 Estructura del libro . . . . . . . . . . . . . . . . . . . . . 1.1.1 El problema . . . . . . . . . . . . . . . . . . . . . . 1.1.2 La teorı́a . . . . . . . . . . . . . . . . . . . . . . . 1.1.3 La comprobación . . . . . . . . . . . . . . . . . . . 1.2 El problema detrás de las metodologı́as y procesos de software 1.3 El camino a la solución . . . . . . . . . . . . . . . . . . . 1.4 Importancia de una definición final . . . . . . . . . . . . . II LA TEORÍA 3 3 3 4 5 5 8 9 11 2 Marco Teórico 2.1 El origen −La Máquina− . . . 2.2 La sı́ntesis −El Software− . . 2.3 La prospectiva −Los procesos− 2.4 Modelo de exposición teórica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 MetaProceso 3.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Definición del problema . . . . . . . . . . . . . . . . . . . 3.2.1 Crónicas de Softwareland . . . . . . . . . . . . . . . 3.2.2 El traje nuevo del emperador . . . . . . . . . . . . . 3.3 La solución . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.1 Tesis . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.2 Planilandia . . . . . . . . . . . . . . . . . . . . . . 3.3.3 Metaización . . . . . . . . . . . . . . . . . . . . . . 3.3.4 MetaProceso . . . . . . . . . . . . . . . . . . . . . 3.3.5 El MetaProceso como una arquitectura de capas . . 3.3.6 Lenguaje de modelamiento para M⊕P desde el MetaProceso . . . . . . . . . . . . . . . . . . . . . . . i 13 13 15 27 28 29 29 29 29 32 33 33 34 34 36 37 38 ÍNDICE GENERAL 3.3.7 LM−M⊕P como una arquitectura de capas . . . . . 3.3.8 M⊕P es una nueva especie . . . . . . . . . . . . . . 3.4 MetaProceso de Desarrollo Software . . . . . . . . . . . . 3.4.1 Gestión . . . . . . . . . . . . . . . . . . . . . . . . 3.4.2 Estructuración . . . . . . . . . . . . . . . . . . . . 3.4.3 Innovación . . . . . . . . . . . . . . . . . . . . . . 3.5 Conceptos en torno a M⊕P . . . . . . . . . . . . . . . . . 3.5.1 Modelo de proceso . . . . . . . . . . . . . . . . . . 3.5.2 Metodologı́a como herramienta para el desarrollo de software . . . . . . . . . . . . . . . . . . . . . . . . 3.5.3 Ciclo de vida del software . . . . . . . . . . . . . . 3.5.4 Proceso de software . . . . . . . . . . . . . . . . . 3.6 Principios del MetaProceso . . . . . . . . . . . . . . . . . 3.6.1 Principio de la no ausencia del proceso . . . . . . . 3.6.2 Principio de la dualidad del proceso . . . . . . . . . 3.6.3 Principio de la irrepetibilidad del proceso de software 3.6.4 Principio del continuum del proceso . . . . . . . . . 3.6.5 Principio de la completitud del proceso . . . . . . . 4 Lenguaje de Modelamiento de Metodologı́as y Procesos de Software -LMMPS4.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Descripción del problema . . . . . . . . . . . . . . . . . . 4.2.1 La paradoja del eslabón perdido . . . . . . . . . . . 4.3 Solución . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4 Lenguaje de Modelamiento de Metodologı́as y Procesos de Software −LMMPS− . . . . . . . . . . . . . . . . . . . . 4.4.1 LMMPS como gramática con estructura de frases . . 4.4.2 Árboles de derivación . . . . . . . . . . . . . . . . . 4.4.3 Tipos de gramáticas con estructuras de frases . . . . 4.4.4 LMMPS basado en gramáticas de frases . . . . . . . 4.4.5 Producciones de LMMPS . . . . . . . . . . . . . . . 4.5 LMMPS como lenguaje visual . . . . . . . . . . . . . . . . 4.5.1 Objetivos de LMMPS . . . . . . . . . . . . . . . . . 4.5.2 Estructura de LMMPS . . . . . . . . . . . . . . . . 4.6 Puntos de vista . . . . . . . . . . . . . . . . . . . . . . . 4.6.1 Puntos de vista de Gestión . . . . . . . . . . . . . . 4.6.2 Puntos de vista de Estructuración . . . . . . . . . . 4.6.3 Puntos de vista de Innovación . . . . . . . . . . . . 4.7 MetaProceos de Desarrollo Software a través de LMMPS . 4.8 LMMPS como lenguaje integrador . . . . . . . . . . . . . ii 39 40 41 42 42 46 46 46 49 50 51 51 52 53 54 54 55 57 57 58 58 59 60 61 62 62 63 64 65 66 67 72 73 78 83 87 89 ÍNDICE GENERAL 5 Guión del MetaProceso y la Gestión 5.1 Introducción . . . . . . . . . . . . . . . . . . . 5.2 La Gestión como la base fundamental del Guión 5.3 Ventajas y desventajas del Guión . . . . . . . . 5.4 El Guión como carta de navegación . . . . . . . 5.4.1 Guión para los procesos . . . . . . . . . 5.4.2 Guión para las metodologı́as . . . . . . . . . . . . . 91 91 92 92 94 94 101 6 Patrones y Antipatrones del MetaProceso y la Estructuración 6.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 Entendiendo los patrones . . . . . . . . . . . . . . . . . . 6.3 Patrones del M⊕P de Desarrollo de Software . . . . . . . . 6.3.1 Patrones según el Workflow . . . . . . . . . . . . . 6.3.2 Patrones según los Participantes . . . . . . . . . . . 6.3.3 Patrones según las Entradas-Salidas . . . . . . . . . 6.3.4 Patrones de Conocimiento . . . . . . . . . . . . . . 6.4 Soporte de los patrones del M⊕P a través de software . . . 6.5 Entendiendo los antipatrones . . . . . . . . . . . . . . . . 6.6 Antipatrones del M⊕P de desarrollo de software . . . . . . 6.6.1 Proceso sin ritmo . . . . . . . . . . . . . . . . . . . 6.6.2 Proceso top . . . . . . . . . . . . . . . . . . . . . . 6.6.3 Proceso extremo . . . . . . . . . . . . . . . . . . . 6.6.4 Proceso sin evidencia . . . . . . . . . . . . . . . . . 6.6.5 Proceso casual . . . . . . . . . . . . . . . . . . . . 6.6.6 Proceso perpetuo . . . . . . . . . . . . . . . . . . . 6.6.7 Proceso sin comunicación . . . . . . . . . . . . . . 6.6.8 Proceso dominó . . . . . . . . . . . . . . . . . . . 6.6.9 Proceso sin cabeza . . . . . . . . . . . . . . . . . . 6.6.10 Proceso tobogán . . . . . . . . . . . . . . . . . . . 6.6.11 SuperProceso . . . . . . . . . . . . . . . . . . . . . 6.6.12 Proceso inmutable . . . . . . . . . . . . . . . . . . 6.7 Soporte de los antipatrones del proceso a través de software 111 111 112 112 113 116 120 123 127 128 128 129 129 130 130 131 131 132 132 133 133 134 134 135 7 Gestión de Conocimiento e Innovación 7.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . 7.2 Framework de pilares de Gestión de Conocimiento . . . . . 7.3 Framework de capacidades y construcción de conocimiento 7.4 Modelo de gestión de conocimiento organizacional . . . . . 7.5 Framework de la organización inteligente . . . . . . . . . . 7.6 Framework de escenarios de Gestión de Conocimiento . . . 7.7 Framework de activo intangible . . . . . . . . . . . . . . . 7.8 Modelo de capital intelectual . . . . . . . . . . . . . . . . 137 137 138 138 139 140 140 141 142 iii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ÍNDICE GENERAL 7.9 Modelo de proceso de Gestión de Conocimiento . . . . . . 7.10 Framework de conversión de conocimiento . . . . . . . . . 7.11 El Conocimiento como catalizador del proceso de desarrollo de software . . . . . . . . . . . . . . . . . . . . . . . . . 7.12 Conceptos emergentes entre La Ingenierı́a de Software y la Gestión de Conocimiento . . . . . . . . . . . . . . . . . . 7.13 Knowledgeware: el eslabón perdido entre el conocimiento y el software . . . . . . . . . . . . . . . . . . . . . . . . . . 7.13.1 Trazabilidad . . . . . . . . . . . . . . . . . . . . . . 7.13.2 Representación . . . . . . . . . . . . . . . . . . . . 7.13.3 Intencionalidad . . . . . . . . . . . . . . . . . . . . III LA COMPROBACIÓN 8 Reflexiones, La Demostración, Aportaciones e Investigaciones Futuras 8.1 Reflexiones . . . . . . . . . . . . . . . . . . . . . . . . . . 8.2 La Demostración alcanzada . . . . . . . . . . . . . . . . . 8.3 Aportaciones originales . . . . . . . . . . . . . . . . . . . 143 143 144 145 146 147 148 149 151 153 153 157 158 A MetaModelo, Modelo y Uso de LMMPS 193 A.1 Metamodelo de LMMPS . . . . . . . . . . . . . . . . . . 193 A.2 Modelo LMMPS . . . . . . . . . . . . . . . . . . . . . . . 193 B Portal Empresarial 197 Índice Alfabético 197 iv Índice de Figuras 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 C&D,Q,... (fuente: Autor) . . . . . . . . . . . . . . . . M⊕P (fuente: Autor) . . . . . . . . . . . . . . . . . . . Metaización (fuente: Autor) . . . . . . . . . . . . . . . PQ(C&D,Q,...) (fuente: Autor) . . . . . . . . . . . . . . Arquitectura de niveles del MetaProceso (fuente: Autor) Niveles para LM−M⊕P (fuente: Autor) . . . . . . . . . Procesos del MetaProceso (fuente: Autor) . . . . . . . . Solución usando proceso (fuente: Autor) . . . . . . . . . Solución usando MetaProceso (fuente: Autor) . . . . . . Solución de Proceso Vs MetaProceso (fuente: Autor) . . Modelos de proceso (fuente: Autor) . . . . . . . . . . . Principios de M⊕P (fuente: Autor) . . . . . . . . . . . . 33 35 36 37 38 39 41 43 43 44 47 52 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9a 4.9b 4.10a Espectro de lenguajes (fuente: Autor) . . . . . . . . . . Lenguajes (fuente: Autor) . . . . . . . . . . . . . . . . Lenguaje envolvente −LMMPS− (fuente: Autor) . . . . Producciones de LMMPS (fuente: Autor) . . . . . . . . Operadores Relacionales (fuente: Autor) . . . . . . . . . Operadores Transaccionales (fuente: Autor) . . . . . . . Procesos del MetaProceso (fuente: Autor) . . . . . . . . Puntos de vista de Gestión (fuente: Autor) . . . . . . . Metamodelo del punto de vista de Estrategia (fuente: Autor) Ejemplo del punto de vista de Estrategia (fuente: Autor) Metamodelo del punto de vista de Organización (fuente: Autor) . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejemplo del punto de vista de Organización (fuente: Autor) Metamodelo del punto de vista de Producción (fuente: Autor) . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejemplo del punto de vista de Producción (fuente: Autor) Metamodelo del punto de vista de Documentación (fuente: Autor) . . . . . . . . . . . . . . . . . . . . . . . . . 58 59 60 64 70 70 72 73 74 74 4.10b 4.11a 4.11b 4.12a v 75 76 76 77 77 ÍNDICE DE FIGURAS 4.12b Ejemplo del punto de vista de Documentación (fuente: Autor) . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.13 Puntos de vista de Estructuración (fuente: Autor) . . . . 4.14a Metamodelo del punto de vista de Arquitectura (fuente: Autor) . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.14b Ejemplo del punto de vista de Arquitectura (fuente: Autor) 4.15a Metamodelo del punto de vista de Pautas (fuente: Autor) 4.15b Ejemplo del punto de vista de Pautas (fuente: Autor) . . 4.16a Metamodelo del punto de vista de Artefactos (fuente: Autor) 4.16b Ejemplo del punto de vista de Artefactos (fuente: Autor) 4.17a Metamodelo del punto de vista de Contribución (fuente: Autor) . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.17b Ejemplo del punto de vista de Contribución (fuente: Autor) 4.18 Puntos de vista de Innovación (fuente: Autor) . . . . . . 4.19a Metamodelo del punto de vista de Comunicación (fuente: Autor) . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.19b Ejemplo del punto de vista de Comunicación (fuente: Autor) 4.20a Metamodelo del punto de vista de Problemas/Soluciones (fuente: Autor) . . . . . . . . . . . . . . . . . . . . . . 4.20b Ejemplo del punto de vista de Problemas/Soluciones (fuente: Autor) . . . . . . . . . . . . . . . . . . . . . . . . . 4.21a Metamodelo del punto de vista de Mejora (fuente: Autor) 4.21b Ejemplo del punto de vista de Mejora (fuente: Autor) . . 4.22a Metamodelo del punto de vista de Conocimiento (fuente: Autor) . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.22b Ejemplo del punto de vista de Conocimiento (fuente: Autor) 4.23 Espacio conceptual de LMMPS (fuente: Autor) . . . . . 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 5.10 5.11 5.12 5.13 5.14 Big Bang (fuente: [Pat06]) . . . . . . . . . . . . . Codificación Reparación (fuente: [Boe06, McC96]) Cascada (fuente: [Roy70]) . . . . . . . . . . . . . Espiral (fuente: [Boe86]) . . . . . . . . . . . . . . Prototipos (fuente: [Pre09]) . . . . . . . . . . . . V (fuente: [FM91]) . . . . . . . . . . . . . . . . . Evolutivo (fuente: [Pre09]) . . . . . . . . . . . . . Incremental (fuente: [Pre09]) . . . . . . . . . . . . RUP (fuente: [JBR00]) . . . . . . . . . . . . . . . XP (fuente: [Bec99]) . . . . . . . . . . . . . . . . Scrum (fuente: [Sch95, SSH09]) . . . . . . . . . . Crystal (fuente: [Coc02]) . . . . . . . . . . . . . . Evo (fuente: [Gil81, Gil85]) . . . . . . . . . . . . . ASD (fuente: [HIO00]) . . . . . . . . . . . . . . . vi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 78 79 80 80 80 81 81 82 82 83 84 84 85 85 85 86 86 87 88 95 95 96 97 98 98 99 100 100 102 103 104 106 108 ÍNDICE DE FIGURAS 5.15 5.16 FDD (fuente: [CLD00]) . . . . . . . . . . . . . . . . . . 108 Métrica 3 (fuente: [Esp12]) . . . . . . . . . . . . . . . . 109 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 6.10 6.11 6.12 6.13 Flujo de trabajo lineal (fuente: Autor) . . . . . . . . . . Flujo de trabajo paralelo (fuente: Autor) . . . . . . . . . Flujo de trabajo cı́clico (fuente: Autor) . . . . . . . . . . Ejecutores (fuente: Autor) . . . . . . . . . . . . . . . . Comunicación (fuente: Autor) . . . . . . . . . . . . . . Rotación de rol (fuente: Autor) . . . . . . . . . . . . . . Insumo-producto (fuente: Autor) . . . . . . . . . . . . . Gestión documental (fuente: Autor) . . . . . . . . . . . Trazabilidad (fuente: Autor) . . . . . . . . . . . . . . . Producción de conocimiento (fuente: Autor) . . . . . . . Estados del conocimiento (fuente: Autor) . . . . . . . . Recipiente del conocimiento (fuente: Autor) . . . . . . . Patrones software Coloso, www.colosoft.com.co (fuente: Autor) . . . . . . . . . . . . . . . . . . . . . . . . . . . Antipatrones software Coloso, www.colosoft.com.co (fuente: Autor) . . . . . . . . . . . . . . . . . . . . . . . . . 6.14 7.1 113 115 116 117 118 119 120 121 123 124 125 126 127 135 7.9 7.10 Framework de pilares de Gestión de Conocimiento (fuente: [Wii93]) . . . . . . . . . . . . . . . . . . . . . . . . . . 138 Framework de capacidades de core y construcción de conocimiento (fuente: [LB95]) . . . . . . . . . . . . . . . 139 Modelo de gestión de conocimiento organizacional (fuente: [APC96]) . . . . . . . . . . . . . . . . . . . . . . . 139 Framework de la organización inteligente (fuente: [Cho10]) 140 Framework de escenarios (fuente: [vdSRSAeL97]) . . . . 141 Framework de activo intangible (fuente: [Sve97]) . . . . 142 Modelo de capital intelectual (fuente: [Pet96]) . . . . . . 142 Modelo de proceso de Gestión de Conocimiento (fuente: [Ala97]) . . . . . . . . . . . . . . . . . . . . . . . . . . 143 Modelo de conversión de conocimiento (fuente: [Non94]) 144 Modelo Knowledgeware (fuente: Autor) . . . . . . . . . 148 8.1 Esquema Problema/Solución (fuente: Autor) . . . . . . 157 A.1 A.2 Metamodelo De LMMPS (fuente: Autor) . . . . . . . . 194 Modelo LMMPS (fuente: Autor) . . . . . . . . . . . . . 195 B.1 Portal Colosoft . . . . . . . . . . . . . . . . . . . . . . 198 7.2 7.3 7.4 7.5 7.6 7.7 7.8 vii Índice de Tablas 3.1 Procesos y Roles (fuente: Autor) . . . . . . . . . . . . . 46 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 Tipos de Gramáticas (fuente: [Ros04, Cho04]) Participantes (fuente: Autor) . . . . . . . . . Artefactos (fuente: Autor) . . . . . . . . . . Estrategias (fuente: Autor) . . . . . . . . . . Mecanismos (fuente: Autor) . . . . . . . . . Pautas (fuente: Autor) . . . . . . . . . . . . Elemento Cognitivo (fuente: Autor) . . . . . Elemento Informacional (fuente: Autor) . . . Relaciones (fuente: Autor) . . . . . . . . . . Transacciones (fuente: Autor) . . . . . . . . 63 67 68 68 68 69 69 69 71 71 viii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parte I EL PROBLEMA 1 Capı́tulo 1 Presentación Si quieres conocer la función estudia la estructura. Francis Harry Compton Crick Conceptos fundamentales Estructura del libro El problema a tratar 1.1. Estructura del libro El MetaProceso de Desarrollo de Software es un proyecto configurado en tres partes: el problema, la teorı́a y finalmente la comprobación. Con estas tres partes se plantea el problema a resolver, se propone la teorı́a que soporta la solución y se desarrollan los experimentos para su comprobación. 1.1.1. El problema La configuración del problema se explica en un capı́tulo: En este capı́tulo se hace la presentación del documento: se inicia explicando su estructura, a continuación se plantea el problema detrás de las metodologı́as y procesos de software, el cual motiva la proposición del camino a la solución y finalmente se describe la importancia de una definición final en la que se describe el soporte y motivación de la investigación. 3 CAPÍTULO 1. PRESENTACIÓN 1.1.2. La teorı́a La fundamentación conceptual y desarrollo de la investigación está conformada por ocho capı́tulos ası́: En el segundo capı́tulo del libro, se presenta el marco teórico: el origen −la máquina (se presentan los hitos que permitieron desarrollar el concepto de máquina de computo)−, la sı́ntesis −el software (se presentan los hitos que permitieron desarrollar la disciplina de ingenierı́a de software enfatizando en los procesos de software)−, la prospectiva −los procesos (se presenta la tendencia de la disciplina en cuanto a las metodologı́as y procesos de software)−. Finalmente se explica el modelo de exposición teórico empleado a lo largo del libro. En el tercer capı́tulo del libro, se presenta El MetaProceso, se define el problema existente en torno a las metodologı́as y procesos de software y la solución propuesta con la que se hace el preámbulo para la definición del MetaProceso de Desarrollo de Software, en él se destaca la singularidad del software desde la perspectiva de la metodologı́a y/o proceso de software y se plantean conceptos y principios en torno al MetaProceso. En el cuarto capı́tulo del libro, se presenta el Lenguaje de Modelamiento de Metodologı́as y Proceso de Software −LMMPS−, se comienza definiendo el problema y la solución que ofrece el lenguaje junto a los Puntos de Vista con los que se da soporte al MetaProceso, el capı́tulo finaliza con la exposición del lenguaje −LMMPS− como lenguaje integrador. En el quinto capı́tulo del libro, se expone la perspectiva de Gestión propuesta por el MetaProceso dirigida desde los guiones o libretos de metodologı́a y/o proceso de software, se presentan las ventajas y desventajas de un guión y finalmente se describen algunas de las metodologı́as y procesos más reconocidos. En el sexto capı́tulo del libro, se expone la perspectiva de Estructuración propuesta por el MetaProceso dirigida desde los patrones y antipatrones de proceso, se describe el objeto tanto de patrones como antipatrones y se muestra el soporte implementado a través de software con el que es posible configurar arquitecturas de metodologı́a y/o proceso. En el séptimo capı́tulo del libro, se expone la perspectiva de Innovación propuesta por el MetaProceso dirigida desde la gestión de conocimiento y que le da el matiz particular en la aproximación software-conocimiento, en este capı́tulo se ilustran algunos frameworks de Gestión de Conocimien4 CAPÍTULO 1. PRESENTACIÓN to, luego se resalta el conocimiento como el catalizador del proceso de software y los conceptos emergentes propuestos. 1.1.3. La comprobación La verificación y validación de la investigación está conformada por un capı́tulo y dos apéndices. En el octavo capı́tulo del libro se presentan las reflexiones de los tópicos presentados en el libro, la demostración de la solución del problema planteado y las aportaciones originales. En el apartado de los apéndices se presentan: el metamodelo de LMMPS junto con su modelo de implementación y el portal de descarga del software del MetaProceso, -Portal y Software desarrollados con el MetaProceso-. Apéndice A. Presenta el MetaModelo de LMMPS, y su modelo de implementación. Apéndice B. Presenta Screenshot del portal de descarga del software del MetaProceso. 1.2. El problema detrás de las metodologı́as y procesos de software No existe una metodologı́a o proceso de software lo suficientemente particular o lo suficientemente general que cubra la gama de necesidades del desarrollo de software, debido en gran parte a la falta de un lenguaje que permita la expresión tanto de metodologı́as como de procesos, esto ha generado la proliferación de propuestas que solo dispersan el problema, como efecto colateral las metodologı́as y procesos se han asumido como soluciones ad-hoc surgidas como por generación espontanea, sin unos roles definidos, cuya responsabilidad sea la de tratar a la metodologı́a y al proceso como partes del problema mismo a resolver, apoyándose en prácticas reconocidas, evitando defectos ya identificados y controlando la misma metodologı́a y/o proceso por medio de mediciones mucho mas precisas. Finalmente se ha desaprovechado al mismo software como una herramienta que lleve de la mano estas ideas y sea una solución per se** . ** No hay una verdadera solución cuando a un problema se le asocian tan diversas posibilidades y 5 fisura La motivación de la ciencia siempre ha estado en resolver problemas, sin embargo es preciso no crear problemas donde no los hay creyendo estar innovando. CAPÍTULO 1. PRESENTACIÓN A continuación se describe el problema como un conjunto de item interrelacionados que serán resueltos con la propuesta de investigación aquı́ presentada: Gran parte de los vacı́os en Ingenierı́a de Software están en la definición de un cuerpo de conocimiento con la suficiente madurez que evite las ambigüedades y especulaciones que desembocan en proyectos fracasados o con costos muy por encima de los estimados. Uno de esos vacı́os se tiene en las metodologı́as y procesos de desarrollo de software, y no por falta de ellos, curiosamente el listado es extenso, el punto radica en que todas las soluciones hasta el momento planteadas son parciales, una evidencia de ello es la guerra interna entre los métodos de desarrollo, cada uno queriendo tener la verdad en la mano, desconociendo fortalezas que pueden tener unos u otros. La singularidad del software hace que el trabajo transcienda de lo individual a lo organizacional, surgiendo consideraciones que quizá sobrepasen las caracterı́sticas de los procesos, al menos la manera en que son vistos actualmente. El software es un producto poco convencional, no se ajusta a una experimentación de facto, por tanto es inmanejable en su naturaleza con las ciencias básicas; es mas un producto de lo formal y por ello se constituye en un ente difı́cil de manejar, su expresión es variada y sin embargo puede converger en una misma solución. Estas particularidades del software hacen que su tratamiento sea especial, el cual debe residir en metodologı́as y procesos igualmente singulares. La Ingenierı́a de Software tiene una madurez precoz, y se le exige ofrecer soluciones a problemas de gran complejidad, al mismo ritmo que otras disciplinas de ingenierı́a con mayor trayectoria y que ya no solo han definido un cuerpo de conocimiento sino que además lo han refinado y validado con el tiempo. No existe un lenguaje ampliamente aceptado que permita expresar la extensa gama de procesos y metodologı́as y facilite la comunicación e interacción entre los participantes de un proyecto de software. ninguna demuestra a la larga ser una solución real, las variables que afectan los procesos y metodologı́as no solo son amplias sino también complejas. El grave error que en Ingenierı́a de Software de procesos se tiene es la incompresión de la naturaleza del problema en sı́, lo cual no deja ver con claridad un solución efectiva. Generalmente se ofrecen soluciones sin aún haber entendido el problema, y en ingenierı́a es muy común, cuando el camino que se sigue corresponde a la observación pasiva de los sistemas existentes, los cuales desde un inicio ya se deben cuestionar. 6