PSP

PSP (Personal Software Process) La calidad del software comienza por los individuos. El propósito es mejorar al ingeniero de software. Los elementos se presentan de manera que se pueda hacer uso de ellos según sean requeridos, es por ellos que se plantean las técnicas que posteriormente pueden ser aplicadas a métodos y herramientas. Los recursos son para quien diseña, desarrolla, documenta o realiza mantenimiento de software. Es una sugerencia sobre lo que se tiene que mejorar y cómo hacerlo.

Este proceso incluye una administración efectiva de defectos y métodos de planificación, seguimiento y análisis. Todo esto para ser aplicado a desarrollos de programas pequeños y grandes. Los datos históricos permiten hacer desarrollos más predecibles y eficientes.

En los desarrollos de gran tamaño se requiere un manejo exitoso de los equipos de trabajo. El proceso de software es un conjunto de pasos para realizar el desarrollo y mantenimiento de software, estableciendo lineamientos que le indican al ingeniero de software la manera en la que se debe trabajar.

De esta manera se puede coordinar los trabajos de cada uno de los integrantes y dar seguimiento a su desarrollo. El establecimiento de un proceso no es solamente la definición de técnicas y prácticas, sino que debe de estar fundamentado en la necesidad de cambio.

Los desarrollos a gran escala se vuelven complejos, es por ello que el marco de madurez de procesos de software fue desarrollado. De esta forma se organiza para determinar las capacidades del proceso actual y establecer prioridades de mejora. A través de cinco niveles se representa progresivamente la madurez del proceso.

1. Inicial
2. Repetible
3. Definido
4. Administrado
5. Optimizado

El progreso en PSP cuenta con las siguientes fases de procesos de mejora:

PSP0: proceso base
PSP1: proceso de planificación personal
PSP2: proceso de administración personal de calidad
PSP3: proceso personal cíclico

PSP es diseñado para ser un CMM12 (Capability Maturity Model) a nivel individual.

PSP enseña a los ingenieros a:

– Administrar la calidad de sus proyectos.
– Hacer compromisos que se puedan cumplir.
– Mejorar estimaciones y planificaciones.
– Reducir los defectos en sus productos.

El personal constituye gran parte de los costos del desarrollo de software, las habilidades de los ingenieros determinan considerablemente los resultados del proceso de desarrollo de software. PSP puede ser usado por ingenieros como guía o como un disciplinado y estructurado acercamiento al desarrollo de software. PSP es un prerrequisito para una organización que pretende introducir TSP (Team Software Process). PSP puede ser incluida en muchas partes del proceso de desarrollo de software, incluyendo:

– Desarrollo de pequeños programas.
– Definición de requerimientos.
– Elaboración de documentos.
– Pruebas de sistemas.
– Mantenimiento de sistemas.
– Mejora de grandes sistemas de software.

Aunque las prácticas de PSP eran posibles y daban resultados, era casi imposible mantener la disciplina de las prácticas si el ambiente circundante no los animaba y exigía. Por esto Humphrey presentó TSP para unidades pequeñas de desarrollo.

Fuente: Apuntes de Ingeniería del Software de la FCA de la UNAM