Introducción al Personal Software Process (PSP)

Documentos relacionados
TSP Team development. PSP2 Code reviews Design reviews. PSP1.1 Task planning Schedule planning. PSP1 Size estimating Test report

PSP1.1 Instrucciones del Resumen del Plan del Proyecto

CICLO DE VIDA DEL SOFTWARE

Rational Unified Process

ANÁLISIS DE SISTEMAS. Prof. Eliz Mora

PSP1 Guión del Proceso

MODELO CMMI. (Modelo de Madurez de la Capacidad de Integración) 2) Establecimiento de servicios de gestión, y la entrega (CMMI para Servicios)

ISF-1302 SATCA 1 : Carrera:

GESTIÓN DE PROYECTOS

Ingeniería del Software. Pruebas. Pruebas en el PUD. Las pruebas del software. Diseño de casos de prueba. Pruebas de SI OO

Ingeniería del Software Herramientas CASE Que es CASE? Ingeniería de sistemas asistida por computadoras (Computer-aised system engineering, o CASE)

Procesos de la Dirección de Proyectos para un proyecto

Procesos de la Dirección de Proyectos para un proyecto

Introducción al Modelo de Madurez

Coordinación de Servicios Informáticos (CSEI)

Fuente: Ian Sommerville. Ingeniería del Software, Séptima Edición

El Proceso. Capítulo 2 Roger Pressman, 5 a Edición. El Proceso de Desarrollo de Software

COBIT 4.1. Planear y Organizar PO8 Administrar la Calidad. By Juan Antonio Vásquez

ISO/IEC Aspectos básicos.

Fase de Pruebas Introducción.

Proceso de Testing Funcional Independiente

Procesos y desarrollo de SW Proceso Unificado

DIFERENCIA ENTRE CRIPTOGRAFIA SIMETRICA Y ASIMETRICA

Ciclos, Procesos y Metodologías de Desarrollo de Software. Análisis y Diseño de Sistemas de Información UNIDAD 2

Ingeniería de Sistemas. Objetivos. Que es un Sistema? Tópicos. Ingeniería de Software y Sistemas. Problemas con la Ingeniería de Sistemas

Plan de transición de la certificación con las normas ISO 9001 e ISO (Fecha de actualización )

ALLSOFT S.A. de C.V. Monterrey, N.L.

ESCUELA POLITÉCNICA NACIONAL

Tecnología hardware y software

COBIT 4.1. Planear y Organizar PO10 Administrar Proyectos. By Juan Antonio Vásquez

CAPÍTULO II. Fundamentación teórica

PMBOK. Estos grupos de procesos no representan fases rígidas ni recetas, sino que, grosso modo, equivalen al modelo planear, hacer, revisar y actuar :

Planificando y haciendo seguimiento de proyectos. TSP Team development. PSP2 Code reviews Design reviews. PSP1.1 Task planning Schedule planning

FORMACIÓN EN BUENAS PRÁCTICAS DE PROGRAMACIÓN CON PERSONAL SOFTWARE PROCESS (PSP)

MODELO INCREMENTAL (introducción) Propuesto por Mills en 1980.

Pontificia Universidad Javeriana Ingeniería de Software. Profesora: Olga Roa. Cali

Determinación de la Capacidad de Mejora del Proceso de Software. Integrantes: Marisol Padilla Bautista Artemio Pérez Villa Manuel Lara

Estrategia de Pruebas

CONTROL DE CALIDAD UNIDAD I: EL CONTROL DE CALIDAD

Capítulo 2: Ciclo de vida del Proyecto y organización

Administración de Proyectos en Ingeniería de Software

Procesos de la Dirección de Proyectos para un proyecto

INFORME INVESTIGACIÓN MSF (MICROSOFT SOLUTION FRAMEWORK) INTEGRANTES: Xiomara Moreno Estefanía Quintero Jorge Luis Monsalve

ANEXO TECNICO. Fábrica de Software

Ingeniería de Requerimientos. requiere de un Sistema de Software.

P.S.P. Programa Educativo. Tecnologías de la Información y Comunicación. Alumno. José Alfredo Ramírez Jaguey

ISF-1304 SATCA 1 : Carrera:

Después de la segunda guerra mundial, la estrategia de calidad en la mayoría de las

Diseño del Servicio Transición del Servicio

DIRECTOR: INGENIERO GUILLERMO CEPEDA FELIPE ANDRES JARAMILLO RODRIGUEZ ALVARO EDUARDO AGUDELO GUTIERREZ

Métodos para el diseño de soluciones

SILABO DEL CURSO PRUEBAS DE SOFTWARE

I. GESTIÓN DE PROYECTOS

Curso Aseguramiento de la Calidad De los Procesos y Productos de Software

MODELOS DE CALIDAD EN EL DESARROLLO DE SOFTWARE

A partir de este capítulo se introducen términos, probablemente nuevos para el

Para qué se creó? El objetivo del estándar es proporcionar un conjunto estandarizado de documentos para la documentación de pruebas de software.

Maestría en Seguridad Informática. Jorge Ezequiel, Bo Hugo Pagola Alberto Dums

Proceso Unificado (Iterativo e incremental)

ManufacturingResourcePlanning(MRP II) (Planificación de los. Dr. Rafael Vargas Bernal Enero-Abril de 2016

Descripción del Curso

BUENAS PRACTICAS EN DESARROLLO DE SOFTWARE APUNTES DE UNA EXPERIENCIA

Estimación de Costos en Proyectos de Capital en Minería Y el aporte de AACEI para una correcta Estimación. Santiago Ramirez Pimentel Estimador Senior

TEMA 4. PROCESO UNIFICADO

Interfaz Humano Computadora DRA. LETICIA FLORES PULIDO PRIMAVERA 2012

Unidad VII Introducción al MSF. M.C. Juan Carlos Olivares Rojas

Administración y Seguimiento al Control de Proyectos con Microsoft Project

CAPÍTULO 1 OBJETO DE LA TESIS: CALIDAD EN EL SERVICIO.

CICLO DE DESARROLLO DE SISTEMAS DE INFORMACIÓN Llorens Fabregas

Desarrollo Orientado a Objetos

Dirección General de Educación Superior Tecnológica

Transcripción:

Introducción al Software Process (PSP) El Software Process ayuda a los desarrolladores de software a mejorar su funcionamiento disciplinando la manera en que desarrollan software De acuerdo con las prácticas encontradas en el modelo de la madurez de la capacidad integrado (CMMI), el PSP puede ser utilizado como guía a un acercamiento disciplinado y estructurado para el desarrollo de software El PSP se puede aplicar a muchas partes del proceso del desarrollo del software, incluyendo el análisis, definición de requerimientos, desarrollo del programa, documentación, las pruebas del sistema, y mantenimiento PSP es un proceso de software diseñado para ser utilizado por un Desarrollador de Software Fue desarrollado por Watts Humphrey y se describe en su libro A discipline for Software Engineering Es utilizado para guiar el planeamiento y desarrollo de módulos de software o pequeños programas, pero es adaptable a otras tareas personales Como CMMI, PSP está basado en principios de mejoramiento de procesos, pero mientras que CMMI está enfocado en mejorar las capacidades organizacionales, PSP está puesto en el desarrollo individual Para fomentar el mejoramiento en el nivel personal, PSP se extiende a la administración y control de procesos del desarrollador Utilizando PSP los desarrolladores producen software usando un enfoque estructurado y disciplinado Siguen un proceso definido, planifican, miden, supervisan su trabajo, administran la calidad de los productos y aplican un feedback cuantitativo para mejorar sus procesos personales de trabajo, llevando así a mejores estimaciones mejor planificación y seguimiento protección contra compromisos que nunca se cumplen un compromiso personal hacia la calidad involucrarse en un proceso de mejoramiento continuo

PSP se está utilizando en un gran número de universidades y en algunas organizaciones industriales Podemos decir que PSP es efectivo para la planificación de los trabajos de los ingenieros y para la calidad de los productos que se realizan, ya que ayuda a que los ingenieros aprendan a usar datos y técnicas de análisis para determinar su propia realización del trabajo, y medir así la efectividad de los métodos que se usan El proceso de PSP tiene la siguiente evolución: PSP 3 Desarrollo Cíclico PSP 2 Revisión del código Revisión del diseño PSP 1 Estimación del Tamaño PSP 0 Proceso Figura 21 Evolución del PSP Las fases que se necesitan para llevar a cabo un trabajo utilizando PSP son: Medición (PSP0) Planificación (PSP1) Calidad (PSP2) Proceso Cíclico (PSP3) 211 Los principios del PSP El diseño de PSP se basa en los principios siguientes del planeamiento y de la calidad: Cada ingeniero es diferente; los ingenieros deben planear su trabajo y deben basar sus planes en sus propios datos personales

Para mejorar constantemente su funcionamiento, los ingenieros deben utilizar personalmente procesos bien definidos y medidos Para producir productos de calidad, los ingenieros deben sentirse personalmente responsables de la calidad de sus productos Los productos superiores no son producidos por error; los ingenieros deben esforzarse hacer el trabajo de la calidad Cuesta menos al hallazgo y el arreglo deserta anterior en un proceso que más adelante Es más eficiente prevenir defectos que encontrarlos y fijar La manera derecha es siempre la manera más rápida y más barata de hacer un trabajo Para hacer software de la manera correcta, los desarrolladores deben planificar sus trabajos antes de comprometerse a comenzar una tarea, utilizando un proceso definido de planificación de trabajos Para comprender su rendimiento personal, deben medir el tiempo que pasan en cada paso de la tarea, los defectos que agregan y remueven, y los tamaños de los productos que producen Para producir consistentemente productos de calidad, los desarrolladores deben planificar, medir, y realizar un seguimiento de la calidad del producto, y deben enfocarse en la calidad desde el comienzo de la tarea Finalmente, deben analizar los resultados obtenidos de cada tarea y utilizar esos datos para mejorar sus procesos personales 221 Los 7 pasos del PSP 2211 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 PSP01 agregando un estándar de código, mediciones de tamaño y el denominado PIP (Process Improvement Proposal) El PIP provee una manera estructurada de registrar problemas, experiencias y

sugerencias para mejorar PSP01 también mejora las mediciones para contar separadamente métodos y procedimientos Proceso Cíclico PSP 3 Desarrollo Cíclico Administración de Calidad PSP 2 Revisión de Código Revisión de Diseño PSP 21 Formatos de Diseño Proceso de Planeación PSP 1 Estimación de tamaño Reporte de pruebas PSP 11 Planeación de tareas Planeación de tiempos de actividades Estándar de tipos de Proceso de Medición PSP 0 Proceso actual Registro de tiempo Registro de defectos Estándar de tipos de defectos PSP 01 Estándar de Codificación Medición de Tamaño Propuesta de mejora del proceso 2212 PSP1 Planeación personal Figura 22 Evolución detallada del PSP PSP1 le agrega pasos de planeamiento a PSP0 El primer paso agrega estimaciones de tamaño y recursos y un reporte de prueba En PSP11 se introduce planeamiento de cronograma y seguimiento del proyecto Los desarrolladores son enseñados a: Entender la relación entre el tamaño 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 técnicas en proyectos grandes es comprendida, pocos desarrolladores las aplican a su trabajo personal PSP demuestra el valor de estos métodos en el nivel personal

2213 PSP2 Administración de Calidad 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 avergüenzan de sus errores El hecho de que la mayoría de los errores sean tipográficos o errores tontos hace que los desarrolladores sientan que pueden mejorar haciendo más esfuerzo El problema es que hacer más 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 más 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 diseño personal y revisiones de código 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 revisión que estén hechos a medida de su experiencia de defectos personales El proceso de diseño es contemplado en PSP21 El objetivo no es decirle a los desarrolladores como diseñar sino orientar el criterio para la finalización del diseño, es decir, cuando han terminado que es lo que deben haber obtenido Se establece un criterio de completitud de diseño y se examinan varias técnicas de verificación y consistencia de diseño 2214 PSP3 Proceso Cíclico Hasta este punto PSP se concentró en el proceso lineal para construcción de pequeños programas PSP3 presenta métodos para ser usados por individuos en la realización de programas de gran escala De todas formas sigue enfocado en el individuo y no trata los problemas de comunicación y coordinación que son una parte importante del desarrollo de sistemas de gran escala Para escalar PSP2 a proyectos más 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 diseñados para ser desarrollados en pasos incrementales La primera construcción consiste en un módulo base o kernel que es ampliado en ciclos iterativos En

cada iteración se utiliza un PSP2 completo, incluyendo diseño, codificación, compilación y pruebas Especificaciones Requerimientos Y Planificación Diseño de Alto nivel Ciclo específico Diseño detallado Y Repaso del diseño Repaso al Diseño De Alto nivel Desarrollo de las pruebas Y repaso Desarrollo Cíclico Implementación Y Repaso del código Postmortem Compilación Pruebas Integración Pruebas del sistema Uso Producto Valorar de nuevo Y Reciclar Fig 23 Proceso cíclico de PSP3 El proceso cíclico 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 verificación de la calidad del último incremento sin preocuparse por defectos en ciclos anteriores Si un incremento anterior tiene muchos defectos, la prueba será más compleja y los beneficios de escalar PSP se pierden Esta es una razón para enfatizar revisiones de diseño y código en los pasos anteriores de PSP