Sei sulla pagina 1di 26

UNIDAD I: PSP Personal Software Process

Los 7 pasos del PSP


sLos siete pasos del PSP
Proceso de Calidad Personal Proceso personal cclico PSP3 Desarrollo en ciclos Paso 7 PSP2 Revisin decodificacin Revisin de diseos PSP2.1 Formatos de diseo

Paso 5 Proceso de Planeacin Personal PSP1 Estimacin del tamao Reporte de pruebas

Paso 6

PSP1.1 Planeacin de actividades Planeacin de tiempos

Paso 3 Proceso de Medicin Personal PSP0 Proceso o actual Registro de tiempos Registro de errores Estndar de tipos de errores Paso 1

Paso 4 PSP0.1 Estndar de codificacin Medicin del tamao Propuesta de mejoramiento del proceso

Paso 2

PSP0 - El punto de partida de PSP


El paso inicial en PSP consiste en establecer una base que incluya mediciones y un formato de reportes. Esto permite medir el progreso y define los cimientos para mejorar. Esencialmente, PSP0 es el proceso habitual con el que los desarrolladores escriben software, mejorado para proveer mediciones. Se pasa a PSP0.1 agregando un estndar de cdigo, mediciones de tamao y el denominado PIP (Process Improvement Proposal). El PIP provee una manera estructurada de registrar problemas, experiencias y sugerencias para mejorar. PSP0.1 tambin mejora las mediciones para contar separadamente mtodos y procedimientos.

PSP1 Planeamiento personal


PSP1 le agrega pasos de planeamiento a PSP0. El primer paso agrega estimaciones de tamao y recursos y un reporte de test. En PSP1.1 se introduce planeamiento de cronograma y seguimiento del proyecto. Los desarrolladores son enseados a:
Entender la relacin entre el tamao de los programas que escriben y el tiempo que les toma desarrollarlos. Aprender a realizar compromisos que puedan cumplir. Preparar un plan ordenado para realizar su trabajo Establecer una base para realizar un seguimiento de su trabajo.

Mientras que la importancia de estas tcnicas en proyectos grandes es comprendida, pocos desarrolladores las aplican a su trabajo personal. PSP demuestra el valor de estos mtodos en el nivel personal.

PSP2 Administracin de Calidad Personal


Un objetivo de PSP es ayudar a los desarrolladores a lidiar de manera realista y objetiva con los defectos que introducen. Los programadores por lo general se avergenzan de sus errores. El hecho de que la mayora de los errores sean tipogrficos o errores tontos hace que los desarrolladores sientan que pueden mejorar haciendo ms esfuerzo. El problema es que hacer ms esfuerzo por lo general hace que las cosas empeoren; las claves, como en otras actividades, son las habilidades inherentes y las capacidades. En PSP2 se enfoca en mejorar la habilidad del desarrollador para producir programas de calidad. La idea es hacer al trabajo de calidad ms natural y consistente. Mejoras significativas en la frecuencia de defectos de los desarrolladores no son posibles a menos que conozcan cuantos errores cometen y que comprendan sus causas y consecuencias.

PSP2 agrega diseo personal y revisiones de cdigo a PSP1. Estas revisiones ayudan a encontrar defectos de manera temprana y a ver los beneficios que esto proporciona. Los desarrolladores analizan los defectos que encuentran en los primeros programas y usan estos datos para establecer checklists de revisin que estn hechos a medida de su experiencia de defectos personales. El proceso de diseo es contemplado en PSP2.1. El objetivo no es decirle a los desarrolladores como disear sino orientar el criterio para la finalizacin del diseo, es decir, cuando han terminado que es lo que deben haber obtenido. Se establece un criterio de completitud de diseo y se examinan varias tcnicas de verificacin y consistencia de diseo.

PSP3 Un Proceso Personal Cclico


Hasta este punto PSP se concentr en el proceso lineal para construccin de pequeos programas. PSP3 presenta mtodos para ser usados por individuos en la realizacin de programas de gran escala. De todas formas sigue enfocado en el individuo y no trata los problemas de comunicacin y coordinacin que son una parte importante del desarrollo de sistemas de gran escala. Para escalar PSP2 a proyectos ms grandes la estrategia consiste en subdividir el proceso personal de desarrollo de grandes programas en elementos en la escala de PSP2. Estos programas son entonces diseados para ser desarrollados en pasos incrementales.

El proceso cclico PSP3 puede ser un elemento efectivo en un proceso de desarrollo de gran escala solo si cada incremento sucesivo de software es de alta calidad. De esta manera los desarrolladores pueden concentrarse en la verificacin de la calidad del ltimo incremento sin preocuparse por defectos en ciclos anteriores.

Estructura de proceso de PSP

Planificacin en PSP

Recoleccin de Datos
En PSP, los desarrolladores utilizan informacin para monitorear su trabajo, la cual los ayuda a hacer mejores planes. Para esto, deben recolectar datos de los tiempos que dedican a cada fase del proceso, de los tamaos de los productos que producen, y de la calidad de esos productos.

Mediciones de Tiempo
Los desarrolladores utilizan el log de registro de tiempo para medir el tiempo que dedican a cada fase del proceso. En este log se anota la hora en que empezaron a trabajar en una tarea, la hora en que terminaron una tarea, y cualquier hora en que efectuaron una interrupcin y/o retomaron una tarea. Tomando estos tiempos en forma precisa, los desarrolladores pueden conocer el esfuerzo que realmente se dedica a las tareas del proyecto. Debido a que los tiempos de interrupciones son esencialmente al azar, ignorar estos tiempos sera introducir un error de gran tamao en la informacin de tiempos que reducira la exactitud de las estimaciones.

Mediciones de Tamao
En PSP, los desarrolladores primero estiman el tamao de los productos que planean desarrollar. Luego, al finalizar el producto, se mide el tamao real obtenido. Esta informacin permite a los desarrolladores realizar a futuro una estimacin de tamaos ms precisa. Sin embargo, para que esta informacin sea til, el tamao de las mediciones debe corresponderse con el tiempo de desarrollo del producto. En PSP, el tamao se mide en Lneas de Cdigo (LOC).
Total LOC = Base Eliminadas + Agregadas + Reutilizacin

Mediciones de Calidad
El principal enfoque de calidad en PSP es en los defectos. Para manejar los defectos, los desarrolladores necesitan informacin sobre los defectos que inyectan, las fases en las cuales los inyectan, y las fases en las que son encontrados y arreglados. En PSP, los desarrolladores registran los datos de los defectos encontrado en cada fase, incluyendo revisiones, inspecciones, compilaciones, y testing. Esta informacin es registrada en el log de defectos. Las principales mediciones de calidad son: Densidad de defectos ndice de revisin ndices de tiempo de desarrollo ndices de defectos Rendimiento Defectos por hora Efectividad de remocin de defectos Evaluacin del ndice de fallas

Manejo de Calidad
Cualquier defecto en una pequea parte de un gran programa puede potencialmente causar serios problemas. El problema es que la calidad de los grandes programas depende de la calidad de las pequeas partes que los conforman. Esto significa que todos los desarrolladores deben manejar la calidad de su propio trabajo. Para lograr que el software funcione, los desarrolladores deben al menos remover casi todos los defectos. Datos de PSP muestran que incluso desarrolladores experimentados inyectan un defecto cada siete a diez lneas de cdigo. Aunque los desarrolladores tpicamente encuentran y reparan muchos de los defectos al compilar y durante el testing, los mtodos tradicionales de software dejan muchos defectos en el producto terminado.

El primer principio de calidad de PSP es que los desarrolladores son personalmente responsables de la calidad de los productos que producen. Debido a que el desarrollador que escribe un programa se encuentra familiarizado con ste; dicho desarrollador es el que ms eficientemente puede encontrar, arreglar y prevenir los defectos. PSP provee una serie de prcticas y mediciones para ayudar a los desarrolladores a evaluar la calidad de los programas que producen y a guiarlos a encontrar y reparar todos los defectos del programa lo ms tempranamente posible. Adems del seguimiento y de las mediciones de calidad, PSP provee otros mtodos para el manejo de calidad: remocin temprana de defectos y prevencin de defectos.

Remocin Temprana de Defectos


El proceso de PSP incluye etapas de revisin de diseo y de cdigo en los cuales los desarrolladores revisan personalmente el trabajo de realizado antes de llevar a cabo una inspeccin, compilacin o testing. El propsito de la revisin se basa en el principio de que la gente tiende a cometer los mismos errores repetidamente. Luego, analizando los datos de los defectos realizados y construyendo un checklist con las acciones necesarias para encontrar esos errores, los desarrolladores pueden encontrar y reparar defectos de forma ms eficiente. Por ejemplo, a partir de datos de PSP, se obtiene que el tiempo que toma remover 100 defectos durante la etapa de testing es de 45 horas, mientras que el tiempo que toma encontrar esos mismos defectos en la revisin de cdigo es de 15 horas.

Prevencin de Defectos
La forma ms efectiva de manejar defectos es prevenir que se produzcan. En PSP, existen tres formas diferentes, pero mutuamente ligadas, de prevenir defectos. La primera consiste en que los desarrolladores registren los defectos que encuentran y reparan. Luego, ellos deben revisar esos datos para determinar qu caus esos defectos y efectuar cambios en los procesos para eliminar esas causas. Al medir los defectos, los desarrolladores son ms concientes de sus errores, ms sensibles respecto de sus consecuencias, y poseen los datos necesarios para evitar que esos errores se cometan en el futuro.

La segunda aproximacin de prevencin consiste en utilizar un mtodo de diseo y notacin efectivos que permitan producir diseos completos. Realizar un diseo completo permite a los desarrolladores un mejor entendimiento, con lo que no slo se obtienen mejores diseos, sino que adems se producen menos errores en esta etapa. El tercer mtodo de prevencin de defectos es una consecuencia directa del segundo: con un diseo an ms riguroso, el tiempo de codificacin es reducido, lo cual reduce tambin la cantidad de defectos inyectados.

Diseo en PSP
A pesar de que PSP puede ser utilizado con cualquier mtodo de diseo, requiere que el diseo se encuentre completo. PSP considera que un diseo se encuentra completo cuando se definen las cuatro dimensiones que se presentan en la estructura de especificacin de diseo de objetos
Especificacin de Objetos Esttico Interno Externo

Atributos Constraints Mquina de Estados

Herencia Estructura de Clases Servicios Mensajes

Dinmico

Estructura de Especificacin de Objetos

Especificacin de Templates de Objetos

Interno

Externo

Esttico

Template de Especificacin Lgica

Template de Especificacin de Funciones (Estructura de Herencia de Clases) Template de Especificacin de Funciones (Interaccin con el Usuario) Template del Escenario Operacional

Dinmico

Template de Mquina de Estados

Estructura de Templates de PSP

El template del escenario operacional define cmo los usuarios interactan con el sistema. (Casos de uso) El template de especificacin de funciones especifica el comportamiento call-return de los objetos del programa, as como tambin la estructura de herencia de clases. (Clases) El template de especificacin de estados define el comportamiento de la mquina de estados del programa. (Estados y Transiciones) El template de especificacin lgica especifica la lgica interna del programa, normalmente en un lenguaje de pseudocdigo.

Herramientas de Soporte de PSP


El Process Dashboard soporta las siguientes funcionalidades: Recoleccin de datos tiempo, defectos, tamao; planificacin vs. datos actuales. Planeamiento / seguimiento tiene los scripts de los distintos niveles, plantillas, formularios, y resmenes, de los diversos documentos que hay que realizar; tambin esta incorporado un modulo para utilizar PROBE. Anlisis de Datos genera en forma automtica grficos y reportes de ayuda para el anlisis de la informacin histrica. Exportacin de Datos Permite la exportacin de datos a Excel, o en formato de texto para ser utilizados con otras herramientas.

Como ventajas de este producto podemos resaltar: Precio el producto es open-source, y se distribuye sin costo alguno. Inclusive no utiliza ningn producto que requiera una licencia comercial, por lo que puede utilizar realmente sin costo alguno. Independiente de la plataforma al estar desarrollado 100% en Java, corre perfectamente en cualquier plataforma que soporte Java. Flexible y extensible el usuario puede definir nuevos procesos e incorporarlos sin la necesidad de programa, simplemente deber especificarlos siguiendo los pasos detallados en el manual. As mismo se pueden agregar o modificar los scripts, plantillas, formularios, y resmenes, utilizando cualquier editor de HTML.

Comparacin con otras tcnicas


Caracterstica Propsito PSP Gerenciamiento y mejora de la calidad Prescriptiva Exacta Desarrolladores y gerentes Ciclo de vida del desarrollo Muy bajo Muy alta Semanas Integral Muy Alto Inspecciones Mejora de la calidad Presciptiva Exacta Desarrolladores CMM Mejora del gerenciamiento Descriptiva Vaga Gerentes ISO900 Gerenciamiento de la calidad Descriptiva Vaga Gerentes

Metodologa Definicin Audiencia Cobertura Costo Calidad Implementacin Alcance Cuan Mensurable es

Verificacin y validacin Bajo Alta Das Estrecho Alto

Gerenciamiento de proyectos Alto Baja Aos Ambiguo Bajo

Aseguramiento de la Calidad Alto Baja Aos Ambiguo Bajo

Potrebbero piacerti anche