27

Psp

Embed Size (px)

Citation preview

Page 1: Psp
Page 2: Psp

FUNDAMENTOS DE INGENIERÍA DEL SOFTWAREFUNDAMENTOS DE INGENIERÍA DEL SOFTWARE

PROCESO DE SOFTWARE PROCESO DE SOFTWARE PERSONAL (PSP)PERSONAL (PSP)

ESCUELA DE CIENCIAS DE LA ESCUELA DE CIENCIAS DE LA COMPUTACIONCOMPUTACION

Page 3: Psp

INTRODUCCIÓN Y ANTECEDENTESINTRODUCCIÓN Y ANTECEDENTES• Entre Entre laslas principales causas para que el proceso principales causas para que el proceso

de desarrollo de software falle pueden ser:de desarrollo de software falle pueden ser:

– El personal de desarrollo no se involucra lo El personal de desarrollo no se involucra lo suficiente.suficiente.

– No esta consciente de la verdadera importancia No esta consciente de la verdadera importancia del proyecto.del proyecto.

– No se cuentan con los recursos necesariosNo se cuentan con los recursos necesarios

– Las practicas establecidas no son buenas…Las practicas establecidas no son buenas…

Page 4: Psp

• Esta claro que la producción de software debe Esta claro que la producción de software debe convertirse en un proceso disciplinado y convertirse en un proceso disciplinado y aceptado por todos.aceptado por todos.

• En los años 70 y 80 era popular la estrategia En los años 70 y 80 era popular la estrategia “Prueba y arregla” en la industria “Prueba y arregla” en la industria estadounidense.estadounidense.

• En estos años se establece el control de En estos años se establece el control de procesos, que desde aquí ha ido enfocando procesos, que desde aquí ha ido enfocando todo avance en el enfoque de la calidad. todo avance en el enfoque de la calidad. – Modelo de Capacidad de Maduración Modelo de Capacidad de Maduración (CMM) en (CMM) en

1987.1987.

Page 5: Psp

PROCESO DE SOFTWARE PROCESO DE SOFTWARE PERSONALPERSONAL

• En el año de 1995 el PSP fue En el año de 1995 el PSP fue propuesto por Watts Humphrey, este propuesto por Watts Humphrey, este inicialmente estaba dirigido para inicialmente estaba dirigido para estudiantes.estudiantes.

• Para 1997 con el lanzamiento del Para 1997 con el lanzamiento del libro "An Introduction to the Personal libro "An Introduction to the Personal Software Process" el PSP ya estaba Software Process" el PSP ya estaba destinado a los ingenieros.destinado a los ingenieros.

Watts Humphrey

Page 6: Psp

• PSP se concentra en las prácticas de trabajo de PSP se concentra en las prácticas de trabajo de los ingenieros en una forma individual.los ingenieros en una forma individual.

• El PSP se caracteriza porque es de uso El PSP se caracteriza porque es de uso personal y se aplica a programas pequeños de personal y se aplica a programas pequeños de menos de 10.000 líneas de código.menos de 10.000 líneas de código.

• El PSP sirve para producir software de calidad, El PSP sirve para producir software de calidad, donde cada ingeniero debe trabajar en la donde cada ingeniero debe trabajar en la necesidad de realizar trabajo de calidad.necesidad de realizar trabajo de calidad.

Page 7: Psp

• El PSP se centra en la administración del tiempo El PSP se centra en la administración del tiempo y en la administración de la calidad a través de y en la administración de la calidad a través de la eliminación temprana de defectos.la eliminación temprana de defectos.

• El PSP busca proporcionar un marco de trabajo El PSP busca proporcionar un marco de trabajo para el personal involucrado en el proceso de para el personal involucrado en el proceso de desarrollo de software. desarrollo de software.

• PSP demuestra cómo manejar la calidad desde PSP demuestra cómo manejar la calidad desde el principio del trabajo.el principio del trabajo.

Page 8: Psp

PRINCIPIOS DEL PSPPRINCIPIOS DEL PSP

• Cada ingeniero es esencialmente diferente (Cada Cada ingeniero es esencialmente diferente (Cada uno se encarga de su trabajo).uno se encarga de su trabajo).

• Para mejorar constantemente su funcionamiento, Para mejorar constantemente su funcionamiento, los ingenieros deben utilizar personalmente los ingenieros deben utilizar personalmente procesos bien definidos y medidos. procesos bien definidos y medidos.

• Los ingenieros deben sentirse personalmente Los ingenieros deben sentirse personalmente comprometidos con la calidad de sus productos, comprometidos con la calidad de sus productos, esto mejorará la calidad.esto mejorará la calidad.

Page 9: Psp

OBJETIVOSOBJETIVOS DE PSP DE PSP

• Lograr una disciplina de mejora continua en el Lograr una disciplina de mejora continua en el proceso proceso de de desarrollodesarrollo..

• Medir, estimar, planificar, seguir y controlar el Medir, estimar, planificar, seguir y controlar el proceso de desarrollo.proceso de desarrollo.

• Mejorar la calidad del proceso de desarrollo.Mejorar la calidad del proceso de desarrollo.

• En general, PSP provee calidad y productividad.En general, PSP provee calidad y productividad.

– El tiempo ahorrado en el testeo en base a una El tiempo ahorrado en el testeo en base a una mejor calidad ahorra entre un 20 a 40 % del mejor calidad ahorra entre un 20 a 40 % del desarrollo…desarrollo…

Page 10: Psp

PRINCIPIOS DEL PSPPRINCIPIOS DEL PSP

• Cuesta menos encontrar y arreglar errores en la Cuesta menos encontrar y arreglar errores en la etapa inicial del proyecto que encontrarlos en etapa inicial del proyecto que encontrarlos en las etapas subsecuentes. las etapas subsecuentes.

• Es más eficiente prevenir defectos que Es más eficiente prevenir defectos que encontrarlos y arreglarlos. encontrarlos y arreglarlos.

• La manera correcta de hacer las cosas es La manera correcta de hacer las cosas es siempre la manera más rápida y más barata de siempre la manera más rápida y más barata de hacer un trabajo.hacer un trabajo.

Page 11: Psp

DESVENTAJAS DE APLICAR DESVENTAJAS DE APLICAR PSPPSP

• El tiempo requerido para conocerloEl tiempo requerido para conocerlo• El costo emocional por mantener una disciplinaEl costo emocional por mantener una disciplina• El ego del cambio en las costumbresEl ego del cambio en las costumbres

Page 12: Psp

VENTAJAS DE APLICAR PSPVENTAJAS DE APLICAR PSP

• La idea de que ganamos en talento y habilidadLa idea de que ganamos en talento y habilidad

• La estimulación por nuevas ideasLa estimulación por nuevas ideas

• Una estructura de trabajo de mejoramiento personalUna estructura de trabajo de mejoramiento personal

• Tomar control del propio trabajoTomar control del propio trabajo

• La sensación de logroLa sensación de logro

• Una base mejorada para el trabajo en grupo (TSP)Una base mejorada para el trabajo en grupo (TSP)

• La convicción de que es lo mejor que se puede hacerLa convicción de que es lo mejor que se puede hacer

Page 13: Psp

NIVELES PSPNIVELES PSP• Para recalcar:Para recalcar:

– PSP tiene un marco de proceso de evolución similar PSP tiene un marco de proceso de evolución similar al que tiene CMM.al que tiene CMM.

– En el CMM un nivel de madurez sólo se alcanza si se En el CMM un nivel de madurez sólo se alcanza si se logran cumplir todas las KPA´s logran cumplir todas las KPA´s (áreas de procesos (áreas de procesos claves)claves) que exige cada nivel. que exige cada nivel.

– PSP solamente cubre de manera parcial estas KPA´s PSP solamente cubre de manera parcial estas KPA´s debido a que es un complemento de CMM.debido a que es un complemento de CMM.

– Al PSP es ideal utilizarlo junto con CMM (no es Al PSP es ideal utilizarlo junto con CMM (no es obligatorio).obligatorio).

Page 14: Psp

NIVELES PSPNIVELES PSP• El PSP define cinco actividades del marco de El PSP define cinco actividades del marco de

trabajo:trabajo:

– PLANEACIÓN.PLANEACIÓN.– DISEÑO DE ALTO NIVELDISEÑO DE ALTO NIVEL– REVISIÓN DEL DISEÑO DE ALTO NIVELREVISIÓN DEL DISEÑO DE ALTO NIVEL– DESARROLLO DESARROLLO – ANÁLISIS DE RESULTADOSANÁLISIS DE RESULTADOS

Page 15: Psp

NIVELES PSPNIVELES PSP

PSP 0PSP 0-Practicas actuales desarrollo.-Practicas actuales desarrollo.-Mantener registros de tiempo -Mantener registros de tiempo trabajado en un proyecto. trabajado en un proyecto.-Registrar defectos -Registrar defectos encontradosencontrados-Registrar tipos de defectos.-Registrar tipos de defectos.

PSP 0.1PSP 0.1-Establecer estándares de -Establecer estándares de código (Definir “Líneas de código (Definir “Líneas de código”)código”)-Proponer maneras de mejorar -Proponer maneras de mejorar proceso desarrolloproceso desarrollo-Realizar mediciones-Realizar mediciones

PSP 1PSP 1--Aptitud para estimar Aptitud para estimar tamaño.tamaño.-Informe de pruebas-Informe de pruebas

PSP 1.1PSP 1.1-Planeación de tareas-Planeación de tareas-Planeación de tiempos-Planeación de tiempos

PSP 2PSP 2-Revisión del diseño-Revisión del diseño-Revisión del código-Revisión del código

PSP 2.1PSP 2.1Plantillas de diseño (Marco Plantillas de diseño (Marco de trabajo y listas) de trabajo y listas) Verificación de tareas de Verificación de tareas de diseñodiseño

PSP 3PSP 3

Page 16: Psp

PlaneaciónPlaneación

• Esta actividad selecciona requisitos, con base Esta actividad selecciona requisitos, con base en ellos desarrolla el tamaño y la estimación de en ellos desarrolla el tamaño y la estimación de los recursos.los recursos.

• Estimación de los defectos.Estimación de los defectos.• Creación de un programa del proyecto.Creación de un programa del proyecto.• La planificación proporciona una sólida base La planificación proporciona una sólida base

para comprometerse a unas fechas de para comprometerse a unas fechas de entrega.entrega.• Estimación del tiempo necesario.Estimación del tiempo necesario.

Page 17: Psp

DiseñoDiseño de Alto de Alto NivelNivel • Se elabora especificaciones externas para los Se elabora especificaciones externas para los

componentes construidos.componentes construidos.• Diseño de componentes.Diseño de componentes.• Construcción de prototipos si hay incertidumbre.Construcción de prototipos si hay incertidumbre.• Los elementos se registran y se rastrean.Los elementos se registran y se rastrean.

Page 18: Psp

Revisión del diseño de alto nivelRevisión del diseño de alto nivel

• Métodos formales de verificación para errores Métodos formales de verificación para errores de diseño.de diseño.

• Mediciones para todas las tareas importantes y Mediciones para todas las tareas importantes y los resultados de trabajo.los resultados de trabajo.

Page 19: Psp

DesarrolloDesarrollo• Diseño a nivel de componentes se refina y Diseño a nivel de componentes se refina y

revisa.revisa.• Se genera, revisa, compila y prueba el código.Se genera, revisa, compila y prueba el código.• Mediciones para todas las tareas importantes y Mediciones para todas las tareas importantes y

los resultados de trabajo.los resultados de trabajo.• Puede medirse en LOC (líneas de código).Puede medirse en LOC (líneas de código).• Esto exige tener una forma normalizada de Esto exige tener una forma normalizada de

contar LOC, o de codificar.contar LOC, o de codificar.

Page 20: Psp

AnálisisAnálisis de de ResultadosResultados• Mediante las mediciones recolectadas se Mediante las mediciones recolectadas se

determina la efectividad del proceso.determina la efectividad del proceso.• Las mediciones y medidas deben ofrecer una Las mediciones y medidas deben ofrecer una

guía para modificar el proceso y así mejorar su guía para modificar el proceso y así mejorar su efectividad.efectividad.

Page 21: Psp

Iniciar el proyecto

Crear el proyectoDefinir los requerimientos del proyecto

Definir los roles del equipo de trabajo

Ingresar el plan del proyecto(usar estimaciones)

Asignar las responsabilidades

Avanzar el proyecto

Cargar la plantilla de metodología de desarrollo elegida

Cerrar el proyecto

Ciclo de vida de Proyectos (Seguimiento y supervisión)Orden de trabajo

Hoja de tiempo

Alertas

Definiciones iniciales de Proyectos

Manejar los requerimientos

• Actualizar las tareas

• Usar las Métricas

Exportar a Microsoft Project

Registro de defectos

Proyecto en Producción

Iniciar el proyecto

Crear el proyectoDefinir los requerimientos del proyecto

Definir los roles del equipo de trabajo

Ingresar el plan del proyecto(usar estimaciones)

Asignar las responsabilidades

Avanzar el proyecto

Cargar la plantilla de metodología de desarrollo elegida

Cerrar el proyecto

Ciclo de vida de Proyectos (Seguimiento y supervisión)Orden de trabajo

Hoja de tiempo

Alertas

Definiciones iniciales de Proyectos

Manejar los requerimientos

• Actualizar las tareas

• Usar las Métricas

Exportar a Microsoft Project

Registro de defectos

Proyecto en Producción

Enfoque del ProyectoEnfoque del Proyecto

Page 22: Psp

INSTRUCCIONES DE USO DEL PSPINSTRUCCIONES DE USO DEL PSP•Utilización de una tabla de registro de Utilización de una tabla de registro de

tiempos.tiempos.

Page 23: Psp

INSTRUCCIONES DE USO DEL PSP•Tabla de registro de tiempos, llenada

Page 24: Psp

INSTRUCCIONES DE USO DEL PSPINSTRUCCIONES DE USO DEL PSP

•Gestión de las interrupciones.Gestión de las interrupciones.▫INTERRUPCIONESINTERRUPCIONES

VariablesVariables No productivasNo productivas Perdida de tiempoPerdida de tiempo Rompen el ritmo de pensamientoRompen el ritmo de pensamiento

Page 25: Psp

INSTRUCCIONES DE USO DEL PSPINSTRUCCIONES DE USO DEL PSP

•Control de las tareas finalizadas.Control de las tareas finalizadas.•Resumen periódico de actividades.Resumen periódico de actividades.

Page 26: Psp

CONCLUSIONESCONCLUSIONES• La disciplina en el proceso de desarrollo de software es, sin lugar a La disciplina en el proceso de desarrollo de software es, sin lugar a

dudas, uno de los elementos fundamentales para tal propósito dudas, uno de los elementos fundamentales para tal propósito debemos comenzar a entenderla y aplicarla desde el primer año de debemos comenzar a entenderla y aplicarla desde el primer año de la la carrera.carrera.

• Con la introducción de PSP desde los primeros años y de forma Con la introducción de PSP desde los primeros años y de forma gradual, los futuros ingenieros informáticos del país inferirán la gradual, los futuros ingenieros informáticos del país inferirán la necesidad de saber gestionar correctamente sus tiempos y necesidad de saber gestionar correctamente sus tiempos y compromisos, no solo para el trabajo que desempeñarán sino para compromisos, no solo para el trabajo que desempeñarán sino para otras facetas de su vida.otras facetas de su vida.

• Para obtener productos de calidad, el ingeniero debe asumir la Para obtener productos de calidad, el ingeniero debe asumir la responsabilidad personal de la calidad de sus productos. Los buenos responsabilidad personal de la calidad de sus productos. Los buenos productos no se obtienen por azar, sino como consecuencia de un productos no se obtienen por azar, sino como consecuencia de un esfuerzo positivo para hacer un trabajo de calidad.esfuerzo positivo para hacer un trabajo de calidad.

Page 27: Psp

SitiosSitios de de InterésInterés• Engenieering Institute; Personal Software Process (PSP) 2008; Engenieering Institute; Personal Software Process (PSP) 2008; Disponible en: Carnegie Mellon University. Disponible en: Carnegie Mellon University. http://www.sei.cmu.edu/tsp/psp.htmlhttp://www.sei.cmu.edu/tsp/psp.html

• Addison Wesley; Proceso de Software Personal; 2001; Disponible en Addison Wesley; Proceso de Software Personal; 2001; Disponible en http://lsi.ugr.es/~ig1/docis/respsp.pdf http://lsi.ugr.es/~ig1/docis/respsp.pdf

•Enrique Vereau, Ingeniería de Software; Peru Server; Disponible en Enrique Vereau, Ingeniería de Software; Peru Server; Disponible en http://www.vereau.org/wp-images/images/files/pres-psp-chiclayo.pdfhttp://www.vereau.org/wp-images/images/files/pres-psp-chiclayo.pdf

•PROCESO PERSONAL DEL SOFTWARE; Disponible en PROCESO PERSONAL DEL SOFTWARE; Disponible en http://catarina.udlap.mx/u_dl_a/tales/documentos/lis/pelaez_r_jj/capitulo2.http://catarina.udlap.mx/u_dl_a/tales/documentos/lis/pelaez_r_jj/capitulo2.pdfpdf