Jump to content

Mapa de metodologías: Difference between revisions

no edit summary
No edit summary
No edit summary
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
__NOTOC__
__NOTOC__
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; de forma que usando como coordenadas 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..
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.  


{{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.)}}
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.


[[File:Mapa.png|650px|center]]


===Conceptos===
{{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.)}}


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


[[File:Desarrollo.png|250px]]
[[File:Mapa.png|650px|center]]


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


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


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


'''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.}}
Información relacionada: [[Ingeniería concurrente]] - [[Agilidad]]




[[Category:Sueltos]]
==Véase también==
*[[Gestión predictiva]].
*[[Gestión evolutiva]].
*[[Ingeniería concurrente]].
*[[Ingeniería secuencial]].
*[[Agilidad]].
*[[CMM-SW]].
*[[CMMI]]
*[[PMBOK]].
*[[DSDM]].
*[[Crystal]].
*[[ISO 15504]].
*[[Extreme programming|XP]].
*[[ITIL]].
*[[PRINCE2]].
*[[Lean]].
*[[TDD]].
[[Category:Glosario de términos]]