Jump to content

Mapa de metodologías: Difference between revisions

no edit summary
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]], [[LEAN]], KANBAN, [[TDD]], etc.
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===


====1.- Desarrollo====


[[File:Desarrollo.png|250px]]
[[File:Desarrollo.png|250px]]


'''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.  
*'''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===


====2.- Trabajo====


[[File:Trabajo.png|250px]]
[[File:Trabajo.png|250px]]


'''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.  
*'''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===


====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.


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.


'''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“.
==Patrones de gestión del proyecto==
===Gestión predictiva===




'''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.
[[File:Gestion predictiva.png|250px]]


===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===




====Gestión evolutiva====
[[File:Gestion evolutiva.png|250px]]


[[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.


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]].