¿Qué es el Proceso de software personal (PSP)?

El proceso de software personal es un método para que los desarrolladores de software perfeccionen sus propias habilidades. Este es en sí mismo un proceso de desarrollo estructurado.

Cuando se trata de optimización en el campo de TI, se trata principalmente de código. Pero ¿Qué pasa con los que escriben el código? El proceso de software personal describe un proceso de desarrollo de software que no solo tiene como objetivo producir un código optimizado, sino que también ayuda a los desarrolladores a mejorar.

Este método de desarrollo está diseñado para trazar una línea estricta entre la expectativa y el resultado, incluso sin organismos de prueba externos, y brinda a los desarrolladores herramientas para la autooptimización, incluso si trabajan como individuos o por cuenta propia y, de lo contrario, no tienen ningún tipo de control.

Leer: Qué hace un desarrollador de apps web

Explicación de los objetivos del proceso de software personal

Los objetivos del Proceso de Software Personal (PSP) están claramente definidos. No se trata de una autooptimización vaga, sino de mejoras notables y medibles para los desarrolladores.

A través de PSP, los desarrolladores deben:

  • Mejorar sus habilidades de planificación y estimación.
  • Solo hacer acuerdos que puedan mantener.
  • Gestionar la calidad de sus propios proyectos.
  • Reducir el número de errores en su trabajo.

Esto ya muestra que el Proceso de software personal es un proceso de optimización integral para desarrolladores, que incluye tanto la calidad como la optimización durante la programación, pero también aborda aspectos de la planificación del proyecto. Por lo tanto, está orientado tanto profesional como económicamente.

El proceso de software personal en la práctica

En ejecución, PSP sigue un sistema relativamente rígido para que los resultados sean medibles y cuantificables.

  • PSP0: la primera fase, PSP0, se divide en tres fases más: planificación, desarrollo (diseño, codificación, compilación y pruebas) y el denominado post mortem. En la autopsia, los desarrolladores aseguran el correcto registro y análisis de los datos.
  • PSP0.1: este paso intermedio después de PSP0 es de superación personal, se definen códigos y alcances de trabajo y se miden unidades de tiempo. A partir de estas métricas se determina un plan de mejora personal (PIP para Personal Improvement Plan).
  • PSP1: con base en los datos y los valores comparativos de PSP0 y PSP0.1, los desarrolladores de PSP1 pueden calcular qué tan grande será un proyecto posterior y cuánto tiempo tomará.
  • PSP1.1: la medición del tiempo real se utiliza para una mejor planificación y una estimación más precisa de las siguientes tareas.
  • PSP2: la revisión del diseño y la revisión del código aseguran un sistema funcional y optimizado. El enfoque de PSP2 es eliminar errores y vulnerabilidades y prevenir nuevos problemas con el código/programa/sistema.
  • WBS2.1: en esta fase, se agregan especificaciones de diseño y se desarrollan técnicas de análisis.
El proceso de software personal en la práctica
El proceso de software personal en la práctica

Requisitos para desarrolladores

El proceso de software personal se basa en datos existentes para crear mejores predicciones sobre el trabajo futuro. Las mejores habilidades al planificar y crear un proyecto permiten a los desarrolladores estimar el alcance del trabajo con mayor precisión y facilitan la planificación de un proyecto.

Sin embargo, la precisión de la previsión está ligada a la calidad y actualidad de los datos. Usando desviaciones estadísticas, se pueden calcular ciertos valores estándar en PSP Tools, que son una mejor aproximación de las horas de trabajo realmente esperadas.

Sin embargo, el objetivo del proceso de software personal no es solo una mayor capacidad de planificación, sino también un software de mayor calidad, en el sentido de que el software no tiene defectos. Lo que hace que el Proceso de software personal sea tan especial aquí es la eliminación oportuna de defectos. Por lo tanto, los errores deben eliminarse lo antes posible, ya que esto es más eficiente y económico.

Proceso de software personal y desarrollo ágil

PSP y Agile Development tienen mucho en común y también pueden mezclarse debido a sus intersecciones. Los puntos en común clave incluyen establecer metas y estándares de desarrollo, planificar el trabajo, estimar tareas con precisión y crear horarios de trabajo realistas.

Sin embargo, mientras que el desarrollo ágil es adaptativo, es decir, se adapta constantemente de nuevo durante el proceso de desarrollo, el Proceso de software personal es un proceso predictivo. Cada paso de trabajo debe predecirse con la mayor precisión posible.

Dado que los ajustes en Agile Development ocurren casi en vivo y los miembros del equipo siempre pueden hacer ajustes, una documentación más precisa no es tan importante. En el caso del proceso de software personal, en cambio, la documentación es fundamental para poder ofrecer mejores predicciones y hacerlas más precisas de forma continua.

Leer: ¿Qué es JDOM?

Sin embargo, se requiere precaución al usar los términos Proceso de software personal y la abreviatura PSP asociada. El proceso fue desarrollado por Watts S. Humphrey, el «padre de la calidad del software» y uno de los pioneros de la optimización de procesos de software. El método es ahora un término protegido por la Universidad Carnegie Mellon.

Deja un comentario