PSP/TSP
PSP (Personal Software Process), 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.
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 amplía el proceso de mejora a la gente
que realiza el trabajo de desarrollo de software, concentrándose en las prácticas
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. 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.
En PSP todas las tareas y
actividades que el ingeniero de software debe realizar durante el proceso de
desarrollo de un producto de software, están puntualmente definidas en un
conjunto de documentos conocidos como scripts. Los scripts son el punto medular
de PSP, por lo que se hace mucho énfasis en que deben ser seguidos en forma
disciplinada, ya que de ello dependerá el éxito de la mejora que se busca. Gran
parte de las tareas y actividades definidas en los scripts generará en su
realización un conjunto de datos, fundamentalmente de carácter estadístico. La
aplicación de PSP en varios procesos de desarrollo, y el análisis de la
información estadística generada en cada uno de éstos, permitirán al ingeniero
de software identificar, tanto sus fortalezas como sus debilidades, y crecer a
través de un proceso de auto aprendizaje y auto mejora. La calidad en PSP, es
un aspecto fuertemente relacionado con la cantidad de defectos que el producto
de software contiene.
Características:
Características:
- Los pasos de registro de información a detalle en el nivel de medición pueden resultar frustrantes cuando se tiene presión de tiempo.
- En los scripts de PSP no se incluyen tareas y actividades para la etapa de análisis de requerimientos.
- Siempre se parte de una definición de requerimientos que no va a cambiar. Aún no existe una herramienta automatizada que facilite el registro y análisis de datos generados por la aplicación de PSP.
PSP pretende formar ingenieros de software con métodos disciplinados para mejorar su desarrollo personal de software. PSP le ayuda a los desarrolladores a:
- 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 producto
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.
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.
- 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 Los miembros se sienten seguros al tomar decisiones que les parecen apropiadas al entender la filosofía de la operación.
Sus orígenes se deben a las limitaciones que el PSP (Personal Software
Process, su antecesor) tenía en el ámbito industrial. PSP resultó muy efectivo
para que los ingenieros pudiesen tener el control de su proceso personal
mediante la mejora de sus habilidades de estimación y la reducción de los
defectos introducidos en los productos sin afectar a su productividad, pero PSP
sólo se enfocaba en las fases de desarrollo de software (diseño y pruebas
unitarias); la aplicación que lo ingenieros hicieron del PSP dentro de las
empresas resulto en prácticas no satisfactorias.
Por tal motivo, Watts Humphrey desarrolló el TSP, el cual consideraba
como parte importante, además de lo previsto por el PSP, los requisitos, las
pruebas de integración, la documentación y otras actividades típicas en todo
proyecto de desarrollo, de igual manera incluía actividades como los roles de
equipo, interrelaciones dentro de la organización y la definición de un proceso
de equipo para ser utilizado dentro de los procesos existentes en la
organización.
Los Roles (responsabilidades) en los equipos en STP son:
- Líder del Equipo: Dirige al equipo, se asegura que todos reporten sus datos de los procesos y completen su trabajo tal y como se planeó. Realiza los reportes semanales del avance del equipo.
- Gestor de desarrollo: Guía al equipo en el diseño y desarrollo del producto.
- Gestor de Planificación: Apoya y guía al equipo en la planificación y seguimiento del trabajo.
- Gestor de Calidad/Proceso: Apoya al equipo en definir sus necesidades acerca del proceso y a establecer y administrar el plan de calidad.
- Genera estándares para obtener un trabajo uniforme. Modera las inspecciones y revisa cada artefacto generado.
- Administrador de Requerimientos/Soporte: Dirige al equipo en el desarrollo de requerimientos de software y ayuda a dar a conocer la tecnología y en las necesidades de apoyo administrativo.
- Administra el plan de configuración.
Es necesario que los ingenieros que usan TSP estén formados en PSP. Con TSP, los equipos encuentran y reparan defectos en etapas tempranas del proceso de desarrollo, esto reduce de manera importante el tiempo de pruebas. Esto reduce de manera importante el tiempo de pruebas. Con un testing más corto, el ciclo completo se reduce.
A diferencia de otros métodos, TSP mejora el desempeño tanto de equipos
como individuos, es disciplinado y ágil, provee beneficios inmediatos y
medibles y acelera las iniciativas de mejora de procesos organizacionales.
En las fases del Ciclo TSP se planea el número de ciclos. Dentro de cada ciclo se realiza:
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
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
- CMM- Administración.
- TSP- Equipo Ingenieros.
- PSP-Ingeniero.
0 comentarios:
Publicar un comentario