Está en la página 1de 23

Mtricas de desarrollo de software

Unidad 3. Planeacin: Recursos y calendario

Ingeniera en Desarrollo de software


Cuatrimestre 07

Programa de la asignatura:
Mtricas de desarrollo de software

Clave: 150930728

Ejecutas el editor1
Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 1
Mtricas de desarrollo de software
Unidad 3. Planeacin: Recursos y calendario

ndice

UNIDAD 3. PLANEACIN: RECURSOS Y CALENDARIO ................................................ 3


PRESENTACIN DE LA UNIDAD ..................................................................................... 3
PROPSITO ..................................................................................................................... 3
COMPETENCIA ESPECFICA .......................................................................................... 3
3.1. ESTIMACIN DE RECURSOS ................................................................................... 3
3.1.1. PLANEANDO EL RECURSO ................................................................................... 5
3.1.2. ESTIMANDO EL TIEMPO DE DESARROLLO ......................................................... 6
ACTIVIDAD 1. PLANEACIN DE RECURSOS Y ESTIMACIN DEL TIEMPO DE
DESARROLLO .................................................................................................................. 6
3.1.3. COMBINACIN DE ESTIMACIONES ...................................................................... 8
3.2. ESTIMACIN DE CALENDARIO .............................................................................. 10
3.2.1. ESTIMACIN DE CRONOGRAMAS ..................................................................... 10
ACTIVIDAD 2. ESTIMACIONES, CALENDARIO Y VALOR GANADO ............................ 13
3.2.2. SEGUIMIENTO DEL CONCEPTO DE VALOR GANADO ...................................... 16
3.2.3. PSP 1.1.................................................................................................................. 18
EVIDENCIA DE APRENDIZAJE. PSP 1.1 ....................................................................... 19
AUTOEVALUACIN ........................................................................................................ 21
AUTORREFLEXIONES ................................................................................................... 22
CIERRE DE LA UNIDAD ................................................................................................. 22
PARA SABER MS ......................................................................................................... 22
FUENTES DE CONSULTA .............................................................................................. 22

Ejecutas el editor2
Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 2
Mtricas de desarrollo de software
Unidad 3. Planeacin: Recursos y calendario

Unidad 3. Planeacin: recursos y calendario

Arrancamos ahora la tercera y ltima unidad de la asignatura: Mtricas de desarrollo de


software; esta unidad aborda los planes de proyectos que son una lista de actividades que
conducen al lder del proyecto hacia el logro del producto esperado, usando y controlando
los recursos asignados.

Esto es a nivel proyecto y trabajo en equipo TSP. A nivel personal tambin puedes
planear las actividades necesarias para realizar los programas.

Notars que el plan contiene la descripcin de la actividad y el tiempo esperado de


desarrollo, el cual, deber ser estimado en un inicio y, a medida de que vas aplicando en
el proceso, notars que los datos que vas generando te servirn para obtener
estimaciones ms precisas.

Presentacin de la unidad

Hasta este punto ya conoces como estimar tus programas; es por ello que, tomando como
base estos conocimientos, te ayudarn a generar planes ms precisos para tus
programas y proyectos. En otras palabras podrs generar un calendario como una parte
importante de la planeacin, del seguimiento a cambios y generacin de reportes de
gestin. Adems te ayudar a manejar incidentes y desviaciones que pueden controlarse
de manera oportuna. Revisa el propsito de la unidad para que no pierdas de vista el
alcance y puedas lograrlo sin problema.

Propsito

Revisar el proceso de planeacin, tomando como base los recursos y tiempos en general
y cmo aplicarlo a los programas que normalmente realiza un desarrollador. Todo esto
utilizando plantillas y aplicando el proceso de PSP 1.1.

Competencia especfica

Aplicar la estimacin de recursos y tiempos para planear un programa a travs de la


elaboracin de un calendario con el proceso PSP 1.1.

3.1. Estimacin de recursos

El principal recurso con el que debemos contar son los requerimientos, por lo cual
debemos tener con una adecuada descripcin de stos, ya que de lo contrario no
podramos comenzar. Los requerimientos que son completamente vlidos para PSP son
los que cumplen los siguientes criterios:

Ejecutas el editor3
Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 3
Mtricas de desarrollo de software
Unidad 3. Planeacin: Recursos y calendario

1. Accesibles: para realizar planes se tiene la necesidad de informacin y debes contar


con el acceso a sta. Debe estar ordenada, saber dnde se ubica y debe ser
consistente y no redundante.
2. Claros: lo ms importante para PSP es la importancia de la calidad en los datos. Si los
datos no estn completos o no son lo suficientemente claros no podrn ser utilizados
con confianza.
3. Especficos: PSP exige que los datos de las plantillas sean llenados correcta y
completamente, la ausencia o error en la captura afectar las estimaciones e informes
que sean generados.
4. Precisos: La precisin es una manera de relacionar la unidad de medida con el total
de la magnitud de medicin. El nivel de detalle tiene que ver con la precisin. Por
ejemplo para un proyecto con 14 programadores una mtrica para administrarlos
podra ser horas o das. En PSP se requerir un nivel de detalle ms estricto, por
ejemplo horas y minutos. Manejar segundos ya sera un tiempo demasiado estricto.
Para determinar un nivel adecuado de precisin, considera el error introducido por una
diferencia de uno en la ms pequea unidad de medida. Por ejemplo para un proyecto
de 5 horas, una unidad de medida de un minuto nos podra introducir errores
tolerables, mientras que las unidades de medida de una hora o incluso una dcima de
una hora pudiera ser demasiado.
5. Exactos: todos los puntos son importantes pero la exactitud es crucial. El principal
objetivo de hacer planes es producir un plan con una exactitud predecible. Cuando
realices tus planes en PSP no debes preocuparte por los pequeos errores que
pudieran aparecer al sobre o sub estimar actividades, a stas las llamaremos
estimaciones sesgadas. Como t eres parte de proyectos grandes y eres parte de un
equipo, este tipo de errores se balancean con la combinacin de valores totales para
tener mayor precisin. El mtodo PROBE es una gua para producir planes
imparciales y balanceados. (Humphrey, W. 2005. Pg. 109 - 111).

Para desarrollar el plan, PSP tiene una estructura de trabajo que se muestra en la Figura.
Estructura de trabajo para el plan de trabajo de PSP, y que tambin viste en la Unidad 2.
Comienza con las necesidades del cliente, esto ayuda a los programadores o ingenieros
de software a definir requerimientos. Posteriormente, aplicando el mtodo PROBE (Proxy
Based Estimating), realizan una estimacin y un plan donde cada programador debe
realizar un diseo conceptual para poder calcular el tiempo que le llevar hacer el diseo
completo. En el siguiente paso, debern estimar el tamao del programa y estimar
recursos. Posteriormente, ya que conocen el tiempo requerido en cada etapa, estiman el
tiempo que pasarn en el trabajo cada da o semana y de esta manera generan un
calendario. Ya que se estableci un calendario, se comienza el desarrollo, lo cual no
forma parte de la planeacin pero el registro del tiempo que se genera, s es importante
para realizar estimaciones ms precisas de esta etapa. Despus de haber completado el
trabajo, los programadores o ingenieros de software realizan un anlisis postmortem del
trabajo. Actualizan el resumen del plan del proyecto, revisan el desempeo comparando
lo real con lo planeado.

Ejecutas el editor4
Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 4
Mtricas de desarrollo de software
Unidad 3. Planeacin: Recursos y calendario

Necesidades Definir
del cliente requerimientos

Producir diseo Elementos


conceptual

Tareas
Tamao de base
Estimar tamao
de datos

Cliente

Estimar recursos Productividad de


base de datos

Producir
Recursos
cronograma Gestin
disponibles

Entrega del Desarrollar Generacin de


producto producto Tamao, Proceso de reportes
recursos, anlisis
calendario

Figura. Estructura de trabajo para el plan de trabajo de PSP.


(Humphrey, W. 1995. Pg. 99)

Todo se realiza aplicando el mtodo PROBE para tomar como base la estimacin del
tamao del producto. Contabilizan los objetos que se requieren para el diseo conceptual,
la cantidad y tipo de mtodos de cada objeto, se toma como referencia los estndares de
conteo de objetos similares desarrollados previamente. Aplicando una regresin lineal se
determina el tamao para el producto terminado. Para poder aplicar la regresin lineal,
como mnimo deben tener un histrico de tres programas anteriores. Ya que estim el
total del trabajo, cada programador usa sus tiempos histricos y ajustan el tiempo
necesario para cada fase del trabajo, en la columna %A la fecha en el resumen del plan
del proyecto.

3.1.1. Planeando el recurso

Otros recursos importantes en la planeacin son el tiempo, el personal y, obviamente,


hardware y software necesarios para realizar las actividades. Existe una relacin natural
entre el tamao del programa y el tiempo de desarrollo, ya que, entre ms grande es el
programa, ste involucra mayor tiempo de desarrollo. Dicha relacin se puede lograr
afectar cuando inyectamos ms y mejores recursos al proceso, por ejemplo establecer un
equipo de trabajo slido formado por varios programadores expertos. En PSP esto
comienza con la estimacin del tamao del producto que cada programador desarrolla

Ejecutas el editor5
Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 5
Mtricas de desarrollo de software
Unidad 3. Planeacin: Recursos y calendario

personalmente, tomando como base sus datos personales y de su productividad; cada


programador estima el tiempo para desarrollar el programa. Como vimos en la Figura.
Estructura de trabajo para el plan de trabajo de PSP, la estimacin del tamao y del
recurso son realizadas por el mtodo PROBE. (Humphrey, W. 1995. Pg. 97-100).

En los siguientes temas veremos cmo estimar el tiempo de desarrollo, la generacin de


cronogramas de trabajo, estimacin de tiempos basndonos en mtodos de juicio experto,
datos histricos y precisiones estadsticas.

3.1.2. Estimando el tiempo de desarrollo

En PSP cada programador utiliza su informacin personal para medir su trabajo y estimar
mejor los tiempos en nuevos programas. Para lograr esto, registran los datos del tiempo
que se gastan en cada fase del proceso, los tamaos de los programas y defectos
generados.

El tiempo real registrado deber contener informacin como esta: hora en que inici la
tarea, tiempo en que se detiene la tarea o cualquier interrupcin, por ejemplo una llamada
telefnica, un descanso o alguna conversacin no prevista. La idea es que realmente se
registre el tiempo invertido en la tarea especfica.

El tiempo que gastas en tus proyectos es fluctuante. La primera vez que los miembros de
un equipo TSP comienzan a trabajar, generalmente lo hacen con una velocidad entre 12 y
15 horas de trabajo por semana. Despus de unas pocas semanas de trabajo ellos
pueden a menudo incrementar sus horas de trabajo entre 15 y 17 y ocasionalmente casi
alcanzar 20 horas de trabajo. Algunos equipos TSP experimentados pueden alcanzar 20
ms tareas por hora en promedio, a la semana. Lo importante es reunir estos datos sobre
el rendimiento personal y utilizarlos para hacer estimaciones y planes ms reales y
presentar cronogramas ms certeros.

Trata de hacer planes realistas que dejen una cantidad razonable por los acontecimientos
normales de la vida diaria de trabajo. Esto proporcionar un colchn prudente para los
ocasionales momentos de crisis. (Larco, E. 2007. Pg. 30).

En el siguiente tema, volvers a ver tcnicas de estimacin que sern de utilidad para
calcular el tiempo de desarrollo de tus programas o proyectos.

Actividad 1. Planeacin de recursos y estimacin del tiempo de


desarrollo

Propsito: Identificar en un problema los recursos que deben ser planeados y el tiempo
de desarrollo por medio de la estimacin.

Ejecutas el editor6
Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 6
Mtricas de desarrollo de software
Unidad 3. Planeacin: Recursos y calendario

Instrucciones:
1. Identifica los recursos que deben ser planeados y el tiempo de desarrollo por medio de
la estimacin. (No es necesario desarrollar el cdigo).

Descripcin del programa: Desarrollar un programa en lenguaje JAVA que permita


mostrar el promedio, la varianza y la desviacin estndar de un conjunto de N
nmeros reales. Los valores debern ser ledos desde un archivo de texto. Debers
utilizar una lista enlazada para almacenar los N nmeros, con los cuales realizars los
clculos.

2. Completa los siguientes datos, aplicando tu experiencia para estimar los tiempos de
desarrollo en cada requerimiento y completa el resto de las columnas con los recursos
necesarios, como se indica.

Requerimientos Tiempo Programadores Software Hardware


estimado
Leer nmeros desde 1 Java Pc
un archivo de texto.
Almacenar los 1 Java Pc
nmeros ledos en una
lista enlazada.
Calcular promedio y
mostrar.
Calcular varianza y
mostrar.
Calcular desviacin
estndar y mostrar.

3. Ingresa al foro de la actividad y compara los tiempos estimados con al menos 2


compaeros.

4. Atiende a la discusin que tu facilitador(a) plantee en el foro.

5. No olvides consultar la Rbrica de participacin general en foros.

Cierre: La planeacin adecuada del tiempo es la clave para que nuestros cronogramas se
aproximen cada vez ms a los tiempos reales de ejecucin. Estimar de manera precisa el
tiempo de desarrollo te ayudar a establecer compromisos y tener la certeza de que
podrs cumplirlos de acuerdo al tiempo establecido para la entrega del producto o
entregable.

Ejecutas el editor7
Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 7
Mtricas de desarrollo de software
Unidad 3. Planeacin: Recursos y calendario

3.1.3. Combinacin de estimaciones

Como viste en la Unidad 2, existen muchas tcnicas y herramientas de estimacin, por


ejemplo el mtodo PROBE que ya fue explicado. En este tema se vern otras tcnicas as
como, sus posibles combinaciones. A continuacin se presentan algunas de ellas.

Mtodo Wideband Delphi


Es una tcnica basada en juicio experto. Se les pide a varias personas, por separado, que
realicen la estimacin y la entreguen a quien coordina la dinmica. El coordinador calcula
el promedio de la estimacin y lo registra. Si algn valor est muy sesgado, realiza una
nueva ronda mostrando el promedio e invitando a que se reconsideren los valores
reportados. Por ejemplo:

1) Primera estimacin:
Experto A = 3,000 LOC (Lneas de cdigo)
Experto B = 15,800 LOC
Experto C = 20,800 LOC

2) El coordinador calcula el promedio 13,200 LOC y lo proporciona a cada experto,


as como las otras estimaciones sin decir de quien son. Los expertos discuten las
estimaciones y vuelven a calcular.

3) Segunda estimacin:
Experto A = 11,200 LOC
Experto B = 13,000 LOC
Experto C = 14,300 LOC

4) El coordinador calcula el promedio 12,833 LOC y pregunta a los expertos si estn


de acuerdo con este promedio. De lo contrario, se realiza un nuevo clculo.

Ventajas: Los resultados pueden ser muy precisos, se ajusta a las necesidades de la
organizacin y puede aplicarse a cualquier tamao de proyecto.

Desventajas: consume tiempo de los participantes, si no se maneja adecuadamente los


expertos se pueden influenciar y dejar los promedios poco realistas.

Mtodo Analoga
Es otra tcnica basada en juicio experto y datos histricos. Debes realizar la separacin
de los componentes del sistema. Por cada componente, buscar en los datos histricos
uno similar y tomar su tamao como base para la estimacin. Por ejemplo: si llevas 2
programas realizados y vas a estimar el tiempo de un tercer programa, lo natural ser que
revises, si en tus 2 programas anteriores tienes componentes similares y tomes los

Ejecutas el editor8
Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 8
Mtricas de desarrollo de software
Unidad 3. Planeacin: Recursos y calendario

tamaos registrados de LOC y aplicando t juicio considerando el alcance del nuevo


cdigo realices el ajuste a las lneas de cdigo.

El mtodo de analoga lo puedes combinar con el Delphi. Cuando no tienen en la


empresa valores iniciales, con el mtodo Delphi se pueden generar una serie de valores
base, poco a poco conforme vas desarrollando nuevos proyectos, registrars los valores
reales y posteriormente con el mtodo de analoga puedes utilizar los datos histricos.

Mtodo PERT
Este mtodo tiene sus fundamentos en estadstica y est basado en los valores de:
mnimo esperado, ms probable y mximo esperado. Con dichos valores se aplica la
siguiente frmula:

a= valor mnimo esperado


b= valor probable
c= valor mximo esperado

E= (a+4b+c)/6

Los valores pueden ser obtenidos a partir de cualquiera de las dos tcnicas vistas
previamente Delphi o Analoga.

Por ejemplo:

Valor mnimo esperado (a) =300


Valor probable (b) = 600
Valor mximo esperado (c)= 1000

E= (300+4*600+1000)/6
E= 617 LOC

Si queremos determinar el tiempo para desarrollar el proyecto podemos acudir al modelo


de analoga, o bien, podemos utilizar la estadstica con los datos histricos de
productividad.

Tiempo estimado = LOC estimadas del proyecto / media de la productividad.

Media de la productividad = LOC de todos los proyectos realizados / tiempo de todos los
proyectos realizados.

Por ejemplo, si tuviramos los siguientes valores histricos


LOC totales a la fecha = 350
Minutos totales a la fecha = 670

Ejecutas el editor9
Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 9
Mtricas de desarrollo de software
Unidad 3. Planeacin: Recursos y calendario

LOC estimadas del proyecto = 230


Media de la productividad = 350/670 = 0.5224
Tiempo estimado = 230/0.5224 = 440.276 minutos

Ya que se estim el tiempo total de desarrollo se debe utilizar el dato para distribuirlo en
el plan. A continuacin, se explicar cmo aplicar los tiempos estimados en un calendario
para generar el plan del desarrollo de tu programa o proyecto. (Mojica, C. & Chapela, L.
2004. pp. 90-95).

3.2. Estimacin de calendario

Como hemos visto, podemos estimar el tiempo de esfuerzo requerido para realizar un
proyecto. Ya que tienes el tiempo resultante de cualquiera de los estimadores vistos, se
tiene que asignar a las diferentes fases del desarrollo, adems considerar como se
distribuir semanalmente el trabajo. Todo esto con la finalidad de generar el plan del
proyecto.

Como puedes notar, los requerimientos del usuario son necesarios pues en ellos se
contiene el alcance del proyecto. Debemos considerar tambin, otros elementos como:
equipo, materiales, software y por supuesto los recursos humanos que obviamente son
necesarios para el cumplimiento de los objetivos. Esta informacin ser til para
documentar el plan y comenzar a generar el calendario de trabajo.

3.2.1. Estimacin de cronogramas

Para generar el calendario de trabajo ser necesario contar con la estimacin de las horas
directas del proyecto, la disponibilidad de los horarios de los recursos y la distribucin
ordenada de las actividades que se desarrollarn. Posteriormente, necesitars contar con
las estimaciones del tiempo por cada tarea y asignar el tiempo en cada una de las
actividades del calendario.

El calendario contendr todas las actividades que sern necesarias para desarrollar el
proyecto con la fecha en que deben iniciar y con la que deben finalizar. Por lo tanto, para
crearlo debemos considerar lo siguiente:

1. Contar con el esfuerzo estimado para el proyecto.

2. Disponibilidad de horario. Se refiere al tiempo que ser dedicado para este


proyecto; porque, posiblemente, ests involucrado en otras actividades y por lo tanto
debers definir la cantidad de horas que dedicars diariamente a este proyecto. Por
ejemplo:
En un proyecto se tienen la siguiente disponibilidad en los siguientes 4 meses:
- 14 semanas con 30 horas de trabajo por semana = 420 horas disponibles.

Ejecutas el editor10
Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 10
Mtricas de desarrollo de software
Unidad 3. Planeacin: Recursos y calendario

- 5 das de vacaciones y 2 das de asueto = 7 das = 42 horas no laborables. 10%


- El tiempo para reuniones, correos y documentacin es 5% = 19 horas.
- El tiempo disponible ser de 378-19=359 horas.

Saber cules son los tiempos que realmente tendremos disponibles es muy importante,
ya que con esto podremos asignar las actividades apropiadamente y darnos cuenta si
ser suficiente el recurso disponible o se necesitar ms personal para atender los
compromisos.

3. Orden de las actividades. El orden de las actividades debe ir de acuerdo al ciclo de


vida de desarrollo que se est utilizando o cualquier otra estrategia que el equipo de
desarrollo haya decidido utilizar.
Cada actividad deber tener un criterio de trmino
Considerar las dependencias entre las actividades: por ejemplo cules
comienzan juntas cules anteceden a otras y cules se preceden.
Determinar cules actividades son prioritarias y colocarlas en un orden de
acuerdo a la naturaleza del proyecto y de los requerimientos del cliente.
Asignar costos a los recursos asignados a cada actividad.
Determinar el orden de cada actividad.

4. Define hitos principales en el proyecto. Al llegar a uno de los principales objetivos o


entregables importantes del proyecto, se puede marcar en el calendario la fecha como
un hito. Estos no tienen duracin, son marcas en calendario que nos indicarn si
hemos alcanzado logros.

5. Contar con una herramienta para cronogramas con una representacin visual como
lo es un Gantt (Ruiza, M., Fernndez, T., Tamaro, E., Durn, M. 2013. Pg. 1), en el
que las barras muestran el esfuerzo requerido en un tiempo determinado. O bien
contar con una plantilla estndar para que el manejo del calendario nos de
consistencia en el registro y anlisis de los datos de todos los proyectos. Por ejemplo
observa el siguiente formato:

Ejecutas el editor11
Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 11
Mtricas de desarrollo de software
Unidad 3. Planeacin: Recursos y calendario

Figura. Ejemplo de formato de planeacin de actividades.


(Humphrey, W. 2005. Pg. 109 - 111)

6. Para llenar el formato debers:


Escribir el nombre o Id del programa y la fase de desarrollo.
En la columna Nombre de Tarea escribir las actividades en el orden natural de
realizacin. Debers describir exactamente cundo termina la actividad, por
ejemplo casos de uso terminados, plan terminado, programa compilado.
Registrar para cada actividad la cantidad de minutos estimados para su
desarrollo.
Ir acumulando los minutos en la columna de minutos acumulados.
Adicionalmente podras agregar una columna para llevar el consecutivo del
total de las tareas a realizar.

Valor ganado.- Debemos entender primeramente el objetivo de valor ganado, el cual


consiste en establecer un valor para cada actividad, llevar un seguimiento del desarrollo
del proyecto comparndolo con lo planeado, aun cuando el plan cambie. Como resultado
obtendremos un valor comn para cada actividad en forma de porcentaje que representa
lo que esa actividad tiene respecto al total de actividades planeadas. No se gana nada por
actividades incompletas. Si el proyecto presenta cambios significativos, se requiere hacer
una nueva planeacin.

Establecimiento de valor planeado.- En el formato de planeacin de actividad: sumar


las horas del proyecto, calcular el porcentaje de cada actividad respecto al total de horas.
Registrar este porcentaje como el valor planeado para la actividad.

Ejecutas el editor12
Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 12
Mtricas de desarrollo de software
Unidad 3. Planeacin: Recursos y calendario

Tabla. Ejemplo de planeacin del cronograma

Valor
Horas Valor
Actividades Horas Da planeado
acumuladas planeado
acumulado
A 2 2 1 5.4 5.4
B 5 7 2 13.5 18.9
C 4 11 3 10.8 29.7
D 7 18 4 18.9 48.6
E 3 21 5 8.1 56.7
F 5 26 6 13.5 70.2
G 6 32 7 16.3 86.5
H 3 35 8 8.1 94.6
I 2 37 8 5.4 100

En el formato de calendario: registrar el Valor planeado acumulado para las actividades


que sean completadas cada semana. Se calcula el avance al terminar la actividad A de la
siguiente manera 100*2/37=5.4, el 2 es del tiempo planeado, el 37 es el total del tiempo
que se va a invertir en el proyecto. Y luego en la columna de Valor planeado acumulado
recopilar el valor planeado por cada da.

Observa que la columna de Valor planeado es el porcentaje de avance diario que al


terminar formar el 100% de avance. Por lo tanto, mantener de manera disciplinada el
seguimiento al calendario nos permitir que, cuando llevemos cierto avance del proyecto,
podamos predecir la fecha de trmino, tomando como referencia la forma en que se ha
estado desarrollando las actividades del plan, en el siguiente tema se te explicar cmo
hacer este proceso. (Humphrey, W. 1995. Pg. 145-1155).

A continuacin, tendrs la oportunidad de analizar todos estos conceptos en una actividad


que te ayudar a entender cmo se aplican e interpretan.

Actividad 2. Estimaciones, calendario y valor ganado

Propsito: Analizar aspectos bsicos para combinar estimaciones, los elementos que
intervienen para estimar un calendario y el concepto de valor ganado.

Instrucciones: Analizar el problema y contestar el cuestionario sobre estimaciones,


calendario y valor ganado.

Descripcin del problema: Considera el siguiente calendario de actividades,


observando los das en que fueron planeadas las actividades y los das en que fueron
terminadas. Contesta el cuestionario que se presenta enseguida de la tabla

Ejecutas el editor13
Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 13
Mtricas de desarrollo de software
Unidad 3. Planeacin: Recursos y calendario

Plan
Valor Valor
Horas Valor Da de Valor
ID Actividades Horas Da planeado ganado
acumuladas planeado trmino ganado
acumulado proyectado
1 Planificacin 1 1 1 5.0 5.0 1 5.0
2 Diseo 1 2 2 5.0 10.0 2 10.0
Codificar lectura
3 de archivo de 3 5 3 15.0 25.0 3 25.0
texto
Codificar lista
4 5 10 4 25.0 50.0 4 50.0
enlazada
Codificar clculo
5 1 11 5 5.0 55.0 6 ?
de promedio
Codificar clculo
6 2 13 6 10.0 65.0 7 ?
de varianza
Codificar clculo
7 de desviacin 3 16 7 15.0 80.0 8 ?
estndar
8 Compilacin 1 17 8 5.0 85.0
9 Pruebas 2 19 9 10.0 95.0
10 Postmortem 1 20 10 5.0 100.0
11

Cuestionario:
1. Qu es el valor planeado?
a) Es el porcentaje de las horas planeadas correspondientes a una actividad.
b) Es el valor que asigna el lder de proyecto para cada actividad.
c) Es un valor fijo que se toma de referencia al realizar un cronograma.
d) Es el porcentaje planeado de las horas acumuladas de cada actividad.

2. Si los valores de las horas fueron calculados con el mtodo Delphi Cul de las
siguientes afirmaciones es correcta?
a) Aplicaron una tcnica estadstica combinada con una de analoga.
b) Tomaron los tiempos reales de cronogramas de programas previos y similares.
c) Varias personas realizaron la estimacin.
d) Se aplic una tcnica estadstica con valores mnimos, probables y esperados.

3. Si los valores de las horas fueron calculados con la tcnica de Analoga Cul de las
siguientes afirmaciones es correcta?
a) Aplicaron una tcnica estadstica combinada con una de analoga.
b) Tomaron los tiempos reales de cronogramas de programas previos y similares.
c) Varias personas realizaron la estimacin.
d) Se aplic una tcnica estadstica con valores mnimos, probables y esperados.

4. Si los valores de las horas fueron calculados con la tcnica PERT nicamente Cul
de las siguientes afirmaciones es correcta?
a) Aplicaron una tcnica estadstica combinada con una de analoga.

Ejecutas el editor14
Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 14
Mtricas de desarrollo de software
Unidad 3. Planeacin: Recursos y calendario

b) Tomaron los tiempos reales de cronogramas de programas previos y similares.


c) Varias personas realizaron la estimacin.
d) Se aplic una tcnica estadstica con valores mnimos, probables y esperados.

5. Qu da se termin la actividad 5?
a) 5
b) 6
c) 7
d) 8
6. Qu da se termin la actividad 6?
a) 5
b) 6
c) 7
d) 8
7. Qu da se termin la actividad 7?
a) 5
b) 6
c) 7
d) 8
8. Cul es el valor ganado para la actividad 5?
a) 50
b) 55
c) 60
d) 809. Cul es el valor ganado para la actividad 6?
a) 50
b) 55
c) 60
d) 80
10. Cul es el valor ganado para la actividad 7?
a) 50
b) 55
c) 60
d) 80

Ya que copiaste el cuestionario en un archivo de texto, guarda la actividad con el nombre


DMDS_U3_A2_XXYZ. Sustituye las XX por las dos primeras letras del primer nombre, la
Y por la inicial del apellido paterno y la Z por la inicial del apellido materno.

Enva el archivo al facilitador(a) para recibir retroalimentacin.

Cierre: La tcnica de valor ganado nos muestra un panorama real del proyecto, ya que
nos permite conocer exactamente si vamos de acuerdo a lo planeado o comienza a
desfasarse el cronograma

Ejecutas el editor15
Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 15
Mtricas de desarrollo de software
Unidad 3. Planeacin: Recursos y calendario

3.2.2. Seguimiento del concepto de valor ganado

Seguimiento al calendario
Ya que se complet el plan, con los tiempos estimados, actividades ordenadas, hitos
registrados, costos y fechas de inicio y fin. Nos enfrentamos a la realidad de ponerlo en
prctica. Ahora, hay que cuidar que los tiempos se cumplan conforme fueron planeados,
que los recursos sigan disponibles y que las fechas se cumplan. Hay que pensar en los
posibles riesgos que pudieran retrasar o hasta impedir que las actividades del proyecto se
realicen.

El seguimiento del proyecto sera simple si siempre las actividades se completaran en el


orden previsto sin que se agreguen nuevas actividades ni que se eliminen. Pero la
realidad es muy diferente, esto nunca sucede, los requerimientos siempre cambian, las
actividades se eliminan y otras se agregan, la generacin de errores es comn.

El cumplimiento, o no, de los hitos nos permitirn saber si vamos bien con la estrategia
que estamos llevando o debemos realizar cambios o incluso decidir si se sigue o no con el
proyecto.

Retomando el concepto de valor ganado, debemos registrarlo y la fecha en que fue


completada la actividad, para poder dar seguimiento al proyecto. Agregar el valor ganado
a la fecha en la columna de valor ganado acumulado.

Formato de calendario: registra el valor ganado acumulado para cada semana a medida
que se completan las actividades. Comparar el valor ganado con el valor planeado. Y,
como lo vimos anteriormente, una actividad gana valor slo cuando est terminada. Al
completar la actividad, su valor se registra al igual que el valor acumulado hasta ese da.
Por lo tanto el valor ganado nos sirve para saber el estado de nuestro proyecto, es decir,
si vamos con retraso, adelantados o conforme al plan.

Proyectar el trmino del proyecto.- En todos los proyectos se pretende que se cumplan
los objetivos de acuerdo al plan, sin embargo, algunas veces podrn presentar
desviaciones ya sea por atrasos o por cambios y en la medida en que vayan avanzando
continuar ganando valor. Con la informacin que se gener anteriormente se determina
la fecha de trmino proyectada, a menos que: la velocidad del proyecto sea cambiada de
tal manera que el trabajo restante pueda ser reducido por debajo de lo planeado.

Para llevar el seguimiento al proyecto debers registrar la fecha o da en que se


completaron cada una de las actividades. Recuerda que hay actividades que no se
completan en un solo da, por ejemplo observa en la tabla siguiente, la actividad C, debi
terminarse el da 3, sin embargo fue completada hasta el da 4. Por lo tanto, en la
columna de Valor ganado no puede tomar el siguiente porcentaje del acumulado

Ejecutas el editor16
Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 16
Mtricas de desarrollo de software
Unidad 3. Planeacin: Recursos y calendario

planeado, permanece igual. Esto va generando un retraso con respecto a lo que se tena
planeado.

Tabla. Ejemplo de planeacin del cronograma

Plan
Valor Valor
Horas Valor Da de Valor
ID Actividades Horas Da planeado ganado
acumuladas planeado trmino ganado
acumulado proyectado
1 A 2 2 1 5.4 5.4 1 5.4 5.4
2 B 5 7 2 13.5 18.9 2 18.9 18.9
3 C 4 11 3 10.8 29.7 4 18.9 18.9
4 D 7 18 4 18.9 48.6 5 29.7 29.7
5 E 3 21 5 8.1 56.7 6 48.6 48.6
6 F 5 26 6 13.5 70.2 58.32
7 G 6 32 7 16.3 86.5 68.04
8 H 3 35 8 8.1 94.6 77.76
9 I 2 37 9 5.4 100 87.48
10 10 97.2
11 11 100

En el ejemplo anterior, observa la columna Valor ganado proyectado, puedes notar que en
la actividad 5 del proyecto, se tiene un avance del 48.6%, por lo tanto, en promedio cada
da tenemos un avance de 9.72 (48.6/5). En este punto, podemos pronosticar cundo
terminar el proyecto si se contina trabajando a este ritmo. A partir del da 6 le
incrementamos el valor 9.72 y lo continuamos hasta llegar al 100%. Esto nos lleva a
terminar el proyecto hasta el da 11 en lugar del da 10 como originalmente estaba
planeado.

Poder estimar el trmino del proyecto, le ayuda al lder a tomar decisiones a tiempo para
cubrir sus metas; por ejemplo: agregar un recurso para acelerar el tiempo de desarrollo y
evitar que una desviacin en el tiempo afecte la fecha de entrega de la etapa. Si se trata
del proyecto de un solo programador, ste podr decidir inyectar ms tiempo para evitar
que la desviacin, no afecte la entrega o bien negociar con el cliente un cambio de fechas,
esto tomando en cuenta si la desviacin fue ocasionada por el cliente. (Humphrey, W.
2005. Pg. 115).

El plan con valores estimados y su seguimiento forman parte del proceso PSP 1.1. En el
siguiente tema se presentan las instrucciones para aplicarlo.

Ejecutas el editor17
Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 17
Mtricas de desarrollo de software
Unidad 3. Planeacin: Recursos y calendario

3.2.3. PSP 1.1

Para entender cmo se realiza el proceso PSP 1.1 debers leer las siguientes
instrucciones.

Propsito Guiar a los desarrolladores de programas a nivel mdulo.

Entrada o Descripcin del problema


o Formato del resumen del plan del proyecto PSP1.1
o Plantilla de estimacin del tamao
o Los datos histricos de tamao y tiempo (estimado y real)
o El tiempo y registros de defectos
o Estndares del tipo de defecto, codificacin y tamao
o Cronmetro (opcional)

Planeacin o Obtencin y definicin de requerimientos


o Utilizacin del mtodo PROBE para estimar el tamao aadido y
modificado de este programa, as como el tiempo de desarrollo
requerido
o Completar la plantilla de la estimacin del tamao
o Completar una plantilla de Planificacin de Tareas
o Completar una plantilla de Planeacin Programacin
o Introduccin de los datos del plan en forma Resumen del Proyecto
Plan
o Completar el registro de tiempos

Desarrollo o Disear el programa


o Aplicar el diseo
o Compilar el programa, corregir y registrar todos los defectos
encontrados
o Completar los registros de tiempos

Postmortem Completar el formato del resumen del plan de proyecto con los tiempos
reales, defectos y tamao.

Criterios de o Un programa probado a fondo


xito o Resumen del Plan del proyecto completo con datos reales
o Plantillas llenadas completamente del tamao, actividades y
planificacin del calendario completas
o Los formularios de PIP
o - Registro completo del tiempo y defectos. (Alvarado, A. 2008.
Pg. 22).

Ejecutas el editor18
Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 18
Mtricas de desarrollo de software
Unidad 3. Planeacin: Recursos y calendario

Este proceso, al igual que los otros, tiene las mismas etapas pero con nuevos formularios.
A continuacin podrs poner en prctica parte de este proceso por medio de la siguiente
actividad. Debers desarrollar un programa y completar el seguimiento a un plan.

Evidencia de aprendizaje. PSP 1.1

Propsito: Desarrollar un programa aplicando el procedimiento del PSP 1.1

PARTE I
1. Desarrolla un programa en lenguaje Java que permita mostrar el promedio, la
varianza y la desviacin estndar de un conjunto de N nmeros reales. Los valores
debern ser ledos desde un archivo de texto. Debers utilizar una lista enlazada para
almacenar los N nmeros con los cuales realizars los clculos.

2. Descomprime la lnea base que contiene cdigo que podrs re-utilizar para completar
los requerimientos del programa. DesvEstandar.zip

3. Desarrolla el cdigo necesario para mostrar la varianza.

4. Realiza pruebas suficientes a tu programa. Al menos dos casos de prueba debern ser
utilizados con los valores mostrados en las siguientes columnas. Los resultados
esperados son mostrados a continuacin.

Valores
Col.1 Col.2

160 15.0
591 69.9
114 6.5
229 22.4
230 28.4
270 65.9
128 19.4
1657 198.7
624 38.8
1503 138.2

Resultados columna 1
Promedio = 550.6
Varianza = 327214.71
Desviacin estndar = 542.03

Resultados columna 2

Ejecutas el editor19
Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 19
Mtricas de desarrollo de software
Unidad 3. Planeacin: Recursos y calendario

Promedio = 60.32
Varianza = 3876
Desviacin estndar = 62.26

Si tienes dudas de cmo calcular la varianza puedes consultar la siguiente pgina:


http://www.spssfree.com/spss/analisis2.html

PARTE II
Instrucciones: observa la siguiente tabla, imagina que son los tiempos que planeaste
con PROBE. Ahora le ests dando seguimiento y hasta la actividad nmero 5, Cul ser
el Valor ganado proyectado con los valores que se han obtenido hasta ese momento?
(Completar columna de Valor ganado proyectado)

Plan
Valor Valor
Horas Valor Da de Valor
ID Actividades Horas Da planeado ganado
acumuladas planeado trmino ganado
acumulado proyectado
1 Planificacin 1 1 1 5.0 5.0 1 5.0
2 Diseo 1 2 2 5.0 10.0 2 10.0
Codificar lectura
3 de archivo de 3 5 3 15.0 25.0 3 25.0
texto
Codificar lista
4 5 10 4 25.0 50.0 4 50.0
enlazada
Codificar clculo
5 1 11 5 5.0 55.0 6 ?
de promedio
Codificar clculo
6 2 13 6 10.0 65.0 7
de varianza
Codificar clculo
7 de desviacin 3 16 7 15.0 80.0 8
estndar
8 Compilacin 1 17 8 5.0 85.0
9 Pruebas 2 19 9 10.0 95.0
10 Postmortem 1 20 10 5.0 100.0
11

Ya que resolviste la parte I y II de la evidencia, integra en un solo documento de texto, el


cdigo resultante de la parte I describiendo lo realizado y los resultados de la parte II.

1.- Guarda la actividad con el nombre DMDS_U3_EA_XXYZ. Sustituye las XX por las
dos primeras letras del primer nombre, la Y por la inicial del apellido paterno y la Z por la
inicial del apellido materno.

2.- Enva el archivo al facilitador(a) para recibir retroalimentacin. No olvides consultar


los criterios de evaluacin de la actividad.

Cierre:

Ejecutas el editor20
Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 20
Mtricas de desarrollo de software
Unidad 3. Planeacin: Recursos y calendario

Llevar a la prctica un proceso PSP completamente, te va disciplinando en la generacin


de datos y uso de los mismos para proyectar la tendencia de actividades futuras en caso
de continuar con el mismo ritmo de desempeo. Es por ello que es importante no tan solo
hacer planes precisos, si no tambin monitorear su ejecucin y cuidar las proyecciones
para no desviar las fechas compromiso.

Autoevaluacin

Para recordar las palabras clave de la unidad intenta resolver la sopa de letras. Para ello
busca las palabras escondidas en ella y mrcalas.

B H X Z Q T U T I E M P O X I C V N Q
S D X P S O O R H Z R Y N L U G A O G
E D Q O O B P E A M A R G O N O R C U
D K C D T N Y O A M A T R D B P S P
A E K X I D E B V S R M Q X N N T E E
D R U S H E T T R E P K X O O T V Z O
I R J X J S M D Y G Y F O I N D Q T M
V H R I Y A E E Y U W S C A C A A J X
I S C I Q R Q L E I Q A G I N M N S Z
T M Q F B R T P V M M N A N R A W Z S
C U V K X O V H T I V O W O D I E M H
A U V U I L N I T E U V F E A G X Y W
K Z K H Y L C S B N T M Z P G O U D C
Y I P F D O E L A T L Y V H D L V E B
R P A B W Z E X S O Q X I X R A M Z P
V P V Y H E R R A M I E N T A N A V K
Z Q R C M V D D K E F G D J E A W A C
E X T R R E C U R S O S X J M N E K N
A U N Q L P D H T G S X M Z A W E X W

Estas son las palabras que debers encontrar

ACTIVIDADES ANALOGIA CRONOGRAMA


DELPHI DESARROLLO ESTIMACION FORMATO
GANTT HERRAMIENTA HITOS PERT
RECURSOS SEGUIMIENTO TAMAO TIEMPO

Ejecutas el editor21
Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 21
Mtricas de desarrollo de software
Unidad 3. Planeacin: Recursos y calendario

Autorreflexiones

Adems de contestar y enviar la Evidencia de aprendizaje, es importante que ingreses


al foro Preguntas de Autorreflexin y consultes las preguntas que tu Facilitador(a)
presente, a partir de ellas, debes elaborar tu Autorreflexin en un archivo de texto llamado
DMDS_UX_ATR_XXYZ. Posteriormente enva tu archivo mediante la herramienta
Autorreflexiones.

Cierre de la unidad

Con esta unidad cerramos el curso de PSP; cmo pudiste darte cuenta, es un proceso de
mejora personal, sin embargo, si todos los programadores de la empresa lo utilizaran
podran llevar a un mejor nivel la gestin y forma de trabajo de los proyectos que
desarrollen. De manera personal PSP ayuda al programador a controlar, gestionar y
mejorar su trabajo por medio del uso de plantillas y procesos que si utiliza
adecuadamente servirn para conseguir elementos de trabajo ms confiables y
predecibles.

Adems, revisaste las caractersticas de esta disciplina generada por Watts Humphrey,
misma que fue el resultado de investigaciones con mltiples proyectos de la industria del
software. La metodologa PSP es parte de un proceso cclico para ayudar al mejoramiento
personal de las actividades y que el primer paso para producir un software de calidad es
decidir que la calidad es importante, por lo cual se debe establecer el objetivo de producir
programas libres de defectos y para tener oportunidad de cumplir esto, debes medir la
calidad de tus programas, as como, buscar la mejora de los mismos.

Con lo anterior, concluimos la asignatura Mtricas de Desarrollo de Software


Felicidades!

Para saber ms

Te recomendamos el siguiente sitio, este contiene una amplia explicacin de PSP,


adems incluye videos, ejemplos, plantillas y diversas herramientas.
http://kovachi.sel.inf.uc3m.es/800-spanish/Metodos_y_Modelos/psp

Fuentes de consulta

Bibliografa bsica
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.

Ejecutas el editor22
Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 22
Mtricas de desarrollo de software
Unidad 3. Planeacin: Recursos y calendario

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
Larco, E. (2007) Uso del PSP (Personal Software Process) en el desarrollo de
software. Quito. Disponible en: http://bibdigital.epn.edu.ec/bitstream/15000/345/1/CD-
0760.pdf
Mojica, C. Chapela, L. (2004) Tcnicas de programacin con calidad. Yucatn,
Mxico. Disponible en
http://www.capacinet.gob.mx/Cursos/Tecnologia%20amiga/desarrolladordesoftware/T
ecnicasProgramacionPersonalConCalidad_SE.pdf
Ruiza, M., Fernndez, T., Tamaro, E., Durn, M. (2013) Biografas y Vidas. Barcelona,
Espaa. Disponible en http://www.biografiasyvidas.com/biografia/g/gantt.htm

Ejecutas el editor23
Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 23

También podría gustarte