PSP0
PSP0
PSP0
Iniciando
Recordemos que PSP tiene por definicin 3 Fases (Planeacin, Desarrollo y PostMorten) y PSP0
expande la Fase de Desarrollo en Diseo Detallado, Codificacin, Compilacin y Pruebas teniendo
finalmente este grfico resumen del proceso.
Para desarrollar la aplicacin siguiendo el proceso haremos uso del Process Dashboard (Ver Instalacin
y Uso bsico) Iniciemos.
Creacin proceso.
1. Iniciemos el Process Dashboard y seleccionando C > Jerarqua
2. Vamos al men Editar > Agregar Plantilla > PSP0 e ingresemos el nombre MiApp.Clientes
3. Como observamos, Dashboard nos registra las diferentes fases del proyecto e inmediatamente
cambia su ventana principal
4. Ahora bien, la idea fundamental para dominar PSP es seguir el script y as lo haremos. Si damos
click en acceso a Script y seleccionamos PSP0 Process Script
El Script es una gua que nos permite avanzar de manera ordenada y disciplinada en nuestro
trabajo, la prctica sugerida es la siguiente:
Verifique que los criterios de entrada se cumplen. Desde este punto Dashboard nos
permite acceder directamente a Formulario de Project Plan Summary, Time Log, Defect
Log y al Standart de Tipos de Defectos
El Defect Log o Bitcora de Defectos nos permite observar los defectos registrados en
cada una de las fases
Es el primer y mas bsico estandart de PSP, que nos permite categorizar los defectos y
con un tipo determinado (Debe personalizado segn el desarrollador)
Tambin podemos ir directamente a los siguientes scripts del proceso, por ahora vamos
al script de Planning
Planeacin.
El Script de planeacin no est pidiendo: Definir claramente los requerimientos del programa y Estimar
los recursos.
1. Primero debemos iniciar el conteo del tiempo dando click en Play
esto generar que se empiece a contar el tiempo en la fase
de planeacin (Nota: si se interrumpe el trabajo, solo bastara dar click en Pause y Dashboard
dejar de contar el tiempo)
2. Producir los requerimientos para el programa. El Dashboard nos permite (al dar click en
requirements statements) registrar en un documento en el cual se tengan documentados los
requerimientos.
3. Debemos cambiar ????? por una ruta en el equipo donde se deseen almacenar los documentos
del proyecto, en esta ruta podemos almacenar todos los documentos que se generen en este
proyecto. Particularmente cre la siguiente C:\Proyectos\MiApp.Clientes\ y tengo el documento
DefinicinRequerimientosMiAppClientes.rtf (El Documento se debe tener en la carpeta,
Dashboard no lo crea) Nota: PSP no define, ni exige ningn documento o metodologa para la
recolecciones de requerimientos, esta tarea es libre para el Desarrollar usando las tcnicas que
considere pertinentes.
4. El tiempo invertido desarrollando el documento se cuenta en la fase de planeacin.
5. Posteriormente el Script nos pide
lo cual significa que
usando nuestro juicio (tal y como lo hacemos tradicionalmente) debemos estimar cuanto tiempo
en minutos creemos necesario para desarrollar la aplicacin COMPLETAMENTE e ingresarlo
en el Plan Summary (Si damos click el nos enva el Plan Summary)
6. En PSP0 el nico dato editable en el Plan Summary es el Tiempo Total planeado, tal y como lo
vemos por los ?????
7. Vamos a ingresar nuestra mejor estimacin, en este caso pienso demorarme 300minutos
(Dasboard automticamente convierte este valor en Horas:Minutos)
8. Si hemos seguido el script nos daremos cuenta que ya cumplimos la fase de Planeacin pues
tenemos ya realizados lo pedido en Criterio de Salida
9. Para finaliza la fase solo es necesario marcar el Checkbox de la ventana principal
y Dashboard nos inicia automticamente la fase siguiente
Estas diferentes etapas del Desarrollo pueden llevarse de la manera tradicional, pero realizando unas
pequeas modificaciones a nuestras prcticas.
El Diseo debe realizarse como una nica unidad, es decir, Elaborar un diseo que represente la
totalidad de los requerimientos presentados.
El Cdigo igualmente se debe realizar completamente antes de probar. Es una de las
recomendaciones mas difciles de aceptar para los desarrolladores, sin embargo, parte del hecho
de evitar el re trabajo y poder medir con exactitud los tiempos invertidos. Si escribimos un
bloque de lneas, las ejecutamos, las probamos, corregimos los errores encontrados y repetimos
esto varias veces no tenemos como determinar el Costo de corregir los Defectos y el tiempo que
se invierte en cada fase.
Si el lenguaje o entorno de desarrollo usado hace innecesario o no usa compilacin este fase
puede omitirse y pasar a la fase de pruebas
En Pruebas el objetivo es verificar el funcionamiento del programa, corregir y registrar los
Defectos encontrados
Cuando se pase de una fase a otra, ej. Diseo a Codificacin. Si se hace necesario hacer
correcciones, cambios o mejoras esto es registrado como un Defecto
Diseo
El diseo es un componente fundamental para PSP, pues la oportunidad de pensar con cabeza fra la
forma de atacar los problemas presentados, proponer soluciones y pensar en la forma de
implementarlos.
Vamos a Disear.
y obtenemos
5. Se debe seleccionar Tipo Del Defecto, Fecha, Fase Inyectada, Fase en la que se Elimin y la
Descripcin, veamos.
6. El Defecto encontrado es que en el diseo no especifiqu una clase Base (abstracta) para que de
ella se deriven las otras clases de Acceso a Datos. y se registr de la siguiente manera.
7. Este tiempo 8.7 Minutos incluy: El Cambio del Diseo y la implementacin del fragmento de
cdigo. El resultado es este:
8. Una vez corregido y registrado el Defecto, continuo. (se encontraron mas defectos que para no
hacer esta publicacin mas larga se omiten)
9. La Etapa de Codificacin se encontrar terminada una vez el Cdigo haya terminado de
generarse.
10.Una de las tantas ventajas del Dashboard es el indicador que muestra al lado del botn de Play
11.Al acercar el cursor a este indicador nos muestra el tiempo planeado para la fase, tiempo actual
y el porcentaje gastado.
12.una vez concluida la fase de Codificacin el proceso se muestra como sigue: (Ventana PSP0
Project Plan Summary)
13.La columna Plan se encuentra vaca puesto que es PSP0 y no contamos con datos histricos
14.La columna Actual muestran el avance en Horas:Minutos
15.La columna To Date mostrar en los proyectos sitios los tiempos acumulados por fase
16.La columna To Date % en PSP0 muestra un porcentaje (siguiendo las practicas recomendadas)
que luego ser cambiando por los tiempos reales.
17.Pasemos ahora a la fase siguiente
Compilacin
Siguiendo el Script de Desarrollo continuaramos con la fase de Compilacin, sin embargo hay que
considerar si en verdad el lenguaje y el IDE necesitan de esta fase.
En este punto consideramos que C# en Visual Studio no requiere de una fase de compilacin pues el
entorno Compila en lnea.
Pruebas
Esta parte del proceso tiene como finalidad ejecutar el programa (Mdulo) desarrollador y verificar el
funcionamiento correcto y en caso de presentarse Defectos, realizar los cambios pertinentes.
El objetivo final es entregar un programa completamente funcional.
Veamos mis resultados en esta fase.
1. Al ejecutar el programa se encontr un defecto. El cual registro de la siguiente manera:
3. Y un ltimo
Si seguimos el Script cuidadosamente nos aseguramos que los datos registrados nos sirvan
posteriormente en PSP1, PSP2 y PSP2.1 (los revisaremos posteriormente)
Lo que encontramos en verde es por ahora opcional, y en PSP1 lo consideraremos. Una vez terminado
el proceso
1. Marcamos PostMorten como completo
2. Y luego marcamos como Completado el Proyecto, esto lo hacemos accediendo al PSP0 Project
Plan Summary
3. Esta es la imagen antes de dar completado
5. Por ultimo, una herramienta interesante que podemos usar para el PostMorten la encontramos
en el men C > Anlisis de Datos, la herramienta es la siguiente:
6. Muchos de los grficos no se muestran porque requieren de otras medidas (Lneas de cdigo)
que tomaremos en PSP1, observemos las que se generan:
Conclusiones.
PSP0 nos permite establecer una lnea base para la estimacin y aunque el proceso trae consigo varios
cambios en el comportamiento y las costumbres en el Desarrollo, veremos mas adelante que aporta
grandes ventajas a los programados.
Que debe tener en cuenta para usar PSP en mi trabajo?
Es un proceso que requiere disciplina
Es una forma de trabajar altamente ordenada y metodolgica
Requiere compromiso personal, al fin y al cabo los datos recolectados solo son usados por
nosotros mismos para mejorar cada vez mas
Es una publicacin un poco larga, pero si llegaron hasta ac hemos cumplido una meta importante,
ahora los quiero retar a que desarrollen la misma aplicacin propuesta y me compartan sus
experiencias.
En una semana tendremos una publicacin sobre PSP1.