Mostrando entradas con la etiqueta PSP. Mostrar todas las entradas
Mostrando entradas con la etiqueta PSP. Mostrar todas las entradas

SEI Virtual Forum: TSP

jscreationzs
El SEI realizó el pasado 20 de octubre un foro virtual tecnológico, donde presentó las líneas de trabajo e investigación que está desarrollando o difundiendo actualmente. El foro contó con especialistas y expertos de primer nivel dentro de la institución, quienes expusieron para mil participantes de más de 50 países, conectados en línea, los diferentes tópicos en temas como: Métodos Agile, Cómputo en la Nube, CMMI y TSP
En paralelo se enviaron mensajes de Twitter que permitían hacer un seguimiento de lo que estaba pasando en el foro. Tomando esa información y las presentaciones mostradas, pretendemos hacer un resumen de los principales temas.
Jim McHale, presentó resultados de una encuesta sobre TSP (Team Software Process). De acuerdo con un estudio realizado por Caper Jones, es considerado una “best practice” de clase mundial.

Team Software Process (TSP)

TSP es uno de los métodos desarrollados por el SEI, para en conjunto con PSP, mejorar el desempeño de los equipos de desarrollo y la calidad de los productos que se construyen. Permite instanciar las prácticas de CMMI con elementos ya definidos y listos para utilizarse.
Adicionalmente es uno de los componentes, adicional a CMMI y Six Sigma, que integran la estrategia AIM presentada por el SEI para acelerar la implementación de las prácticas del modelo CMMI en las organizaciones. De acuerdo con este enfoque, el uso de TSP, combinado con Six Sigma, permite implementar las prácticas a nivel 3 de CMMI de manera rápida, confiable y con un alto rendimiento en un periodo de 18 meses para organizaciones pequeñas o medianas.

Métricas establecidas en Personal Software Process

Uno de los elementos fundamentales del proceso PSP radica en la generación y análisis de los indicadores del proceso. Para esto incluye métricas en cada uno de sus niveles de proceso para evaluar el desempeño individual de los programadores. En términos generales agrupa métricas de esfuerzo, defecto, tamaño, desempeño, planificación y calidad, que se presentan a continuación. 

Personal Software Process (PSP®), elementos generales


Personal Software Process (PSP®) es una herramienta diseñada para ayudar a controlar, administrar y mejorar el trabajo de los ingenieros. 



Contiene formas, guías y procedimientos para el desarrollo de software. Cuando se utiliza adecuadamente permite obtener la información histórica que se requiere para establecer y cumplir con los compromisos; adicionalmente permite que las tareas rutinarias sean más predecibles y eficientes. Fue creado por Watts Humphrey como respuesta a la carencia de una herramienta para aplicar los principios generales que planteaba el modelo SW CMM® para los procesos de la organización, aplicados a procesos individuales. 

Propósito


  • Ayudar al ingeniero de software a realizar mejor su trabajo.
  • Proporcionar datos y técnicas de análisis que se pueden utilizar para determinar que tecnología y métodos aplicar.
  • Establecer la estructura que permita comprender por qué se cometen los errores y cómo se pueden detectar.

Motivaciones

  • Demostrar los principios del proceso personal.
  • Apoyar el desarrollo de planes más precisos.
  • Determinar los pasos para lograr la mejora de la calidad de los productos.
  • Establecer bases de comparación para medir la mejora del proceso personal.
  • Determinar el impacto en el desempeño de los cambios del proceso.

Estructura 

Está formado por siete niveles incrementales. Cada nivel contiene todas las actividades del nivel anterior más una o dos actividades nuevas y está enfocado hacia un problema en particular. Cada actividad está acompañada de una o más formas que apoyan el proceso.

Beneficios de PSP

  • Los datos y su análisis permitirán determinar las fortalezas y debilidades.
  • Los datos y su análisis posterior conducirán hacia nuevas ideas para la mejora del proceso.
  • Se tendrá control total sobre el calendario, aceptando sólo aquellos compromisos que se puedan cumplir. Si se enfrenta con una presión no razonable, puede recurrir a la base de datos histórica de desempeño y demostrar que no es posible establecer el compromiso.
  • Se gana un sentido de satisfacción personal.
  • La parte de calidad ayudará a producir mejores productos de trabajo.
  • El equipo de trabajo tendrá mayor confianza porque existe una disciplina para el desarrollo de los productos.

Desventajas de PSP

  • El uso de LOC como métrica de estimación tiene sus desventajas, es dependiente del lenguaje, no todos los ingenieros están de acuerdo con lo que es una LOC lógica y son difíciles de visualizar desde la planeación y diseño
  • PSP sólo requiere un estimado del tiempo de interrupción, en lugar de obligar al usuario a registrar el tiempo real. Esto hace que el tiempo de interrupción estimado esta sujeto a las preferencias individuales.
  • El método de estimación PROBE puede no ser efectivo si no existe suficiente correlación entre los datos históricos.
  • Los formatos de diseño de PSP2.1 pueden ser redundantes para programadores que tienen acceso a otras herramientas de diseño.
  • Es subjetivo determinar si una parte del software es reutilizable.
  • No todos los ingenieros ven la definición de productividad de la misma manera.
  • PSP esta especialmente enfocado al desarrollo de software y no toma en cuenta el tiempo empleado en la negociación de los requerimientos con el cliente. La fase de requerimientos es un componente clave en cualquier proyecto.
  • Seguir PSP al pie de la letra no es viable para muchos ingenieros. Deben ver el método como una estructura para el desarrollo de una práctica de desarrollo de software con calidad. Cada uno de los métodos debe ser ajustado a la tecnología, práctica, fortalezas y debilidades de cada desarrollador. Es importante destacar que las métricas existen para evaluar el proceso no a las personas.

Herramientas automatizadas 

PSP requiere de herramientas que permitan:
  • Simplificar el proceso de recolección de los datos de tiempo y defectos.
  • Automatizar los cálculos requeridos.
  • Facilitar el acceso a cada una de las formas.
  • Llenar automáticamente cada una de las formas con los datos registrados, eliminando la necesidad de copiar la información a mano.
  • El control de tiempo puede hacerse más preciso en segundos en lugar de minutos.
  • Implementar una guía de tareas automatizada.
  • Cada usuario pueda adecuar la herramienta a sus prácticas.
  • Salvar automáticamente los datos históricos y dejarlos listos para su análisis.

Costo de PSP 

PSP toma tiempo para aprenderlo y aplicarlo. La mejor manera de aprender PSP es tomando el curso que le toma a un programador un total de 130 horas para completarlo. Después de un poco de práctica se acostumbra a usar el método como hábito, sin embargo la recolección y análisis de los datos requiere de un esfuerzo mayor. Hay que permitir de 30 segundos a un minuto para registrar los tiempos o defectos. Puede tomar hasta una hora completar el reporte de cierre, donde los datos son recolectados y analizados. 

Adoptar el PSP puede ser como adoptar una nueva forma de vida para el programador. Demasiadas expectativas sobre una mejora inmediata pueden terminar en frustración cuando no se obtengan los resultados que se esperaban. PSP puede causar un conflicto interno, no debe nunca pensar mucho en una debilidad sino crecerse con sus fortalezas.

CMMI v2, cinco puntos para entender la nueva versión del modelo

El mes de marzo del 2018 fue el lanzamiento de la versión 2.0 del modelo CMMI (Capability Maturity Model for Integration) por el CMMI Ins...