Unidad 1 Metricas de Desarrollo de Software PSP
Unidad 1 Metricas de Desarrollo de Software PSP
Unidad 1 Metricas de Desarrollo de Software PSP
Programa de la asignatura:
Mtricas de desarrollo de software (PSP)
Clave:
15143529
Ejecutas el editor1
1
ndice
Unidad 1. Mtricas de desarrollo de software (psp) ........................................................... 3
Presentacin de la unidad .............................................................................................. 3
Propsito ........................................................................................................................ 3
Competencia especfica ................................................................................................. 3
1.1. Antecedentes de psp y su relacin con tsp y cmmi ................................................. 3
1.1.1. Antecedentes de psp ............................................................................................ 4
1.1.2. Caractersticas de psp .......................................................................................... 5
1.1.3. Relacin de psp con tsp (team software process) y cmmi (capability maturity
model integration) .......................................................................................................... 6
1.2. Generalidades de psp ............................................................................................. 9
1.2.1. El proceso de lnea base ...................................................................................... 9
1.2.2. Las formas y elementos de psp .......................................................................... 11
1.2.3. Proceso y mediciones del psp 0 ......................................................................... 12
1.2.4. Registro de tiempos y defectos........................................................................... 17
1.2.5. Resumen del plan del proyecto .......................................................................... 20
1.2.6. Personalizacin del proceso inicial ..................................................................... 23
Cierre de la unidad ....................................................................................................... 24
Para saber ms ........................................................................................................ 24
Fuentes de consulta ..................................................................................................... 24
Ejecutas el editor2
2
Propsito
En esta unidad logrars:
Comprender las caractersticas de PSP y su relacin con TSP y CMMI.
Analizar el proceso de lneas base, formas, elementos, procesos, mediciones de
PSP para poder registrar tiempos defectos y el resumen del plan del proyecto.
Analizar la manera de implementar el proceso PSP 0.
Competencia especfica
Identificar los conceptos bsicos de PSP para analizar un programa, considerando la
relacin de PSP con TSP y CMMI.
Ejecutas el editor3
3
Ejecutas el editor4
4
Ejecutas el editor5
5
Cuando la implementacin del PSP no tiene una administracin adecuada, ocurre n las
siguientes desventajas:
Puede considerarse como un proceso burocrtico porque genera documentacin.
La metodologa es muy precisa, puede propiciar la exageracin en su aplicacin.
Implementar esta metodologa puede consumir mucho tiempo extra.
La renuencia por parte de los desarrolladores de aplicar la documentacin y por
sentirse expuestos al evidenciar sus tiempos de desarrollo y defectos.
Si no se considera como una inversin, generar la idea de ser un proceso muy
costoso a un corto y mediano plazo.
PSP es un modelo que puede implementarse de manera exclusiva, sin embargo puede
ser perfectamente complementado con TSP y CMMI. En nuestro siguiente subtema
veremos cmo se da esta relacin.
Ejecutas el editor6
6
Nivel
Nivel 5:
Optimizado
Nivel 4:
Cuantitativamente
administrado
Nivel 3:
Definido
Nivel 2:
Repetible
Descripcin
Administracin del proceso del cambio.
Tecnologa de gestin del cambio.
Prevencin del defecto.
Administracin de calidad.
Gestin de procesos cuantitativos.
Evaluacin entre pares.
Coordinacin inter grupal.
Ingeniera del producto de software.
Administracin de la integracin del software.
Programa de formacin.
Definicin del proceso del software.
Enfoque al proceso del software.
Administracin de la configuracin del software.
Aseguramiento de la calidad del software.
Administracin de la subcontratacin del software.
Seguimiento y supervisin a proyectos de software.
Planeacin de proyectos de software.
Administracin de requerimientos.
Nivel 1:
Inicial
Tabla. Niveles del CMMI. (Humphrey, W.1995. p. 7)
En el entendido de que: todo esfuerzo hacia la calidad debe considerar el plano personal,
debemos estar conscientes de que todos tenemos responsabilidades con otros y con
nosotros mismos. Debemos comprender nuestras habilidades para desarrollar tareas,
administrar las debilidades y desarrollar ms fortalezas. Esto debemos convertirlo en
parte de nuestra vida laboral y buscar la excelencia sin dejar de considerar el significado
de ser humanos. Partiendo de esto, PSP tiene los siguientes enfoques:
Identificar en los grandes sistemas de software, todos los mtodos y prcticas que
pueden ser usados por individuos.
Definir los conjuntos de mtodos y prcticas que pueden ser aplicados mientras se
desarrollan programas pequeos.
Estructurar los mtodos y prcticas localizados e ir introducindolos gradualmente.
Proveer en un entorno educativo, ejercicios apropiados para ensear los mtodos y
prcticas estructurados.
PSP tiene un marco de trabajo muy parecido al de CMMI, ambos comparten las
siguientes reas de proceso:
Nivel 5 Optimizado
Ejecutas el editor7
7
Ejecutas el editor8
8
Uno de los principales retos del lder es ayudar a su equipo a producir los tipos de
proyectos que necesitan para lograr sus objetivos y motivarlos a seguir el proceso. Esos
objetivos consisten en hacer trabajos con calidad y cubrir sus calendarios. (Humphrey, W
2006. pp. 116-118).
Ejecutas el editor9
9
Los procesos definidos tambin nos ayudan a generar mediciones. Las mediciones son
tiles para comprender el desempeo, para administrar el trabajo del equipo, para planear
y administrar la calidad de los productos que producen.
Cuando trabajas en un equipo TSP t debes definir tu propio proceso. Al principio todas
las tareas te parecern abstractas y a medida que vas desarrollndolas ms y las defines
de una mejor manera, con suficiente detalle estars favoreciendo la mejora.
El proceso de lnea base es el principal objetivo del PSP0 y consiste en un marco de
trabajo para escribir tu primer programa PSP y el acopio de datos de tu trabajo. Estos
datos proveen una lnea base comparativa para determinar el impacto del mtodo PSP en
tu trabajo. Este proceso provee los siguientes beneficios:
Una estructura conveniente para desarrollar tareas de pequea escala.
Un marco de trabajo para medir esas tareas.
Fundacin para la mejora del proceso.
PSP0 es un proceso simple, definido y personal. Consiste en hacer un plan, utilizar tu
diseo actual y mtodos de desarrollo que utilizas para construir un programa pequeo.
Despus lleva el registro de los tiempos y de los defectos que generaste. Por ltimo
prepara un informe resumido. Observa la Figura: Evolucin del proceso PSP0.
Requisitos
Plan
Planificacin
Diseo
Cdigo
Guiones
(Scripts)
Plantillas
y
registros
Compilacin
Pruebas
Tiempos
Defectos
PM
Producto terminado
Resumen
del plan
Como puedes observar en la figura, el proceso de PSP0 tiene las siguientes fases:
Planificacin: debes producir un plan para desarrollar el programa definido en los
requisitos.
Diseo: produce una especificacin de diseo para el programa definido en los requisitos.
Ejecutas el editor10
10
Ejecutas el editor11
11
necesario asegurarse que todas las formas del proceso estn diseadas en su conjunto
de manera coherente. Cuando no son cuidadosamente diseadas, se podra duplicar
informacin, la terminologa puede ser inconsistente y, en general, pueden presentar
varias confusiones.
Elementos de PSP
Como viste en la Figura: Evolucin del proceso PSP0, el proceso de PSP0 consta de
diferentes pasos: en el paso de planeacin, generas el plan para hacer el trabajo; los
siguientes 4 pasos abarcan: diseo, cdigo, compilacin y pruebas. Al final en el paso de
postmortem, comparars tu actual desempeo con el plan y producirs un reporte de
resumen. Aunque los pasos de planeacin y postmortem parecen no ser necesarios
cuando escribes programas pequeos, s lo son, para reunir los datos para administrar y
mejorar tu proceso personal. Si el programa es tan simple que pareciera que no tiene
sentido, entonces hacer el plan debiera ser una tarea trivial. Sin embargo es
programacin trivial pudiera albergar sorpresas que en el plan deberan anticiparse. En
tanto vayas ganando experiencia te dars cuenta que el postmortem es un tiempo ideal
para pensar sobre tus datos y ver la manera de mejorar.
Un proceso puede ser simple o complejo. La definicin de un proceso largo tendr
muchos elementos o fases. Cada una de ellas puede ser vista como un proceso definido.
En un bajo nivel las fases estn compuestas por pasos que no tienen una estructura. En
procesos largos cada paso puede ser una fase, en el siguiente nivel cada fase puede
tener una definicin de proceso con los pasos que comienzan con tareas de bajo nivel.
Cuando un elemento del proceso tiene una definicin y una estructura puede ser llamada
fase. Si no cuenta con una estructura definida, ser llamada paso o tarea.
Como todo proceso de calidad, deber ser medido para asegurarnos qu funciona y qu
puede ser mejorado, es por ello que PSP incorpora elementos y puntos de medicin para
comparar cmo es el desempeo de cada ingeniero de software y cmo podr ser
mejorado. A continuacin sabremos cmo funciona este proceso.
La planificacin. Debers contar con los requisitos del proyecto y completar las
partes no sombreadas del plan de la Tabla: Resumen del plan del proyecto. Por
Ejecutas el editor12
12
Observa las siguientes tablas, stas te indicarn cmo se debe ejecutar el proceso PSP0
y en ellas puedes revisar: Muestra el guion completo; Muestra la gua para el plan;
Muestra la gua del desarrollo y Muestra la gua postmortem.
Guion del proceso PSP0
Propsito
Gua para el desarrollo de programas pequeos.
Criterios de entrada
La descripcin del problema.
Tabla Resumen del plan del proyecto PSP.
Datos de tamaos y tiempos reales de programas anteriores.
Cuaderno de Registro de Tiempos.
Paso
1
Actividades
Planificacin
Diseo
Descripcin
Obtn una descripcin de las funciones del programa.
Escribe los datos del plan en la tabla Resumen del Plan del
proyecto.
Anotar el tiempo de planificacin en el Cuaderno de registro de
tiempos.
Disear el programa.
Anotar el diseo en el formato indicado.
Anotar el tiempo del diseo en el Cuaderno de registro de
tiempos.
Ejecutas el editor13
13
Codificacin
Compilacin
Pruebas
Postmortem
Criterios de salida
Implementa el diseo.
Utiliza un formato estndar para introducir el cdigo.
Anota el tiempo de codificacin para el Cuaderno de registro
de tiempos.
Compilar el programa.
Corregir defectos encontrados.
Anotar el tiempo de compilacin en el Cuaderno de registro de
tiempos.
Probar el programa.
Corregir los defectos encontrados. Recuerda que cada error
encontrado debes registrarlo en la bitcora de registro de
defectos.
Anotar el tiempo de pruebas en el Cuaderno de registro de
tiempos.
Completa la tabla de Resumen del plan del proyecto con los
datos de tiempo y tamao reales.
Anotar el tiempo postmortem en el Cuaderno de registro de
tiempos.
Programa probado completamente.
Diseo documentado.
Programa completo.
Resumen del plan del proyecto terminado.
Cuaderno de registro de tiempos terminado.
Actividades
Requisitos
del programa
Estimacin
de recursos
Criterios de salida
Descripcin
Producir u obtener los requisitos del programa.
Asegurarte que esos requisitos son claros y sin
ambigedades.
Resolver preguntas.
Realizar tu mejor estimacin del tiempo requerido para
desarrollar el programa.
Requisitos documentados.
Resumen del plan del proyecto terminado con tiempos
estimados de desarrollo.
Cuaderno de registro de tiempos terminado.
Ejecutas el editor14
14
Actividades
Diseo
Codificacin
Compilacin
Pruebas
Criterios de salida
Descripcin
Revisar los requisitos y disear el programa.
Registrar el tiempo del diseo y defectos encontrados en
requerimientos.
Registrar tiempos en el Cuaderno de registro de tiempos.
Implementa el diseo.
Utiliza un formato estndar para introducir el cdigo.
Anota el tiempo de codificacin para el Cuaderno de registro
de tiempos.
Compilar el programa.
Corregir los errores encontrados y registrarlos.
Anotar el tiempo de compilacin en el Cuaderno de registro de
tiempos.
Probar el programa.
Corregir los errores encontrados y registrarlos.
Anotar el tiempo de pruebas en el Cuaderno de registro de
tiempos.
Programa probado completamente.
Diseo documentado.
Programa completo.
Resumen del plan del proyecto terminado.
Cuaderno de registro de tiempos terminado.
Actividades
Descripcin
Registro de Revisar los requisitos y disear el programa.
defectos
Registrar el tiempo del diseo y defectos encontrados en
Ejecutas el editor15
15
Consistencia
en la
definicin del
defecto
Time
Criterios de salida
requerimientos.
Registrar tiempos en el cuaderno de registro de tiempos.
Revisar que los datos en todos los defectos en el registro de
defectos sean exactos y completos.
Verificar que el nmero de defectos inyectados y removidos
por fases son razonables y correctos.
Utilizando su mejor recuerdo, corregir cualquier defecto de
datos faltantes o incorrectos
Revisar el tiempo de registro terminado de errores u
omisiones.
Revisar el registro de algn dato faltante o incompleto.
Programa probado completamente.
Resumen del plan del proyecto terminado.
Cuaderno de registro de tiempos terminado.
Mediciones PSP0
PSP0 tiene dos mediciones:
El tiempo gastado por fase.
Los defectos encontrados por fase.
PSP0 tiene cuatro formas:
Resumen del plan del proyecto: resumen planificado, tiempo actual y defectos por fase.
Registro de tiempos: se utiliza para registrar el tiempo.
Registro de defectos: se utiliza para registrar defectos.
Estndar de tipo de defecto: se utiliza para definir el estndar de los tipos de defectos.
El tiempo por fase es un simple registro del tiempo gastado en cada parte del proceso
PSP. Registrar tiempos y defectos puede tomar algo de tiempo, nos servirn para aplicar
muchas herramientas del PSP. Debers contabilizar el tiempo que tardas en corregir
todos los defectos durante la fase de compilacin y pruebas. El defecto puede ser muy
simple o abarcar varios segmentos.
La razn por la que se registran tiempos y defectos es para ayudarte a planear y
administrar proyectos. Estos datos te servirn para identificar dnde gastas tiempo, dnde
inyectas y corriges ms defectos. Adems, te sern de utilidad, para realizar cambios en
tu desempeo actual y buscar la calidad de tus productos de trabajo.
Ejecutas el editor16
16
Fecha
# Programa
Lenguaje
Fase
Fecha y Tiempo
hora
de Int.
inicio
Fecha y Tiempo
hora de Delta
trmino
Comentarios
Ejecutas el editor17
17
Propsito
General
Encabezado
Proyecto
Fase
Fecha y hora de
inicio
Tiempo Int.
Fecha y hora de
trmino
Tiempo delta
Comentarios
Registro de defectos
Posiblemente te hars la pregunta qu es un defecto en PSP?, una respuesta es la que
sigue, un defecto es algo que no es correcto o error en un programa, desde un simple
carcter en el lugar que no le corresponde (error de sintaxis), hasta un defecto de
funcionalidad donde haya errores en la lgica del cdigo.
Cuando encuentras un defecto y decides arreglarlo, cuenta el tiempo de correccin,
cuando terminaste de corregirlo, introduce todos los datos del defecto: tipo de defecto, la
fase en la que se detect, tiempo de correccin y una breve descripcin del defecto. Si
olvidaste registrar alguno de estos datos, realiza tu mejor estimacin. Normalmente en la
fase de compilacin y pruebas encontrars la mayora de los defectos, sin embargo, los
puedes encontrar en cualquier fase y corregirlos. Si este es el caso puedes registrar la
fase en la que los encontraste y corregiste.
Ejecutas el editor18
18
Si estos errores o defectos no son detectados por los ingenieros de software, muy
probablemente quin los encontrar ser el cliente, es por ello que es una buena prctica
que de manera personal cada ingeniero de software busque y detecte la mayor parte de
sus defectos.
Ejecutas el editor19
19
corregidos.
General
Encabezado
Proyecto
Fecha
Nmero
Tipo
Inyeccin
Removido
Tiempo
de Introduce el tiempo necesario para encontrar y corregir el defecto.
correccin
Referencia de Si al corregir este defectos t o alguien ms ha introducido nuevos
correccin
defectos registra el nmero del defecto origen, si no lo tienes ubicado,
coloca una X.
Descripcin
Escribe una breve descripcin del defecto, el error que lo caus y por
qu sucedi esto.
Ejecutas el editor20
20
realizarse antes de comenzar el proceso, cuando hayas terminado debers registrar los
tiempos reales del tamao y tiempo. As mismo lo hars con la fecha estimada de
culminacin y la fecha real. Esta prctica te servir para realizar mejores estimaciones
cada vez que realices un programa, ya que podrs ir ajustndolos en base a la
experiencia.
A continuacin se te presenta la tabla del resumen del plan del proyecto y posteriormente
las instrucciones del llenado del resumen del plan del proyecto.
Proyecto
1
Fecha
# programa
Lenguaje
Plan
Real
Hasta la
fecha
?????
?????
%
Hasta
la
fecha
Ejecutas el editor21
21
Codificacin
Compilacin
Pruebas
Total en
desarrollo
Despus del desarrollo
Tabla. Resumen del plan del proyecto.
(Zapata, J., Garca, J., Cerrada, J. 2001. Pg. 142)
General
Encabezado
Defectos
removidos
Ejecutas el editor22
22
PSP2
Revisiones de cdigo
Revisiones del diseo
PSP2.1
Diseo de plantillas
Presenta la administracin
de la calidad y diseo.
PSP1.1
Presenta la estimacin y
Planeacin
de
tareas
PSP1
planeacin
Figura. Evolucin del PSP
Planeacin
de
calendario
Estimacin
del tamao
(Echeverra,
C.M., Echeverra, C.D. Asencio, J.L. 2006. Pg. 20)
Reporte de pruebas
PSP0
Proceso actual
Mediciones bsicas
PSP0.1
Estndar de cdigo
Mejora del proceso
Medicin del tamao
Ejecutas el editor23
23
Cierre de la unidad
Fue una unidad llena de nuevos conocimientos, para que adquieras habilidades que te
ayudarn a tener una mejor formacin como ingeniero de software. Revisaste desde los
antecedentes del PSP y metodologas con las que se relaciona como TSP y CMMI, hasta
el primer proceso PSP0 y todos los formatos en los que se apoya. Hemos visto que datos
debemos registrar y cmo hacerlo. Tambin revisamos cmo se debe evolucionar en el
conocimiento de los procesos PSP.
En las siguientes unidades podrs poner en prctica los conocimientos de esta unidad
ms los nuevos que tienen que ver con los siguientes procesos del PSP.
Para saber ms
Si deseas saber acerca de PSP, TSP o CMMI puedes consultar la siguiente direccin
electrnica:
http://www.sei.cmu.edu/
Fuentes de consulta
Humphrey, W. (1995) A discipline for software engineering (The complete PSP Book)
United States of America: Addison Wesley.
Humphrey, W. (2005) PSP a Self-improvement process for software engineers. United
States of America: Addison Wesley.
Humphrey, W. (2006). TSP (SM) Leading a Development Team. United States of
America: Addison-Wesley.
Zapata, J., Garca, J., Cerrada, J. (2001) Introduccin al proceso software personalSM.
Madrid, Espaa: Addison Wesley.
Bibliografa complementaria
Alvarado, A. (2008) Desarrollo de sistemas con PSP y TSP. Mxico, D.F. Disponible
en: http://148.206.53.231/UAMI14384.pdf
Barbieri, S. Bianchi, A. Rossi, G. (2007) Framework de mejora de procesos de
desarrollo de software. La plata, Argentina. Disponible en:
Ejecutas el editor24
24
http://sedici.unlp.edu.ar/bitstream/handle/10915/4075/Documento_completo.pdf?seque
nce=1
Chrissis, M.B., Konrad, M., Shrum, S. (2009).CMMI: Gua para la integracin de
procesos y la mejora de productos. (Segunda edicin). Madrid, Espaa. Disponible en:
http://www.sei.cmu.edu/library/assets/cmmi-dev-v12-spanish.pdf
Echeverra, C.M., Echeverra, C.D. Asencio, J.L. (2006). Implementacin De Un
Sistema Integrado De Control De Costos De Produccin, rdenes De Trabajo,
Presupuesto De Obras, Bodega Y Control De Inventario Utilizando Psp (Personal
Software Process) Y Tsp(Team Software Process). Guayaquil, Ecuador. Disponible
en: http://www.dspace.espol.edu.ec/handle/123456789/5006
Garca, Y. (2010) Proceso de Software Personal. EcuRed (Enciclopedia colaborativa
en la red cubana). Cuba, Disponible en:
http://www.ecured.cu/index.php/Proceso_de_Software_Personal
Ejecutas el editor25
25