(marcelo.aruquipa@yahoo.es , emarquez@ruat.gov.bo) Universidad Mayor de San Andrés Facultad de Ciencias Puras y Naturales Postgrado en Informática
Resumen
El PSP amplia el proceso de mejora a la gente que realiza el trabajo de desarrollo de
software, concentrándose en las practicas de trabajo de los ingenieros en una forma individual, enseñando como manejar la calidad desde el principio de un producto. En este trabajo se dan las pautas e instrucciones para aplicar el PSP.
Palabras clave.- software, personal software process, planificación, tiempo. Calidad
de software.
Introducción Antecedentes
En el campo del desarrollo del software En la actualidad la tecnología avanza a
son pocas las organizaciones que siguen pasos agigantados, así también existe un o cumplen planes de trabajo o avance en las metodologías y metodologías establecidas para herramientas para el desarrollo de desarrollar software, poniendo en duda software. Una de estas metodologías es su calidad; muchos de estos proyectos el denominado Personal Software llegaron al fracaso porque sobrepasaron Process (PSP) diseñado por El PSP fue los costes estimados y/o sobrepasaron Definido por Watts S. Humphrey del los tiempos de planificación. Muchos de Software Engineering Institute en la estos sistemas que tenían defectos Carnegie Mellon University. produjeron en algún momento perdida de vidas humanas. Proyectos de El principal objetivo de este trabajo es millones de dólares que no han proporcionar un marco de trabajo para cumplidos sus objetivos y su tiempo de el personal involucrado en el proceso de planificación dejaron millones de desarrollo de software. usuarios insatisfechos, principalmente aquellos que trabajan mediante una Esta claro que la producción de aplicaron software. Algunas principales software debe convertirse en un proceso causas para que el proceso de desarrollo disciplinado y aceptado por todos. El de software pueden ser que : el personal ciclo de vida para el desarrollo de de desarrollo no se involucre lo software que normalmente conocemos suficiente en el control de calidad del tiene las siguientes etapas: producto, la alta dirección no esta conciente de la verdadera importancia • Análisis de Requerimientos del proyecto a causa de que no se • Diseño cuentan los recursos necesarios (dinero, • Programación tiempo, tecnología ), las practicas • Pruebas establecidas no son las adecuadas. • Implantación • Mantenimiento El desarrollo de software de esta manera Los procesos definidos ayudan a la tiene una alta calidad y un ciclo de vida planificación y desarrollo de un trabajo. mas largo. Actualmente existen diversas El proceso que se establezca debe ser metodologías de ingeniería del software flexible y debe facilitar el cambio y la que guían a los programadores a dar innovación. mejor seguimiento a sus programas, algunos de ellos son el COCOMO I, Proceso Personal de software COCOMO II, UML, Ley de Parkinson, (PSP) y mucha otras metodologías que actualmente existen y que algunas son El PSP (Personal Software Process) es nuevas y se adaptan a la metodología una técnica probada para mejorar el actual. funcionamiento y la productividad individuales de los ingenieros. Surge de También existen certificados de la necesidad que tiene los individuos seguridad que evalúan el software programadores de automatizar sus desarrollado y las metodologías que los procesos. programadores siguen. Sin embargo muchas veces estos certificados no PSP fue diseñado para ayudar a los profundizan lo suficiente en cada uno de profesionales del software para que los niveles de desarrollo y no ponen utilicen constantemente practicas sanas especial atención a la célula básica por de ingeniería del software, enseñándoles el cual elñ software no p0dria no existir a planificar y dar seguimiento a un y os referimos al programador. trabajo, utilizar un proceso bien definido y medido, a establecer metas Hay varias razones por las que puede mesurables y finalmente a rastrear fallar el proceso de software, tres de constantemente para obtener las metas ellas son: definidas.
• El personal no se involucra lo El Proceso Personal de Software es una
suficiente en el control de versión pequeña de CMM donde se calidad del trabajo preocupa solo por un conjunto de las KPAs. Fue propuesto por Watts • La alta dirección no ha Humphrey en 1995 y estaba dirigido a adquirido conciencia de la estudiantes. A partir de 1997 con el importancia de un buen proceso lanzamiento del libro "An introduction de software para su compañia. to the Personal Software Process" se dirige ahora a ingenieros principiantes. [1] • Las practicas establecidas no son las adecuadas. Fig. 1 Estructura del proceso PSP Fuente [3]
Principios del PSP • Trabajar bien es siempre la forma
mas rápida y económica de trabajar. • Cada ingeniero es diferente, para se mas eficiente, debe planificar su En el campo del desarrollo del software trabajo basándose en su experiencia hay tres aspectos que hacen efectivo el personal. trabajo de un ingeniero del software: producir productos de alta calidad, • Usar procesos bien definidos y cuantificados hacer el trabajo con el mínimo costo y cumplir el trabajo con la planificación • Los ingenieros deben asumir la establecida. responsabilidad personal de la calidad de sus productos. El PSP se caracteriza porque es de uso personal y se aplica a programas • Cuanto antes se detecten y corrijan pequeños de menos de 10.000 líneas de los errores menos esfuerzo será código. Se centra en la administración necesario del tiempo y en la administración de la calidad a través de la eliminación • Es mas efectivo evitar los defectos temprana de defectos. que detectarlos y corregirlos. En el PSP se excluyen los siguientes temas: [1] • Trabajo en equipo, • Nivel 4 - Definido: • Administración de configuraciones o Control de calidad. y o Administración • Administración de requerimientos. cuantitativa del proyecto. • Nivel 5 - Controlado: El PSP se orienta el conjunto de áreas o Administración de los clave del proceso que debe manejar un cambios del proceso. desarrollador cuando trabaja de forma o Administración del individual. Los siguientes son los cambio tecnológico. niveles y las KPAs que se manejan en o Prevención de defectos. cada uno: Hay que tener en cuenta que todo este • Nivel 2 - Inicial: proceso generará datos, por lo tanto la o Seguimiento y control de existencia de un repositorio de datos proyectos facilita la labor de proyectos futuros y o Planeación de los sera parte fundamental para la mejora proyectos del proceso dentro de la organización. • Nivel 3 - Repetible: o Revisión entre colegas. El PSP tiene varias fases: [1] o Ingeniería del producto de software. • PSP0: Proceso Base. o Manejo integrado del • PSP0.1: Complementos al software. proceso base. o Definición del proceso • PSP1 y PSP1.1: Planeación de software. personal. o Foco del proceso de • PSP2 y PSP2.1: Control de software. calidad personal. • PSP3: Programas más grandes.
Fig. 2 Evolución DEL Proceso personal de Software
Fuente: [7] El principal objetivo, por lo tanto, es • Un mejor base para un trabajo proporcionar un marco para el personal en equipo eficaz. De procesos de software, no para • La condena a hacer el trabajo enseñar las características específicas de de la manera que usted debe los distintos ámbitos del proceso. saber.
Los gastos personales de un PSP son los
siguientes. Instrucciones para la utilización del Personal software Process • El tiempo necesario para (PSP) aprender y utilizar. • El coste emocional de mantener la necesaria disciplina. A) Utilización de un Cuaderno de • El riesgo potencial para su ego. registro de tiempos
Los beneficios de una PSP son los El objetivo de registrar el tiempo es el
siguientes. de obtener datos de cómo se trabaja realmente, la forma y el procedimiento • El conocimiento obtenido en utilizados para reunir los datos no es tan sus talentos y habilidades. importante mientras los datos sean • La estimulación de un casi exactos y complejos. Es recomendable ilimitado flujo de las ideas. controlar el tiempo en unidades mas • El marco que ofrece para la pequeñas, mayormente se lo controla mejora personales. mediante horas, es mas fácil controlar el • El grado de control que usted tiempo en minutos. [6] gane más de su trabajo. • El sentimiento de orgullo y de El formato del cuaderno de registros de logro. tiempo es el siguiente. (ver Fig.3)
Fecha Hora Tiempo de Tiempo Descripción Comentario C U
Interrupción Actividad s Inicio Fin
Fig. 3 Formato del cuaderno de registro de tiempos
Fuente. Modificado de [6] Donde: C) Control de las tareas Finalizadas
Fecha: Se anota en esta comuna la Para controlar cómo se gasta el tiempo
fecha de realización de alguna actividad se necesita controlar los resultados Comienzo: Se anota en esta comuna la producidos. Para la asistencia a clases o hora de inicio de la actividad reuniones, por ejemplo, un registro del Fin: Se anota en esta comuna la hora de tiempo sería adecuado. Cuando se finalización de la actividad desarrollan programas, se leen los Interrupción: perdida de tiempo debida capítulos de un libro o se documenta un a una interrupción trabajo, se necesita saber cuánto trabajo Tiempo: tiempo dedicado a una se ha realizado, y así se podrá calcular actividad en minutos la productividad de la tarea. Con este Actividad: descripción de la actividad conocimiento se puede mejorar la Comentarios: descripción completa de planificación de futuros trabajos. · Las la actividad columnas C y U de la derecha del C: Completado Cuaderno de Registro de tiempos U: Numero de unidades de la tarea significan Completado (C) y Unidades dedicada (U). Estas columnas ayudan a identificar rápidamente el tiempo dedicado a las distintas tareas y lo que B) Gestión de la Interrupciones se ha hecho. Por unidad se entiende unidad de trabajo. Cuando se ha leído La forma de gestionar las interrupciones un capítulo se ha completado una en el Cuaderno de Registro de Tiempos unidad de trabajo. Un dia grama acabado consiste en anotarlas en la columna es otra unidad de trabajo. Para rellenar Tiempo de Interrupción. Puesto que el la columna C hay que comprobar tiempo de las interrupciones no es cuando se ha terminado una tarea. Para tiempo de trabajo productivo, se deben tener unos registros de tiempo exactos, controlar las interrupciones. Si la es importante completar las columnas C cantidad de este tiempo fuese constante y U cada vez que se finalice una tarea no habría que hacer mucho para que tenga resultados medibles. [6] gestionarlo. Sin embargo, el tiempo de las interrupciones es muy variable. Si no se mide, habría que añadir un D) Ideas para registrar el tiempo número aleatorio en todos los datos de tiempos, lo que haría más difícil utilizar El control del tiempo es sencillo. Unos estos datos para planificar o gestionar el pocos trucos, sin embargo, pueden tiempo. Esos datos registrados pueden ayudar a hacerlo de forma más utilizarse para comprender con qué consistente y precisa: frecuencia se interrumpe el trabajo. Las interrupciones no son solamente un • Lleva siempre contigo el cuaderno despilfarro de tiempo, sino que rompen de notas. el ritmo de pensamiento, llevando a la • Cuando ocasionalmente olvides ineficiencia y al error. Comprender registrar la hora de comienzo, la cómo se es interrumpido ayuda a hora de fin o la duración de la mejorar la calidad y eficiencia del interrupción, haz una estimación tan trabajo. [6] pronto como lo recuerdes. • Se puede utilizar un cronómetro para controlar las interrupciones. Puede parecer excesivamente preciso pero es más sencillo F) Actividades Genearales registrar el tiempo de inicio y finalización de cada interrupción. De forma general, se utilizarán las • Resume tu tiempo puntualmente. siguientes actividades para controlar el Utiliza el Resumen Semanal de proceso: Actividades para resumir · Gestión del proyecto (tareas semanalmente tu tiempo en este relacionadas con la planificación, la curso. elaboración de las tablas de registros de tiempo, reparto de tareas en el grupo,...) Los registros personales se pueden · Estudio: tareas relacionadas con la llevar a mano para más comodidad, consulta de libros, apuntes, pero los resúmenes periódicos se explicaciones impartidas por el realizarán en ordenador. [6] profesor,... · Actividades por artefactos (diagramas, descripciones,...): la elaboración de cada E) Resumen periódico de las uno de los distintos tipos de artefactos actividades se considerará una actividad (es decir, “Diagramas de Interacción” será una Para hacer una planificación correcta es única actividad, aunque esté compuesta importante conocer como se gasta el de la elaboración de diferentes tiempo. El primer paso es registrar el diagramas). tiempo utilizando el Cuaderno de · Documentación: recopilación de Registro de Tiempos que acabamos de diagramas, formateado del trabajo, ver. Después de reunir los datos de elaboración de los apéndices (si es que tiempo una o dos semanas se empezará los hay). [6] a ver cómo se emplea el tiempo. Puesto que los registros de tiempos son muy Bibliografía detallados para el propósito de la planificación, se necesita resumir los [1] Personal Software Process datos de una forma más útil. En la http://es.wikipedia.org/wiki/Persona siguiente tabla se muestra el formato del l_Sofftware_Process resumen semanal que deberá hacer cada miembro del grupo: [2] Personal Software Process (PSP) Los datos de esta tabla se resumirán http://www.sei.cmu.edu/tsp/psp.html cada tres semanas en una tabla similar que englobará los datos de todos los [3] (PSP SM) Proceso Software Personal miembros del equipo. Todas las tablas http://lsi.ugr.es/~ig1/docis/psp.html (los cuadernos de registro de tiempos y los resúmenes semanales de cada [4] Introducción de técnicas del miembro del grupo, así como el Personal Software Process desde los resumen de todo el grupo) deberán ser primeros año en la formación del firmados a efectos de control por el ingeniero informático profesor de prácticas correspondiente cada tres semanas, y se entregarán al http://www.ilustrados.com/publicacione final del cuatrimestre con la segunda s/EElkuVAkZZAfYOdAIK.php entrega del trabajo de la asignatura. Se podrán complementar, de forma [5] El CMM y la mejora continua en el voluntaria, con gráficas comparativas, proceso de desarrollo de software de evolución del trabajo, etc. http://www.itescam.edu.mx/principal/sy labus/fpdb/recursos/r18029.PDF [6] Instrucciones para el proceso personal del software http://trevinca.ei.uvigo.es/~ebalonso/asi gnaturas/esx/practicas/esxInstrucciones PSP.pdf
[7] El modelo de capacidad de
madurez y su enfoque al proceso personal de software (PSP)