Personal Software Process · > 12 | Personal Software Process - Octubre, 2009 PSP y CMMI El foco de...
Transcript of Personal Software Process · > 12 | Personal Software Process - Octubre, 2009 PSP y CMMI El foco de...
2009
Personal Software ProcessUna mirada desde las metodologías ágiles
Diego Fontdevila
> 2 | Personal Software Process - Octubre, 2009
Contenido
● La práctica hace al proceso● Personal Software Process (PSP)● Entrenamiento PSP● Team Software Process (TSP)● PSP y CMMI● Ágiles● Software de calidad
> 3 | Personal Software Process - Octubre, 2009
La práctica hace al proceso*
*Tomado de The Social Life of Information, de Brown y Duguid
ProcesoPráctica Práctica
> 4 | Personal Software Process - Octubre, 2009
Niveles de proceso y práctica
Organización
Equipo
Persona
> 5 | Personal Software Process - Octubre, 2009
Personal Software Process (PSP)
● Creado por Watts Humphrey (SEI)● Proceso de mejora para profesionales de software● Basada en la experiencia y una investigación específica● Desarrollado en base a la actividad de programación● Una mirada desde el individuo, antes que la
organización● Inspirado en la mejora continua personal
> 6 | Personal Software Process - Octubre, 2009
Personal Software Process (PSP)
● Debe ser adaptado por los individuos, por lo tanto no es una imposición organizacional
● Aplicable a desarrolladores que trabajan en forma independiente o como parte de equipos (TSP)
● Foco en el producto, las métricas y el proceso● Iterativo y por incrementos (No siempre entendido)● Su producto son componentes de software (reuso)
> 7 | Personal Software Process - Octubre, 2009
Personal Software Process (PSP)
● Actividades– Planificación– Diseño– Revisión de diseño– Codificación– Revisión de código– Compilación (De acuerdo a la tecnología)– Prueba unitaria– Post mortem
> 8 | Personal Software Process - Octubre, 2009
Entrenamiento PSP
> 9 | Personal Software Process - Octubre, 2009
Entrenamiento PSP
> 10 | Personal Software Process - Octubre, 2009
Team Software Process (TSP)
● Define la integración de desarrolladores formados en el PSP
● Tiene como objetivo mantener la motivación y maximizar la capacidad del equipo
● Busca la mejora del equipo como un todo, pero con foco en la mejora personal
● Promueve que los equipos sean auto organizados● Debe ser adaptado al equipo
> 11 | Personal Software Process - Octubre, 2009
Team Software Process (TSP) II
● Los principios del TSP son*– Los desarrolladores son los que mejor conocen el
trabajo que hacen– Cuando planean su trabajo pueden comprometerse– El seguimiento detallado require planes detallados y
datos precisos– Las métricas deben ser recolectadas por la gente que
hace el trabajo– Para maximizar la productividad, hay que empezar
por la calidadAdptado de Deploying TSP on a National Scale, de Nichols y Salazar
> 12 | Personal Software Process - Octubre, 2009
PSP y CMMI
● El foco de CMMI está en la mejora de la calidad mediante la mejora de procesos
● El PSP corresponde a la práctica del desarrollo de software, es decir las actividades de los desarrolladores
● El foco en el proceso es confundido con la idea de que la calidad del resultado no depende de las personas
● El PSP se define como un proceso específico para programar, pero debe ser redefinido al madurar
> 13 | Personal Software Process - Octubre, 2009
PSP y CMMI II
Tomado de An SEI Process Improvement Path to Software Quality, de Philip Miller
> 14 | Personal Software Process - Octubre, 2009
PSP/TSP y Ágiles
● Todos tienen foco en las personas y en los equipos: “Personas e interacciones por sobre procesos y herramientas” (Manifiesto Ágil)
● Promueven modificar los procesos para adaptarlos a las personas, con el objetivo de mejorar la calidad
● Sus orígines son muy diferentes: Control Estadístico de Procesos para el SEI y Control Empírico de Procesos para las metodologías ágiles
> 15 | Personal Software Process - Octubre, 2009
PSP/TSP y Ágiles
● Ambos tiene foco en la planificación local y la retrospectiva
● Se complementan bien, sobre todo en ambientes de alta madurez
● PSP aporta métricas duras (como el tamaño), y las auto revisiones
● Las metodologías ágiles aportan técnicas de diseño y codificación como: Desarrollo Basado en Pruebas (TDD), Integración Continua, Iteraciones fijas y Valor entregado
> 16 | Personal Software Process - Octubre, 2009
PSP comparado con Ágiles
● Actividades– Planificación (Planificación)– Diseño (Definición de pruebas ejecutables, TDD)– Revisión de diseño– Codificación (Codificación)– Revisión de código– Prueba unitaria (Definición de pruebas ejecutables, TDD)– Post mortem (Retrospectiva)
¿?