PSP
Es un conjunto de prácticas disciplinadas para la gestión del tiempo y mejora de la productividad personal de los programadores o ingenieros de software, en tareas de desarrollo y mantenimiento de sistemas. Está alineado y diseñado para emplearse en organizaciones con modelos de procesos CMMI o ISO 15504. Fue propuesto por Watts Humphrey en 1995 y estaba dirigido a estudiantes. A partir de 1997 con el lanzamiento del libro "An introduction to the Personal Software Process" se dirige ahora a ingenieros juniors.
El origen del PSP se dio debido a ciertos problemas que se empezaron a presentar en forma recurrente respecto al proceso de desarrollo de software. Por ejemplo:
-
Imposibilidad de cumplir con las fechas de entrega
-
Defectos detectados en el último minuto
-
Incapacidad de demostrar el avance del desarrollo, no hay una medición clara ni exacta
-
Esfuerzos duplicados y por ende desperdicio de recursos
-
Clientes insatisfechos con el servicio brindado
Se puede considerar como la guía de trabajo personal para ingenieros de software en organizaciones que emplean un modelo CMMI con nivel de madurez o de capacidad de procesos que implica la medición cualitativa y mejora de procesos.
Uno de los mayores problemas que tiene es la gran cantidad de datos que hay que tomar. El PSP tiene obsesión por la toma de datos y elaboración de tablas. El PSP se orienta el conjunto de áreas clave del proceso que debe manejar un desarrollador cuando trabaja de forma individual.
PSP, es uno de los 3 vértices donde descansa un proceso de mejora que trabaja sobre 3 niveles de la organización, los otros 2 son CMM y TSP.
El PSP amplia el proceso de mejora a la gente que realiza el trabajo de desarrollo de software, concentrándose en las practicas de trabajo de los ingenieros en una forma individual, enseñando como manejar la calidad desde el principio de un producto. PSP son nuestras propias métricas, que permiten estructurar y ordenar nuestro trabajo del día a día (no solo de desarrollo de software, esto lo voy a explicar mas adelante). El resultado de nuestro trabajo, además puede ser llevado a un trabajo en equipo TSP (Team Process Software), el cual es “comandado” por un sistema de gestión de la configuración y por supuesto, un Jefe de Proyecto quien evalúa los resultados y avances de los miembros del equipo.
Objetivos:
- Mejorar sus habilidades de estimación y planeación.
- Hacer compromisos que se puedan cumplir.
- Administrar la calidad de sus procesos.
- Reducir la cantidad de defectos en sus productos.
Niveles:
El PSP trabaja en una estructura de siete niveles, de lo más básico hasta el control.
PSP 0
Identificar actividades: definición, secuencia
Bases mejoras: planeación, evaluación, resultados
PSP 0
Identificar actividades: definición, secuencia
Bases mejoras: planeación, evaluación, resultados
- Documentar proceso:
- Actividades (Scripts)
- Tiempos (Logs Time)
- Defectos (Defect Logs)
- Resumir planes, resultados (Proyect plan summary)
PSP 0.1
Registrar tamaño del producto y hacer un histórico:
- Líneas de código
- Function points
- Estandarización de la codificación
- Registrar problemas y mejoras de propuestas
PSP 1
Mejora la planeación:- Con la estimación tamaño del producto (histórico)
- Decidir en base a reportes de pruebas
PSP 1.1
Mejora la planeación:
- Con la estimación de recursos
- Introducción de calendarizar, plasmar el plan con números, un presupuesto
PSP 2
Mejora la ejecución:- Detección temprana de defectos, en base a la predicción de estos.
- Revisiones de diseño
- Revisiones de código
- Uso de checklists (Listas de verificación)
PSP 2.1
Mejora el diseño:- Al hacer uso de formas detalladas de diseño (formas C76, C77)
PSP 3
Mejora el ciclo, mejora del proceso en términos de hacerlo repetible (ciclico):- Para aplicación a programas de mayor tamaño
- Registro del seguimiento de asuntos importantes
- Análisis del resumen de la planeación, tiempos, tamaños y defectos por cada ciclo
Esta estructura, a su vez, podemos ubicarla en tres grandes etapas o fases:
- Planificación, donde se desarrolla un plan detallado con el objetivo de obtener compromiso por parte de quien realiza el proyecto de desarrollo.
- Desarrollo
- Post-mortem, donde se obtiene y analizan datos para planificaciones y mejoras futuras.
TSP
Team Software Process (TSP) es un método de establecimiento y mejora del trabajo en equipo para procesos software. TSP proporciona directrices para ayudar a un equipo a establecer sus objetivos, a planificar sus procesos y a revisar su trabajo con el fin de que la organización pueda establecer prácticas de ingeniería avanzadas y así obtener productos eficientes, fiables y de calidad. Está formado por dos componentes primarios que abarcan distintos aspectos del trabajo en equipo:
- Formación del equipo de trabajo.
- Gestión del equipo de trabajo.
Existen diferentes metodologías para la mejora de procesos, la mayoría de ellas se basa en la mejora de los procesos que dan como resultado un servicio o producto. El TSP busca integrar un equipo que tenga como punto de partida la unificación del mismo, para poder llevar a cabo todos aquellos procedimientos que puedan realizar mejora a los procesos que desarrollan.
Los objetivos que tiene el TSP son:
- Maximizar calidad software, minimizar costos.
- Integrar equipos independientes de alto rendimiento que planeen su trabajo, establezcan metas y san sueños de sus procesos y planes.
- Mostrar a los gerentes como monitorear y motivar a sus equipos de trabajo y como ayudarlos a alcanzar su máxima productividad.
- Acelerar la mejora continua de monitoreo.
- Proveer de una guía para e mejoramiento en organizaciones maduras
El Team Software Process (TSP) es un proceso de desarrollo para equipos de ingenieros basado en CMMI, ayuda a conformar equipos para el desarrollo de software de calidad. TSP proporciona directrices para ayudar a un equipo a establecer sus objetivos, a planificar sus procesos y a revisar su trabajo con el fin de que la organización pueda establecer prácticas de ingeniería avanzadas y así obtener productos eficientes, fiables y de calidad.
TSP es una solución basada en procesos para resolver problemas de negocio, tales como:
- Predictibilidad de costo y tiempo
- Mejora de productividad
- Ciclos de desarrollo y mejora de calidad de productos.
Características de los grupos eficaces:
- Miembros expertos en papeles de liderazgo y pertenencia.
- Relaciones tranquilas y establecidas entre los miembros.
- Los miembros se sienten atraídos por el grupo y son fieles.
- Los valores y metas del grupo son los de sus integrantes
- Los miembros están motivados por hacer lo que puedan por el grupo.
- La interacción y toma de decisiones tiene lugar en el ambiente adecuado.
- El grupo desea ayudar a cada miembro a adquirir su pleno El grupo desea ayudar a cada miembro a adquirir su pleno potencial.
- Cada miembro acepta con gusto y sin resentimiento las metas y normas establecidas.
- Los miembros se prestan ayuda mutua cuando es necesaria o recomendable.
- Existe una atmósfera de creatividad.
- El grupo conoce el “conformismo constructivo” y se sirve de él.
- Existe gran motivación para iniciar y recibir las comunicaciones.
- Los miembros son flexibles y adaptables en sus metas y actitudes.
- Los miembros se sienten seguros al tomar decisiones que les parecen apropiadas al entender la filosofía de la operación.
En las fases del Ciclo TSP se planea el número de ciclos. Dentro de cada ciclo se realiza:
- Lanzamiento
- Estrategia
- Plan
- Requisitos
- Diseño
- Implementación
- Pruebas
- Postmortem
Sus entornos son:
- CMM- Administración.
- TSP- Equipo Ingenieros.
- PSP-Ingeniero.
Cuadro comparativo TSP/PSP
TSP
|
PSP
|
|
Ventajas |
|
|
Desventajas |
|
|
No hay comentarios:
Publicar un comentario