Mapa de metodologías: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
(3 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
Desde los 80 se han desarrollado tantos modelos de procesos, marcos y prácticas de trabajo para mejorar la calidad y eficiencia en los proyectos de software, que resulta útil trascender las etiquetas y llegar a la base de los principios que subyacen, y las estrategias con las que los desarrollan. | Desde los 80 se han desarrollado tantos modelos de procesos, marcos y prácticas de trabajo para mejorar la calidad y eficiencia en los proyectos de software, que resulta útil trascender las etiquetas y llegar a la base de los principios que subyacen, y las estrategias con las que los desarrollan. | ||
A través de tres conceptos: “desarrollo, trabajo y conocimiento”; y dos modelos de gestión: “predictiva y evolutiva”; se despeja y simplifica el aparente laberinto de modelos de procesos, marcos o prácticas de trabajo a los que nos referimos: [[CMM-SW]], [[CMMI]], [[PMBOK]], [[DSDM]], [[Crystal]], [[ISO 15504]], RUP, [[Extreme programming|XP]], Scrum, [[ITIL]], ASD, [[PRINCE2]], [[ | A través de tres conceptos: “desarrollo, trabajo y conocimiento”; y dos modelos de gestión: “predictiva y evolutiva”; se despeja y simplifica el aparente laberinto de modelos de procesos, marcos o prácticas de trabajo a los que nos referimos: [[CMM-SW]], [[CMMI]], [[PMBOK]], [[DSDM]], [[Crystal]], [[ISO 15504]], RUP, [[Extreme programming|XP]], Scrum, [[ITIL]], ASD, [[PRINCE2]], [[Lean]], KANBAN, [[TDD]], etc. | ||
{{Párrafo_enmarcado|texto=Las diferentes prácticas y metodologías responden a combinaciones de tres conceptos y dos patrones de gestión de proyectos.)}} | {{Párrafo_enmarcado|texto=Las diferentes prácticas y metodologías responden a combinaciones de tres conceptos y dos patrones de gestión de proyectos.)}} | ||
[[File:Mapa.png|650px|center]] | [[File:Mapa.png|650px|center]] | ||
==Conceptos== | ==Conceptos== | ||
===1.- Desarrollo=== | |||
[[File:Desarrollo.png|250px]] | [[File:Desarrollo.png|250px]] | ||
'''Desarrollo iterativo''': | *'''Completo''': la descripción de lo que se desea obtener está disponible al inicio del proyecto, es completa y detallada, sirve de base para estimar el plan del proyecto: tareas, recursos y agenda de trabajo. Durante la ejecución se gestiona su cumplimiento. | ||
*'''Incremental''': la descripción de lo que se desea obtener no está disponible de forma completa y detallada al inicio: se complementa y evoluciona en paralelo al desarrollo, que genera el resultado de forma incremental y que se puede gestionar con dos tácticas diferentes: | |||
*'''Desarrollo incremental continuo''': empleando técnicas para lograr un flujo continuo de desarrollo de las funcionalidades o partes del producto, que se entregan de forma continua al cliente. | |||
*'''Desarrollo iterativo''': empleando técnicas de tiempo prefijado o ''timeboxing'' para mantener la producción de incrementos del producto de forma cíclica y continua. Este es el marco de producción empleado al aplicar el marco estándar de scrum, que define como sprint a cada iteración de desarrollo, al final de la cual se produce un incremento del producto. | |||
===2.- Trabajo=== | |||
[[File:Trabajo.png|250px]] | [[File:Trabajo.png|250px]] | ||
'''Concurrente''': | *'''Secuencial (cascada)''': divide el trabajo en fases, y cada fase comienza al terminar la anterior. El ejemplo más habitual es el ciclo de cascada definido en Ingeniería del software con las fases de requisitos, análisis, diseño, codificación, pruebas e implementación. | ||
*'''Concurrente''': solapa en el tiempo las diferentes fases. Siguiendo con el ejemplo de ingeniería de software, la definición de requisitos, el análisis, la codificación y el despliegue del resultado se realiza y revisa de forma simultánea y continua. | |||
===3.- Conocimiento=== | |||
[[File:Valor.png|250px]] | [[File:Valor.png|250px]] | ||
Dónde se encuentra el principal conocimiento empleado, el responsable de la calidad del resultado. | |||
*'''Producción basada en procesos''': el conocimiento o know-how, responsable de la calidad del resultado se encuentra en mayor medida en los procesos y la tecnología empleada: “La calidad del resultado depende de la calidad de los procesos empleados“. | |||
*'''Producción basada en personas''': el conocimiento o know-how responsable de la calidad del resultado se encuentra en mayor medida en el “saber hacer” tácito de las personas que lo construyen. | |||
==Patrones de gestión del proyecto== | |||
===Gestión predictiva=== | |||
[[File:Gestion predictiva.png|250px]] | |||
Modelo de gestión cuyo objetivo es ofrecer resultados predecibles: desarrollo del producto previsto, en el tiempo previsto, e invirtiendo los recursos previstos. Emplea una estrategia de desarrollo completo con prácticas de planificación tradicional. Los principales referentes en el desarrollo de conocimiento para este tipo de gestión son [[PMI]] e [[IPMA]] y los modelos desarrollados (CMMI, ISO 15504, SPICE entre otros) emplean ingeniería secuencial y producción basada en procesos. | Modelo de gestión cuyo objetivo es ofrecer resultados predecibles: desarrollo del producto previsto, en el tiempo previsto, e invirtiendo los recursos previstos. Emplea una estrategia de desarrollo completo con prácticas de planificación tradicional. Los principales referentes en el desarrollo de conocimiento para este tipo de gestión son [[PMI]] e [[IPMA]] y los modelos desarrollados (CMMI, ISO 15504, SPICE entre otros) emplean ingeniería secuencial y producción basada en procesos. | ||
===Gestión evolutiva=== | |||
[[File:Gestion evolutiva.png|250px]] | |||
Modelo de gestión cuyo objetivo es entregar lo antes posible un producto mínimo viable, e incrementar su valor de forma continua. Emplea una estrategia de fases de trabajo solapadas, y desarrollo incremental, que se puede obtener con tácticas iterativas o de mantenimiento de flujo continuo. Puede emplearse con producción basada en procesos (ingeniería concurrente) o con producción basada en personas (agilidad). | Modelo de gestión cuyo objetivo es entregar lo antes posible un producto mínimo viable, e incrementar su valor de forma continua. Emplea una estrategia de fases de trabajo solapadas, y desarrollo incremental, que se puede obtener con tácticas iterativas o de mantenimiento de flujo continuo. Puede emplearse con producción basada en procesos (ingeniería concurrente) o con producción basada en personas (agilidad). | ||
Es importante esta distinción porque sin ella se generan situaciones confusas que llegan a considerar agilidad a la simple aplicación de las reglas estándar de scrum (ciclo de incremento iterativo con roles y artefactos definidos), o al simple uso de técnicas de gestión visual kanban para mantener un flujo continuo de tareas. | |||
{{Párrafo_enmarcado|texto=Agilidad y gestión evolutiva no son lo mismo. Se puede hacer gestión evolutiva empleando agilidad o empleando ingeniería concurrente.}} | {{Párrafo_enmarcado|texto=Agilidad y gestión evolutiva no son lo mismo. Se puede hacer gestión evolutiva empleando agilidad o empleando ingeniería concurrente.}} | ||
==Véase también== | ==Véase también== | ||
*[[Gestión predictiva]]. | |||
*[[Gestión evolutiva]]. | |||
*[[Ingeniería concurrente]]. | *[[Ingeniería concurrente]]. | ||
*[[Ingeniería secuencial]]. | |||
*[[Agilidad]]. | *[[Agilidad]]. | ||
*[[CMM-SW]]. | *[[CMM-SW]]. |