fbpx
Wikipedia

Personal Software Process

El proceso personal de software, 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, mediante el seguimiento del desempeño predicho frente al desempeño real. 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.

Con PSP los ingenieros de software pueden adquirir las habilidades necesarias para trabajar en un proceso de software en equipo TSP.

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.

Objetivos

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 productos.

Tipos

El entrenamiento de PSP sigue una metodología evolutiva de mejora: quien empieza a integrar PSP en su proceso comienza en el nivel PSP0 y progresa hasta alcanzar el nivel PSP2.1 que es el nivel máximo de madurez.

Cada nivel tiene guiones detallados, listas de chequeo y plantillas. Humphrey, creador de la metodología, motiva a los ingenieros experimentados a personalizarlos para que puedan aumentar el entendimiento de sus fortalezas y debilidades.

Proceso

La entrada de PSP son los requerimientos; el documento de requerimientos es completado y entregado al ingeniero.

PSP0, PSP0.1 (Introduce la disciplina y la medición al proceso)

PSP0 tiene 3 fases: planeación, desarrollo (diseño, codificación, pruebas) y un post mortem. Se establece una base del proceso normal de medición: tiempo tomado programando, fallos inyectados/removidos, tamaño de un programa. En un post mortem el ingeniero asegura que todos los datos del proyecto hayan sido registrados y analizados correctamente. PSP0.1 agrega un estándar de código, una medida de tamaño y el desarrollo de un plan de mejora personal PIP. En el PIP el ingeniero registra ideas para mejorar su propio proceso.

PSP1, PSP1.1 (Introduce estimación y planeación)

Teniendo como base los datos recolectados en PSP0 y PSP0.1, el ingeniero estima el tamaño que tendrá el nuevo programa y prepara un reporte de pruebas (PSP1). Los datos recolectados para proyectos previos se usan para estimar el tiempo total. Cada proyecto nuevo registrará el tiempo gastado actualmente. Esta información es usada para tareas de agendamiento, planeación y estimación(PSP1.1).

PSP2, PSP2.1 (Introduce manejo de calidad y diseño)

PSP2 agrega dos fases nuevas: revisión de diseño y de código. Se enfoca en la prevención de defectos y su remoción. Los ingenieros aprenden a evaluar y mejorar su proceso midiendo la extensión de sus tareas y la cantidad de defectos inyectados y removidos en cada fase de desarrollo. Los ingenieros construyen y usan listas de chequeo para diseño y revisión de código.

PSP2.1 introduce especificaciones de diseño y técnicas de análisis.

(PSP3 es un legado de PSP que ha sido sustituido por TSP.)

Los niveles son:

  • PSP 0:
    • Proceso actual.
    • Registro de tiempos.
    • Registro de defectos.
  • PSP 0.1 :
    • Estándares de código.
    • Medición de tamaño.
  • PSP 1 - Inicial:
    • Estimación de tamaño.
    • Reporte de pruebas.
  • PSP 1.1:
    • Calendario de planeación de tareas.
  • PSP 2 - Repetible:
    • Revisión de diseño y código.
  • PSP 2.1:
    • Plantillas de Diseño.
  • (TSP).

La importancia de los datos en PSP

Uno de los aspectos fundamentales de PSP es el uso de datos históricos para analizar y mejorar el desempeño del proceso. La recolección de datos para PSP es soportada por cuatro elementos importantes:

  • Guiones.
  • Métricas.
  • Estándares.
  • Formatos.

Los guiones de PSP proveen una guía de nivel experto para seguir los pasos del proceso, los guiones proveen un marco de trabajo para aplicar las mediciones. En PSP hay cuatro mediciones esenciales:

  • Tamaño – el tamaño de una parte del producto, medido en líneas de código (LOC) o piezas de software equivalentes (proxies) que facilitan la medición.
  • Esfuerzo – el tiempo requerido para cumplir una tarea, se suele medir en minutos.
  • Calidad – la cantidad de defectos en el producto.
  • Agenda – una medición de progresión del proyecto, comparación de lo planeado contra las fechas de cumplimiento actuales.

La aplicación de estándares al proceso puede asegurar que los datos sean precisos y consistentes. Los datos son registrados en formatos, frecuentemente son registrados en aplicaciones para medir PSP.

Los desarrolladores de software usan otras medidas, que se derivan de las esenciales, para entender su desempeño. Entre las medidas derivadas están:

  • Estimación de precisión (tamaño/tiempo).
  • Predicción de intervalos (tamaño/tiempo).
  • Tiempo en la fase de distribución.
  • Distribución de la inyección de defectos.
  • Distribución de la remoción de defectos.
  • Productividad.
  • Porcentaje de rehúso.
  • Índice de costo de desempeño.
  • Valor planeado.
  • Valor ganado.
  • Valor ganado predicho.
  • Densidad de defectos.
  • Densidad de defectos por fase.
  • Tasa de remoción de defectos por fase.
  • Apalancamiento de remoción de defectos.
  • Tasas de revisión.
  • Rendimiento (yield) de proceso.
  • Rendimiento (yield) de la fase.
  • Falla de costo de calidad (COQ).
  • Evaluación (appraisal) COQ.
  • Tasa evaluación/fallos COQ.

Planeación y seguimiento

El registro de tiempos, defectos, y tamaños es fundamental para planear y realizar seguimientos a los proyectos de PSP, los datos históricos son usados para mejorar la precisión estimación.

PSP usa el método PROBE para mejorar las habilidades de estimación de los desarrolladores para obtener más planeaciones más precisas. Para hacer el seguimiento del proyecto PSP usa el método del valor ganado (EV).

PSP también usa técnicas estadísticas, tales como correlación, regresión lineal, y desviación estándar, para traducir datos en información útil para mejorar la estimación, planeación y calidad. Las fórmulas estadísticas son calculadas por las herramientas para PSP.

Calidad

Producir software de alta calidad es la meta de PSP, y la calidad es medida en términos de defectos. Para PSP, un proceso de calidad debería producir software de pocos defectos que cumple con las necesidades del usuario.

PSP permite a los desarrolladores encontrar defectos en fases tempranas. Al encontrarlos pronto, PSP reduce la cantidad de tiempo gastado en fases posteriores como la fase de pruebas.

Según PSP es más económico y efectivo remover defectos tan pronto como sea posible. Se exhorta a los ingenieros de software a realizar revisiones personales para cada fase del desarrollo. Por lo tanto PSP incluye dos fases de revisión:

  • Revisión de diseño.
  • Revisión de código.

Para realizar una revisión efectiva, usted necesita seguir un proceso de revisión estructurado. PSP recomienda usar listas de verificación para ayudar a los desarrolladores a seguir un procedimiento ordenado.

PSP sigue la premisa que cuando la gente comete errores, sus errores son usualmente predecibles, así los desarrolladores PSP pueden personalizar sus listas de verificación, para revisar sus propios errores. También se espera que los ingenieros de software realicen propuestas de mejora, para identificar debilidades en su desempeño actual enfocándose en corregirlas. Los datos históricos del proyecto, los cuales exponen dónde se gasta el tiempo y los defectos introducidos, ayudan a los desarrolladores a identificar áreas para mejorar.

PSP y otras metodologías

PSP es un proceso personal que puede ser adaptado a las necesidades individuales de cada desarrollador. PSP no es específico para un lenguaje de programación o metodología de diseño; por lo tanto puede usarse con diferentes metodologías inclusive desarrollo Ágil de software.

Los métodos de la ingeniería de software pueden variar desde predictivos hasta adaptativos. PSP es una metodología predictiva, desarrollo Ágil es considerada una metodología adaptiva, pero a pesar de sus diferencias, TSP/PSP y desarrollo Ágil comparten varios conceptos aproximaciones – particulmente en cuanto a la organización del equipo. Con ambos es posible:

  • Definir sus metas y estándares.
  • Estimar y agendar el trabajo.
  • Determinar agendas realistas y alcanzables.
  • Realizar planes y procesos de mejora.

Desarrollo Ágil y TSP/PSP comparten la idea que los miembros del equipo se responsabilicen por su propio trabajo y trabajen juntos para acordar un plan realista, crear un ambiente de confianza y responsabilidad. Sin embargo, el TSP/PSP se diferencia del desarrollo Ágil en su énfasis en la documentación del proceso y el uso de datos para predecir y definir la agenda del proyecto.

Frente a UML, PSP obtiene la información de la interacción dinámica y estática, interna y externa capturando datos con formatos que se asemejan a los formatos de los de casos de uso, los diagramas de secuencias, y de clases. Basado en un diagrama UML se puede obtener la información base para crear ciertos formatos de PSP.

Certificación[1]

El Software Engineering Institute (SEI), de la Universidad Carnegie Mellon ofrece una certificación en PSP. Los pasos para hacerse un desarrollador certificado en PSP son: aprender PSP, realizar el examen de certificación, mantener las credenciales.[2]

Publicaciones

  • PSP: A Self-Improvement Process for Software Engineers 2005

Referencias

  1. . SEI Training. Pittsburgh, Pennsylvania: Software Engineering Institute, Carnegie Mellon University. Archivado desde el original el 29 de noviembre de 2014. Consultado el 17 de noviembre de 2014. 
  2. Pomeroy-Huff, Marsha; Cannon, Robert; Chick, Timothy A.; Mullaney, Julia; Nichols, William (2009). The Personal Software Process (PSP) Body of Knowledge, Version 2.0. Pittsburgh, Pennsylvania: Software Engineering Institute, Carnegie Mellon University. Consultado el 17 de noviembre de 2014.  Freely downloadable Special Report CMU/SEI-2009-SR-018, 2009

Enlaces externos

  • Página oficial.
  • Process Dashboard, herramienta para utilizar PSP.
  •   Datos: Q1702721
  •   Multimedia: Category:Personal Software Process

personal, software, process, proceso, personal, software, conjunto, prácticas, disciplinadas, para, gestión, tiempo, mejora, productividad, personal, programadores, ingenieros, software, tareas, desarrollo, mantenimiento, sistemas, mediante, seguimiento, desem. El proceso personal de software PSP es un conjunto de practicas disciplinadas para la gestion del tiempo y mejora de la productividad personal de los programadores o ingenieros de software en tareas de desarrollo y mantenimiento de sistemas mediante el seguimiento del desempeno predicho frente al desempeno real Esta alineado y disenado 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 Con PSP los ingenieros de software pueden adquirir las habilidades necesarias para trabajar en un proceso de software en equipo TSP Se puede considerar como la guia 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 medicion 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 obsesion por la toma de datos y elaboracion de tablas El PSP se orienta el conjunto de areas clave del proceso que debe manejar un desarrollador cuando trabaja de forma individual Indice 1 Objetivos 2 Tipos 3 La importancia de los datos en PSP 4 Planeacion y seguimiento 5 Calidad 6 PSP y otras metodologias 7 Certificacion 1 8 Publicaciones 9 Referencias 10 Enlaces externosObjetivos EditarPSP pretende formar ingenieros de software con metodos disciplinados para mejorar su desarrollo personal de software PSP le ayuda a los desarrolladores a Mejorar sus habilidades de estimacion y planeacion Hacer compromisos que se puedan cumplir Administrar la calidad de sus procesos Reducir la cantidad de defectos en sus productos Tipos EditarEl entrenamiento de PSP sigue una metodologia evolutiva de mejora quien empieza a integrar PSP en su proceso comienza en el nivel PSP0 y progresa hasta alcanzar el nivel PSP2 1 que es el nivel maximo de madurez Cada nivel tiene guiones detallados listas de chequeo y plantillas Humphrey creador de la metodologia motiva a los ingenieros experimentados a personalizarlos para que puedan aumentar el entendimiento de sus fortalezas y debilidades ProcesoLa entrada de PSP son los requerimientos el documento de requerimientos es completado y entregado al ingeniero PSP0 PSP0 1 Introduce la disciplina y la medicion al proceso PSP0 tiene 3 fases planeacion desarrollo diseno codificacion pruebas y un post mortem Se establece una base del proceso normal de medicion tiempo tomado programando fallos inyectados removidos tamano de un programa En un post mortem el ingeniero asegura que todos los datos del proyecto hayan sido registrados y analizados correctamente PSP0 1 agrega un estandar de codigo una medida de tamano y el desarrollo de un plan de mejora personal PIP En el PIP el ingeniero registra ideas para mejorar su propio proceso PSP1 PSP1 1 Introduce estimacion y planeacion Teniendo como base los datos recolectados en PSP0 y PSP0 1 el ingeniero estima el tamano que tendra el nuevo programa y prepara un reporte de pruebas PSP1 Los datos recolectados para proyectos previos se usan para estimar el tiempo total Cada proyecto nuevo registrara el tiempo gastado actualmente Esta informacion es usada para tareas de agendamiento planeacion y estimacion PSP1 1 PSP2 PSP2 1 Introduce manejo de calidad y diseno PSP2 agrega dos fases nuevas revision de diseno y de codigo Se enfoca en la prevencion de defectos y su remocion Los ingenieros aprenden a evaluar y mejorar su proceso midiendo la extension de sus tareas y la cantidad de defectos inyectados y removidos en cada fase de desarrollo Los ingenieros construyen y usan listas de chequeo para diseno y revision de codigo PSP2 1 introduce especificaciones de diseno y tecnicas de analisis PSP3 es un legado de PSP que ha sido sustituido por TSP Los niveles son PSP 0 Proceso actual Registro de tiempos Registro de defectos PSP 0 1 Estandares de codigo Medicion de tamano PSP 1 Inicial Estimacion de tamano Reporte de pruebas PSP 1 1 Calendario de planeacion de tareas PSP 2 Repetible Revision de diseno y codigo PSP 2 1 Plantillas de Diseno TSP La importancia de los datos en PSP EditarUno de los aspectos fundamentales de PSP es el uso de datos historicos para analizar y mejorar el desempeno del proceso La recoleccion de datos para PSP es soportada por cuatro elementos importantes Guiones Metricas Estandares Formatos Los guiones de PSP proveen una guia de nivel experto para seguir los pasos del proceso los guiones proveen un marco de trabajo para aplicar las mediciones En PSP hay cuatro mediciones esenciales Tamano el tamano de una parte del producto medido en lineas de codigo LOC o piezas de software equivalentes proxies que facilitan la medicion Esfuerzo el tiempo requerido para cumplir una tarea se suele medir en minutos Calidad la cantidad de defectos en el producto Agenda una medicion de progresion del proyecto comparacion de lo planeado contra las fechas de cumplimiento actuales La aplicacion de estandares al proceso puede asegurar que los datos sean precisos y consistentes Los datos son registrados en formatos frecuentemente son registrados en aplicaciones para medir PSP Los desarrolladores de software usan otras medidas que se derivan de las esenciales para entender su desempeno Entre las medidas derivadas estan Estimacion de precision tamano tiempo Prediccion de intervalos tamano tiempo Tiempo en la fase de distribucion Distribucion de la inyeccion de defectos Distribucion de la remocion de defectos Productividad Porcentaje de rehuso Indice de costo de desempeno Valor planeado Valor ganado Valor ganado predicho Densidad de defectos Densidad de defectos por fase Tasa de remocion de defectos por fase Apalancamiento de remocion de defectos Tasas de revision Rendimiento yield de proceso Rendimiento yield de la fase Falla de costo de calidad COQ Evaluacion appraisal COQ Tasa evaluacion fallos COQ Planeacion y seguimiento EditarEl registro de tiempos defectos y tamanos es fundamental para planear y realizar seguimientos a los proyectos de PSP los datos historicos son usados para mejorar la precision estimacion PSP usa el metodo PROBE para mejorar las habilidades de estimacion de los desarrolladores para obtener mas planeaciones mas precisas Para hacer el seguimiento del proyecto PSP usa el metodo del valor ganado EV PSP tambien usa tecnicas estadisticas tales como correlacion regresion lineal y desviacion estandar para traducir datos en informacion util para mejorar la estimacion planeacion y calidad Las formulas estadisticas son calculadas por las herramientas para PSP Calidad EditarProducir software de alta calidad es la meta de PSP y la calidad es medida en terminos de defectos Para PSP un proceso de calidad deberia producir software de pocos defectos que cumple con las necesidades del usuario PSP permite a los desarrolladores encontrar defectos en fases tempranas Al encontrarlos pronto PSP reduce la cantidad de tiempo gastado en fases posteriores como la fase de pruebas Segun PSP es mas economico y efectivo remover defectos tan pronto como sea posible Se exhorta a los ingenieros de software a realizar revisiones personales para cada fase del desarrollo Por lo tanto PSP incluye dos fases de revision Revision de diseno Revision de codigo Para realizar una revision efectiva usted necesita seguir un proceso de revision estructurado PSP recomienda usar listas de verificacion para ayudar a los desarrolladores a seguir un procedimiento ordenado PSP sigue la premisa que cuando la gente comete errores sus errores son usualmente predecibles asi los desarrolladores PSP pueden personalizar sus listas de verificacion para revisar sus propios errores Tambien se espera que los ingenieros de software realicen propuestas de mejora para identificar debilidades en su desempeno actual enfocandose en corregirlas Los datos historicos del proyecto los cuales exponen donde se gasta el tiempo y los defectos introducidos ayudan a los desarrolladores a identificar areas para mejorar PSP y otras metodologias EditarPSP es un proceso personal que puede ser adaptado a las necesidades individuales de cada desarrollador PSP no es especifico para un lenguaje de programacion o metodologia de diseno por lo tanto puede usarse con diferentes metodologias inclusive desarrollo Agil de software Los metodos de la ingenieria de software pueden variar desde predictivos hasta adaptativos PSP es una metodologia predictiva desarrollo Agil es considerada una metodologia adaptiva pero a pesar de sus diferencias TSP PSP y desarrollo Agil comparten varios conceptos aproximaciones particulmente en cuanto a la organizacion del equipo Con ambos es posible Definir sus metas y estandares Estimar y agendar el trabajo Determinar agendas realistas y alcanzables Realizar planes y procesos de mejora Desarrollo Agil y TSP PSP comparten la idea que los miembros del equipo se responsabilicen por su propio trabajo y trabajen juntos para acordar un plan realista crear un ambiente de confianza y responsabilidad Sin embargo el TSP PSP se diferencia del desarrollo Agil en su enfasis en la documentacion del proceso y el uso de datos para predecir y definir la agenda del proyecto Frente a UML PSP obtiene la informacion de la interaccion dinamica y estatica interna y externa capturando datos con formatos que se asemejan a los formatos de los de casos de uso los diagramas de secuencias y de clases Basado en un diagrama UML se puede obtener la informacion base para crear ciertos formatos de PSP Certificacion 1 EditarEl Software Engineering Institute SEI de la Universidad Carnegie Mellon ofrece una certificacion en PSP Los pasos para hacerse un desarrollador certificado en PSP son aprender PSP realizar el examen de certificacion mantener las credenciales 2 Publicaciones EditarPSP A Self Improvement Process for Software Engineers 2005Referencias Editar SEI Certified PSP Developer Frequently Asked Questions SEI Training Pittsburgh Pennsylvania Software Engineering Institute Carnegie Mellon University Archivado desde el original el 29 de noviembre de 2014 Consultado el 17 de noviembre de 2014 Pomeroy Huff Marsha Cannon Robert Chick Timothy A Mullaney Julia Nichols William 2009 The Personal Software Process PSP Body of Knowledge Version 2 0 Pittsburgh Pennsylvania Software Engineering Institute Carnegie Mellon University Consultado el 17 de noviembre de 2014 Freely downloadable Special Report CMU SEI 2009 SR 018 2009Enlaces externos EditarPagina oficial Process Dashboard herramienta para utilizar PSP Datos Q1702721 Multimedia Category Personal Software ProcessObtenido de https es wikipedia org w index php title Personal Software Process amp oldid 137348089, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos