Logo Studenta

Unidad_3

¡Este material tiene más páginas!

Vista previa del material en texto

Métricas de desarrollo de software 
Unidad 3. Planeación: Recursos y calendario 
 Ejecutas el editor1 
Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software 1 
 
 
 
Ingeniería en Desarrollo de software 
Cuatrimestre 07 
 
 
Programa de la asignatura: 
Métricas de desarrollo de software 
 
 
Clave: 150930728 
 
 
 
 
 
 
 
 
 
 
 
 
 
Métricas de desarrollo de software 
Unidad 3. Planeación: Recursos y calendario 
 Ejecutas el editor2 
Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software 2 
Índice 
 
UNIDAD 3. PLANEACIÓN: RECURSOS Y CALENDARIO ................................................ 3 
PRESENTACIÓN DE LA UNIDAD ..................................................................................... 3 
PROPÓSITO ..................................................................................................................... 3 
COMPETENCIA ESPECÍFICA .......................................................................................... 3 
3.1. ESTIMACIÓN DE RECURSOS ................................................................................... 3 
3.1.1. PLANEANDO EL RECURSO ................................................................................... 5 
3.1.2. ESTIMANDO EL TIEMPO DE DESARROLLO ......................................................... 6 
ACTIVIDAD 1. PLANEACIÓN DE RECURSOS Y ESTIMACIÓN DEL TIEMPO DE 
DESARROLLO .................................................................................................................. 6 
3.1.3. COMBINACIÓN DE ESTIMACIONES ...................................................................... 8 
3.2. ESTIMACIÓN DE CALENDARIO .............................................................................. 10 
3.2.1. ESTIMACIÓN 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 
AUTOEVALUACIÓN ........................................................................................................ 21 
AUTORREFLEXIONES ................................................................................................... 22 
CIERRE DE LA UNIDAD ................................................................................................. 22 
PARA SABER MÁS ......................................................................................................... 22 
FUENTES DE CONSULTA .............................................................................................. 22 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Métricas de desarrollo de software 
Unidad 3. Planeación: Recursos y calendario 
 Ejecutas el editor3 
Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software 3 
Unidad 3. Planeación: recursos y calendario 
 
Arrancamos ahora la tercera y última unidad de la asignatura: Métricas de desarrollo de 
software; esta unidad aborda los planes de proyectos que son una lista de actividades que 
conducen al líder 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 también puedes 
planear las actividades necesarias para realizar los programas. 
 
Notarás que el plan contiene la descripción 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, notarás que los datos que vas generando te servirán para obtener 
estimaciones más precisas. 
 
Presentación de la unidad 
 
Hasta este punto ya conoces como estimar tus programas; es por ello que, tomando como 
base estos conocimientos, te ayudarán a generar planes más precisos para tus 
programas y proyectos. En otras palabras podrás generar un calendario como una parte 
importante de la planeación, del seguimiento a cambios y generación de reportes de 
gestión. Además te ayudará a manejar incidentes y desviaciones que pueden controlarse 
de manera oportuna. Revisa el propósito de la unidad para que no pierdas de vista el 
alcance y puedas lograrlo sin problema. 
 
Propósito 
 
Revisar el proceso de planeación, tomando como base los recursos y tiempos en general 
y cómo aplicarlo a los programas que normalmente realiza un desarrollador. Todo esto 
utilizando plantillas y aplicando el proceso de PSP 1.1. 
 
Competencia específica 
 
Aplicar la estimación de recursos y tiempos para planear un programa a través de la 
elaboración de un calendario con el proceso PSP 1.1. 
 
3.1. Estimación de recursos 
 
El principal recurso con el que debemos contar son los requerimientos, por lo cual 
debemos tener con una adecuada descripción de éstos, ya que de lo contrario no 
podríamos comenzar. Los requerimientos que son completamente válidos para PSP son 
los que cumplen los siguientes criterios: 
Métricas de desarrollo de software 
Unidad 3. Planeación: Recursos y calendario 
 Ejecutas el editor4 
Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software 4 
1. Accesibles: para realizar planes se tiene la necesidad de información y debes contar 
con el acceso a ésta. Debe estar ordenada, saber dónde se ubica y debe ser 
consistente y no redundante. 
2. Claros: lo más importante para PSP es la importancia de la calidad en los datos. Si los 
datos no están completos o no son lo suficientemente claros no podrán ser utilizados 
con confianza. 
3. Específicos: 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 precisión es una manera de relacionar la unidad de medida con el total 
de la magnitud de medición. El nivel de detalle tiene que ver con la precisión. Por 
ejemplo para un proyecto con 14 programadores una métrica para administrarlos 
podría ser horas o días. En PSP se requerirá un nivel de detalle más estricto, por 
ejemplo horas y minutos. Manejar segundos ya sería un tiempo demasiado estricto. 
Para determinar un nivel adecuado de precisión, considera el error introducido por una 
diferencia de uno en la más pequeña unidad de medida. Por ejemplo para un proyecto 
de 5 horas, una unidad de medida de un minuto nos podría introducir errores 
tolerables, mientras que las unidades de medida de una hora o incluso una décima 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 pequeños 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 combinación de valores totales para 
tener mayor precisión. El método PROBE es una guía para producir planes 
imparciales y balanceados. (Humphrey, W. 2005. Pág. 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 también 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 método PROBE (Proxy 
Based Estimating), realizan una estimación y un plan donde cada programador debe 
realizar un diseño conceptual para poder calcular el tiempoque le llevará hacer el diseño 
completo. En el siguiente paso, deberán estimar el tamaño del programa y estimar 
recursos. Posteriormente, ya que conocen el tiempo requerido en cada etapa, estiman el 
tiempo que pasarán en el trabajo cada día 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 planeación pero el registro del tiempo que se genera, sí es importante 
para realizar estimaciones más precisas de esta etapa. Después de haber completado el 
trabajo, los programadores o ingenieros de software realizan un análisis postmortem del 
trabajo. Actualizan el resumen del plan del proyecto, revisan el desempeño comparando 
lo real con lo planeado. 
Métricas de desarrollo de software 
Unidad 3. Planeación: Recursos y calendario 
 Ejecutas el editor5 
Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software 5 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figura. Estructura de trabajo para el plan de trabajo de PSP. 
(Humphrey, W. 1995. Pág. 99) 
 
Todo se realiza aplicando el método PROBE para tomar como base la estimación del 
tamaño del producto. Contabilizan los objetos que se requieren para el diseño conceptual, 
la cantidad y tipo de métodos de cada objeto, se toma como referencia los estándares de 
conteo de objetos similares desarrollados previamente. Aplicando una regresión lineal se 
determina el tamaño para el producto terminado. Para poder aplicar la regresión lineal, 
como mínimo deben tener un histórico de tres programas anteriores. Ya que estimó el 
total del trabajo, cada programador usa sus tiempos históricos 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 planeación son el tiempo, el personal y, obviamente, 
hardware y software necesarios para realizar las actividades. Existe una relación natural 
entre el tamaño del programa y el tiempo de desarrollo, ya que, entre más grande es el 
programa, éste involucra mayor tiempo de desarrollo. Dicha relación se puede lograr 
afectar cuando inyectamos más y mejores recursos al proceso, por ejemplo establecer un 
equipo de trabajo sólido formado por varios programadores expertos. En PSP esto 
comienza con la estimación del tamaño del producto que cada programador desarrolla 
Generación de 
reportes 
Gestión 
Tamaño, 
recursos, 
calendario 
Proceso de 
análisis 
Necesidades 
del cliente 
Definir 
requerimientos 
Producir diseño 
conceptual 
Estimar tamaño 
Estimar recursos 
Producir 
cronograma 
Desarrollar 
producto 
Recursos 
disponibles 
Productividad de 
base de datos 
Tamaño de base 
de datos 
Entrega del 
producto 
 
 
Cliente 
Elementos 
Tareas 
Métricas de desarrollo de software 
Unidad 3. Planeación: Recursos y calendario 
 Ejecutas el editor6 
Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software 6 
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 estimación del tamaño y del 
recurso son realizadas por el método PROBE. (Humphrey, W. 1995. Pág. 97-100). 
 
En los siguientes temas veremos cómo estimar el tiempo de desarrollo, la generación de 
cronogramas de trabajo, estimación de tiempos basándonos en métodos de juicio experto, 
datos históricos y precisiones estadísticas. 
 
3.1.2. Estimando el tiempo de desarrollo 
 
En PSP cada programador utiliza su información 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 tamaños de los programas y defectos 
generados. 
 
El tiempo real registrado deberá contener información como esta: hora en que inició la 
tarea, tiempo en que se detiene la tarea o cualquier interrupción, por ejemplo una llamada 
telefónica, un descanso o alguna conversación no prevista. La idea es que realmente se 
registre el tiempo invertido en la tarea específica. 
 
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. Después 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 ó 
más 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 más reales y 
presentar cronogramas más certeros. 
 
Trata de hacer planes realistas que dejen una cantidad razonable por los acontecimientos 
normales de la vida diaria de trabajo. Esto proporcionará un colchón prudente para los 
ocasionales momentos de crisis. (Larco, E. 2007. Pág. 30). 
 
En el siguiente tema, volverás a ver técnicas de estimación que serán de utilidad para 
calcular el tiempo de desarrollo de tus programas o proyectos. 
 
Actividad 1. Planeación de recursos y estimación del tiempo de 
desarrollo 
 
Propósito: Identificar en un problema los recursos que deben ser planeados y el tiempo 
de desarrollo por medio de la estimación. 
Métricas de desarrollo de software 
Unidad 3. Planeación: Recursos y calendario 
 Ejecutas el editor7 
Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software 7 
 
Instrucciones: 
1. Identifica los recursos que deben ser planeados y el tiempo de desarrollo por medio de 
la estimación. (No es necesario desarrollar el código). 
 
Descripción del programa: “Desarrollar un programa en lenguaje JAVA que permita 
mostrar el promedio, la varianza y la desviación estándar de un conjunto de N 
números reales. Los valores deberán ser leídos desde un archivo de texto. Deberás 
utilizar una lista enlazada para almacenar los N números, con los cuales realizarás los 
cálculos”. 
 
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 
estimado 
Programadores Software Hardware 
Leer números desde 
un archivo de texto. 
 1 Java Pc 
Almacenar los 
números leídos en una 
lista enlazada. 
 1 Java Pc 
Calcular promedio y 
mostrar. 
 
Calcular varianza y 
mostrar. 
 
Calcular desviación 
estándar y mostrar. 
 
 
3. Ingresa al foro de la actividad y compara los tiempos estimados con al menos 2 
compañeros. 
 
4. Atiende a la discusión que tu facilitador(a) plantee en el foro. 
 
5. No olvides consultar la Rúbrica de participación general en foros. 
 
Cierre: La planeación adecuada del tiempo es la clave para que nuestros cronogramas se 
aproximen cada vez más a los tiempos reales de ejecución. Estimar de manera precisa el 
tiempo de desarrollo te ayudará a establecer compromisos y tener la certeza de que 
podrás cumplirlos de acuerdo al tiempo establecido para la entrega del producto o 
entregable. 
 
 
Métricas de desarrollo de software 
Unidad 3. Planeación: Recursos y calendario 
 Ejecutas el editor8 
Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software 8 
3.1.3. Combinación de estimaciones 
 
Como viste en la Unidad 2, existen muchas técnicas y herramientas de estimación, por 
ejemplo el método PROBE que ya fue explicado. En este tema se verán otras técnicas así 
como, sus posibles combinaciones. A continuación se presentan algunas de ellas. 
 
Método Wideband Delphi 
Es una técnica basada en juicio experto. Se les pide a variaspersonas, por separado, que 
realicen la estimación y la entreguen a quien coordina la dinámica. El coordinador calcula 
el promedio de la estimación y lo registra. Si algún valor está muy sesgado, realiza una 
nueva ronda mostrando el promedio e invitando a que se reconsideren los valores 
reportados. Por ejemplo: 
 
1) Primera estimación: 
Experto A = 3,000 LOC (Líneas de código) 
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 estimación: 
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 están 
de acuerdo con este promedio. De lo contrario, se realiza un nuevo cálculo. 
 
Ventajas: Los resultados pueden ser muy precisos, se ajusta a las necesidades de la 
organización y puede aplicarse a cualquier tamaño de proyecto. 
 
Desventajas: consume tiempo de los participantes, si no se maneja adecuadamente los 
expertos se pueden influenciar y dejar los promedios poco realistas. 
 
Método Analogía 
Es otra técnica basada en juicio experto y datos históricos. Debes realizar la separación 
de los componentes del sistema. Por cada componente, buscar en los datos históricos 
uno similar y tomar su tamaño como base para la estimación. 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 
Métricas de desarrollo de software 
Unidad 3. Planeación: Recursos y calendario 
 Ejecutas el editor9 
Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software 9 
tamaños registrados de LOC y aplicando tú juicio considerando el alcance del nuevo 
código realices el ajuste a las líneas de código. 
 
El método de analogía lo puedes combinar con el Delphi. Cuando no tienen en la 
empresa valores iniciales, con el método Delphi se pueden generar una serie de valores 
base, poco a poco conforme vas desarrollando nuevos proyectos, registrarás los valores 
reales y posteriormente con el método de analogía puedes utilizar los datos históricos. 
 
Método PERT 
Este método tiene sus fundamentos en estadística y está basado en los valores de: 
mínimo esperado, más probable y máximo esperado. Con dichos valores se aplica la 
siguiente fórmula: 
 
a= valor mínimo esperado 
b= valor probable 
c= valor máximo esperado 
 
E= (a+4b+c)/6 
 
Los valores pueden ser obtenidos a partir de cualquiera de las dos técnicas vistas 
previamente Delphi o Analogía. 
 
Por ejemplo: 
 
Valor mínimo esperado (a) =300 
Valor probable (b) = 600 
Valor máximo 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 analogía, o bien, podemos utilizar la estadística con los datos históricos 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 tuviéramos los siguientes valores históricos 
LOC totales a la fecha = 350 
Minutos totales a la fecha = 670 
Métricas de desarrollo de software 
Unidad 3. Planeación: Recursos y calendario 
 Ejecutas el editor10 
Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software 10 
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 continuación, se explicará cómo 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. Estimación 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, además 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 también, otros elementos como: 
equipo, materiales, software y por supuesto los recursos humanos que obviamente son 
necesarios para el cumplimiento de los objetivos. Esta información será útil para 
documentar el plan y comenzar a generar el calendario de trabajo. 
 
3.2.1. Estimación de cronogramas 
 
Para generar el calendario de trabajo será necesario contar con la estimación de las horas 
directas del proyecto, la disponibilidad de los horarios de los recursos y la distribución 
ordenada de las actividades que se desarrollarán. Posteriormente, necesitarás 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 serán 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, estás involucrado en otras actividades y por lo tanto 
deberás definir la cantidad de horas que dedicarás 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. 
Métricas de desarrollo de software 
Unidad 3. Planeación: Recursos y calendario 
 Ejecutas el editor11 
Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software 11 
- 5 días de vacaciones y 2 días de asueto = 7 días = 42 horas no laborables. 10% 
- El tiempo para reuniones, correos y documentación es 5% = 19 horas. 
- El tiempo disponible será de 378-19=359 horas. 
 
Saber cuáles 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á más 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 término 
 Considerar las dependencias entre las actividades: por ejemplo cuáles 
comienzan juntas cuáles anteceden a otras y cuáles se preceden. 
 Determinar cuáles 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 duración, son marcas en calendario que nos indicarán si 
hemos alcanzado logros. 
 
5. Contar con una herramienta para cronogramas con una representación visual como 
lo es un Gantt (Ruiza, M., Fernández, T., Tamaro, E., Durán, M. 2013. Pág. 1), en el 
que las barras muestran el esfuerzo requerido en un tiempo determinado. O bien 
contar con una plantilla estándar para que el manejo del calendario nos de 
consistenciaen el registro y análisis de los datos de todos los proyectos. Por ejemplo 
observa el siguiente formato: 
Métricas de desarrollo de software 
Unidad 3. Planeación: Recursos y calendario 
 Ejecutas el editor12 
Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software 12 
 
Figura. Ejemplo de formato de planeación de actividades. 
(Humphrey, W. 2005. Pág. 109 - 111) 
 
6. Para llenar el formato deberás: 
 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 
realización. Deberás describir exactamente cuándo 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 podrías 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 comparándolo con lo planeado, aun cuando el plan cambie. Como resultado 
obtendremos un valor común 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 planeación. 
 
Establecimiento de valor planeado.- En el formato de planeación 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. 
 
 
Métricas de desarrollo de software 
Unidad 3. Planeación: Recursos y calendario 
 Ejecutas el editor13 
Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software 13 
Tabla. Ejemplo de planeación del cronograma 
 
Actividades Horas 
Horas 
acumuladas 
Día 
Valor 
planeado 
Valor 
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 día. 
 
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 término, tomando como referencia la forma en que se ha 
estado desarrollando las actividades del plan, en el siguiente tema se te explicará cómo 
hacer este proceso. (Humphrey, W. 1995. Pág. 145-1155). 
 
A continuación, tendrás la oportunidad de analizar todos estos conceptos en una actividad 
que te ayudará a entender cómo se aplican e interpretan. 
 
Actividad 2. Estimaciones, calendario y valor ganado 
 
Propósito: Analizar aspectos básicos 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. 
 
Descripción del problema: Considera el siguiente calendario de actividades, 
observando los días en que fueron planeadas las actividades y los días en que fueron 
terminadas. Contesta el cuestionario que se presenta enseguida de la tabla 
Métricas de desarrollo de software 
Unidad 3. Planeación: Recursos y calendario 
 Ejecutas el editor14 
Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software 14 
 
Plan 
 
ID Actividades Horas 
Horas 
acumuladas 
Día 
Valor 
planeado 
Valor 
planeado 
acumulado 
Día de 
término 
Valor 
ganado 
Valor 
ganado 
proyectado 
1 Planificación 1 1 1 5.0 5.0 1 5.0 
2 Diseño 1 2 2 5.0 10.0 2 10.0 
3 
Codificar lectura 
de archivo de 
texto 
3 5 3 15.0 25.0 3 25.0 
4 
Codificar lista 
enlazada 
5 10 4 25.0 50.0 4 50.0 
5 
Codificar cálculo 
de promedio 
1 11 5 5.0 55.0 6 ? 
6 
Codificar cálculo 
de varianza 
2 13 6 10.0 65.0 7 ? 
7 
Codificar cálculo 
de desviación 
estándar 
3 16 7 15.0 80.0 8 ? 
8 Compilación 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 líder 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 método Delphi ¿Cuál de las 
siguientes afirmaciones es correcta? 
a) Aplicaron una técnica estadística combinada con una de analogía. 
b) Tomaron los tiempos reales de cronogramas de programas previos y similares. 
c) Varias personas realizaron la estimación. 
d) Se aplicó una técnica estadística con valores mínimos, probables y esperados. 
 
3. Si los valores de las horas fueron calculados con la técnica de Analogía ¿Cuál de las 
siguientes afirmaciones es correcta? 
a) Aplicaron una técnica estadística combinada con una de analogía. 
b) Tomaron los tiempos reales de cronogramas de programas previos y similares. 
c) Varias personas realizaron la estimación. 
d) Se aplicó una técnica estadística con valores mínimos, probables y esperados. 
 
4. Si los valores de las horas fueron calculados con la técnica PERT únicamente ¿Cuál 
de las siguientes afirmaciones es correcta? 
a) Aplicaron una técnica estadística combinada con una de analogía. 
Métricas de desarrollo de software 
Unidad 3. Planeación: Recursos y calendario 
 Ejecutas el editor15 
Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software 15 
b) Tomaron los tiempos reales de cronogramas de programas previos y similares. 
c) Varias personas realizaron la estimación. 
d) Se aplicó una técnica estadística con valores mínimos, probables y esperados. 
 
5. ¿Qué día se terminó la actividad 5? 
a) 5 
b) 6 
c) 7 
d) 8 
6. ¿Qué día se terminó la actividad 6? 
a) 5 
b) 6 
c) 7 
d) 8 
7. ¿Qué día se terminó la actividad 7? 
a) 5 
b) 6 
c) 7 
d) 8 
8. ¿Cuál es el valor ganado para la actividad 5? 
a) 50 
b) 55 
c) 60 
d) 809. ¿Cuál es el valor ganado para la actividad 6? 
a) 50 
b) 55 
c) 60 
d) 80 
10. ¿Cuál 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. 
 
Envía el archivo al facilitador(a) para recibir retroalimentación. 
 
Cierre: La técnica 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 
Métricas de desarrollo de software 
Unidad 3. Planeación: Recursos y calendario 
 Ejecutas el editor16 
Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software 16 
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 
práctica. 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 sería 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 generación de errores es común. 
 
El cumplimiento, o no, de los hitos nos permitirán 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 sólo cuando está terminada. Al 
completar la actividad, su valor se registra al igual que el valor acumulado hasta ese día. 
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 término del proyecto.- En todos los proyectos se pretende que se cumplan 
los objetivos de acuerdo al plan, sin embargo, algunas veces podrán presentar 
desviaciones ya sea por atrasos o por cambios y en la medida en que vayan avanzando 
continuará ganando valor. Con la información que se generó anteriormente se determina 
la fecha de término 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 deberás registrar la fecha o día en que se 
completaron cada una de las actividades. Recuerda que hay actividades que no se 
completan en un solo día, por ejemplo observa en la tabla siguiente, la actividad C, debió 
terminarse el día 3, sin embargo fue completada hasta el día 4. Por lo tanto, en la 
columna de Valor ganado no puede tomar el siguiente porcentaje del acumulado 
Métricas de desarrollo de software 
Unidad 3. Planeación: Recursos y calendario 
 Ejecutas el editor17 
Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software 17 
planeado, permanece igual. Esto va generando un retraso con respecto a lo que se tenía 
planeado. 
 
Tabla. Ejemplo de planeación del cronograma 
 
 
Plan 
 
ID Actividades Horas 
Horas 
acumuladas 
Día 
Valor 
planeado 
Valor 
planeado 
acumulado 
Día de 
término 
Valor 
ganado 
Valor 
ganado 
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 
día tenemos un avance de 9.72 (48.6/5). En este punto, podemos pronosticar cuándo 
terminará el proyecto si se continúa trabajando a este ritmo. A partir del día 6 le 
incrementamos el valor 9.72 y lo continuamos hasta llegar al 100%. Esto nos lleva a 
terminar el proyecto hasta el día 11 en lugar del día 10 como originalmente estaba 
planeado. 
 
Poder estimar el término del proyecto, le ayuda al líder a tomar decisiones a tiempo para 
cubrir sus metas; por ejemplo: agregar un recurso para acelerar el tiempo de desarrollo y 
evitar que una desviación en el tiempo afecte la fecha de entrega de la etapa. Si se trata 
del proyecto de un solo programador, éste podrá decidir inyectar más tiempo para evitar 
que la desviación, no afecte la entrega o bien negociar con el cliente un cambio de fechas, 
esto tomando en cuenta si la desviación fue ocasionada por el cliente. (Humphrey, W. 
2005. Pág. 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. 
 
 
 
 
Métricas de desarrollo de software 
Unidad 3. Planeación: Recursos y calendario 
 Ejecutas el editor18 
Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software 18 
3.2.3. PSP 1.1 
 
Para entender cómo se realiza el proceso PSP 1.1 deberás leer las siguientes 
instrucciones. 
 
Propósito Guiar a los desarrolladores de programas a nivel módulo. 
 
Entrada o Descripción del problema 
o Formato del resumen del plan del proyecto PSP1.1 
o Plantilla de estimación del tamaño 
o Los datos históricos de tamaño y tiempo (estimado y real) 
o El tiempo y registros de defectos 
o Estándares del tipo de defecto, codificación y tamaño 
o Cronómetro (opcional) 
 
Planeación o Obtención y definición de requerimientos 
o Utilización del método PROBE para estimar el tamaño añadido y 
modificado de este programa, así como el tiempo de desarrollo 
requerido 
o Completar la plantilla de la estimación del tamaño 
o Completar una plantilla de Planificación de Tareas 
o Completar una plantilla de Planeación Programación 
o Introducción de los datos del plan en forma Resumen del Proyecto 
Plan 
o Completar el registro de tiempos 
 
Desarrollo o Diseñar el programa 
o Aplicar el diseño 
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 tamaño. 
 
Criterios de 
éxito 
o Un programa probado a fondo 
o Resumen del Plan del proyecto completo con datos reales 
o Plantillas llenadas completamente del tamaño, actividades y 
planificación del calendario completas 
o Los formularios de PIP 
o - Registro completo del tiempo y defectos. (Alvarado, A. 2008. 
Pág. 22). 
 
Métricas de desarrollo de software 
Unidad 3. Planeación: Recursos y calendario 
 Ejecutas el editor19 
Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software 19 
Este proceso, al igual que los otros, tiene las mismas etapas pero con nuevos formularios. 
A continuación podrás poner en práctica parte de este proceso por medio de la siguiente 
actividad. Deberás desarrollar un programa y completar el seguimiento a un plan. 
 
Evidencia de aprendizaje. PSP 1.1 
 
Propósito: 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 desviación estándar de un conjunto de N números reales. Los valores 
deberán ser leídos desde un archivo de texto. Deberás utilizar una lista enlazada para 
almacenar los N números con los cuales realizarás los cálculos. 
 
2. Descomprime la línea base que contiene código que podrás re-utilizar para completar 
los requerimientos del programa. DesvEstandar.zip 
 
3. Desarrolla el código necesario para mostrar la varianza. 
 
4. Realiza pruebas suficientes a tu programa. Al menos dos casos de prueba deberán ser 
utilizados con los valores mostrados en las siguientes columnas. Los resultados 
esperados son mostrados a continuación. 
 
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.2Resultados columna 1 
Promedio = 550.6 
Varianza = 327214.71 
Desviación estándar = 542.03 
 
Resultados columna 2 
file:///C:/Users/abraham.lopeze/AppData/Local/Microsoft/Windows/Temporary%20Internet%20Files/Content.IE5/9GKOQOQ8/DesvEstandar.zip
Métricas de desarrollo de software 
Unidad 3. Planeación: Recursos y calendario 
 Ejecutas el editor20 
Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software 20 
Promedio = 60.32 
Varianza = 3876 
Desviación estándar = 62.26 
 
Si tienes dudas de cómo calcular la varianza puedes consultar la siguiente página: 
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 estás dando seguimiento y hasta la actividad número 5, ¿Cuál será 
el Valor ganado proyectado con los valores que se han obtenido hasta ese momento? 
(Completar columna de Valor ganado proyectado) 
 
 
Plan 
 
ID Actividades Horas 
Horas 
acumuladas 
Día 
Valor 
planeado 
Valor 
planeado 
acumulado 
Día de 
término 
Valor 
ganado 
Valor 
ganado 
proyectado 
1 Planificación 1 1 1 5.0 5.0 1 5.0 
2 Diseño 1 2 2 5.0 10.0 2 10.0 
3 
Codificar lectura 
de archivo de 
texto 
3 5 3 15.0 25.0 3 25.0 
4 
Codificar lista 
enlazada 
5 10 4 25.0 50.0 4 50.0 
5 
Codificar cálculo 
de promedio 
1 11 5 5.0 55.0 6 ? 
6 
Codificar cálculo 
de varianza 
2 13 6 10.0 65.0 7 
7 
Codificar cálculo 
de desviación 
estándar 
3 16 7 15.0 80.0 8 
8 Compilación 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 
código 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.- Envía el archivo al facilitador(a) para recibir retroalimentación. No olvides consultar 
los criterios de evaluación de la actividad. 
 
Cierre: 
http://www.spssfree.com/spss/analisis2.html
Métricas de desarrollo de software 
Unidad 3. Planeación: Recursos y calendario 
 Ejecutas el editor21 
Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software 21 
Llevar a la práctica un proceso PSP completamente, te va disciplinando en la generación 
de datos y uso de los mismos para proyectar la tendencia de actividades futuras en caso 
de continuar con el mismo ritmo de desempeño. Es por ello que es importante no tan solo 
hacer planes precisos, si no también monitorear su ejecución y cuidar las proyecciones 
para no desviar las fechas compromiso. 
 
Autoevaluación 
 
Para recordar las palabras clave de la unidad intenta resolver la sopa de letras. Para ello 
busca las palabras escondidas en ella y márcalas. 
 
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 deberás encontrar 
 
 ACTIVIDADES ANALOGIA CRONOGRAMA 
DELPHI DESARROLLO ESTIMACION FORMATO 
GANTT HERRAMIENTA HITOS PERT 
RECURSOS SEGUIMIENTO TAMAÑO TIEMPO 
 
 
 
 
Métricas de desarrollo de software 
Unidad 3. Planeación: Recursos y calendario 
 Ejecutas el editor22 
Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software 22 
Autorreflexiones 
 
Además de contestar y enviar la Evidencia de aprendizaje, es importante que ingreses 
al foro Preguntas de Autorreflexión y consultes las preguntas que tu Facilitador(a) 
presente, a partir de ellas, debes elaborar tu Autorreflexión en un archivo de texto llamado 
DMDS_UX_ATR_XXYZ. Posteriormente envía tu archivo mediante la herramienta 
Autorreflexiones. 
 
Cierre de la unidad 
 
Con esta unidad cerramos el curso de PSP; cómo pudiste darte cuenta, es un proceso de 
mejora personal, sin embargo, si todos los programadores de la empresa lo utilizaran 
podrían llevar a un mejor nivel la gestión 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 servirán para conseguir elementos de trabajo más confiables y 
predecibles. 
 
Además, revisaste las características de esta disciplina generada por Watts Humphrey, 
misma que fue el resultado de investigaciones con múltiples proyectos de la industria del 
software. La metodología PSP es parte de un proceso cíclico 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 Métricas de Desarrollo de Software 
¡Felicidades! 
 
Para saber más 
 
Te recomendamos el siguiente sitio, este contiene una amplia explicación de PSP, 
además incluye videos, ejemplos, plantillas y diversas herramientas. 
 http://kovachi.sel.inf.uc3m.es/800-spanish/Metodos_y_Modelos/psp 
 
Fuentes de consulta 
 
Bibliografía básica 
 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. 
http://kovachi.sel.inf.uc3m.es/800-spanish/Metodos_y_Modelos/psp
Métricas de desarrollo de software 
Unidad 3. Planeación: Recursos y calendario 
 Ejecutas el editor23 
Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software 23 
 Zapata, J., García, J., Cerrada, J. (2001) Introducción al proceso software personalSM. 
Madrid, España: Addison Wesley. 
 
Bibliografía complementaria 
 Alvarado, A. (2008) Desarrollo de sistemas con PSP y TSP. México, 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) Técnicas de programación con calidad. Yucatán, 
México. Disponible en 
http://www.capacinet.gob.mx/Cursos/Tecnologia%20amiga/desarrolladordesoftware/T
ecnicasProgramacionPersonalConCalidad_SE.pdf 
 Ruiza, M., Fernández, T., Tamaro, E., Durán, M. (2013) Biografías y Vidas. Barcelona, 
España. Disponible en http://www.biografiasyvidas.com/biografia/g/gantt.htm

Continuar navegando