Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1 //Escenario
Escenario25
Lectura fundamental
Fundamental
Modelode
Etapas deun
estimación
plan de comunicación
PROBE
estratégica basada en PROXYs”
“Estimación
Contenido
2 El método
En otras palabras, son los valores dados a los objetos Base, que sirven de Estimación, estos valores más
PRObables x y y, son el tamaño (x) y el tiempo (y).
Es posible que la estimación se construya a partir de métricas o información de distintas fuentes, diferentes
al convencional (x) y (y); por ejemplo, en el caso de (x), el tamaño del software puede estar asociado a las
líneas de código, sin embargo, también puede estar asociado a puntos de función, puntos de caso de uso,
cualquier estructura que nos dé nociones del tamaño o quizás al esfuerzo que demanda la construcción del
software y, por qué no, su complejidad.
¿Qué es un proxy?
De manera individual, cada uno de los estudiantes o ingenieros construyen una base de datos y la usan
posteriormente para hacer un seguimiento del tamaño y el esfuerzo de todo el trabajo que realizan. Esos
históricos de los proyectos pueden ser divididos y clasificados en componentes individuales. A estos se les
denomina proxys.
A cada componente del histórico se le asigna un tipo (“consultas”, “lógica”, “cálculo”, “estructura de datos”,
“Interface”, etc.) y un tamaño (de “muy pequeño” a “muy grande”). Para esta clasificación se podría usar
Scrum póker o planning póker, estrategia que se aplica más para dirimir las discusiones entre grupos, pero
que podría ser útil para asignar tamaños.
Este método es fundamental para la estimación del tamaño y tiempo necesarios en la construcción
personal del software, pues garantiza que esas estimaciones (tamaño y tiempo que demanda la elaboración
del software) no van a tener errores.
POLITÉCNICO GRANCOLOMBIANO 2
¿Sabía qué...?
La mayoría de las estimaciones se basan en estimación por tamaño y
toman como medida base las líneas de código. Sin embargo, existen
otro tipo de métricas, quizás más efectivas, como los puntos de función,
puntos de características y otras técnicas híbridas como MK II FPA, 3-D
Function Point COSMIC FFP Albrecht, entre otras.
Si bien no se tiene claro cuál va a ser de la demanda de recursos que requiere la elaboración del
software, se conoce el proceso y el tiempo que requiere cada una de los proxys (Humphrey, 2002).
A partir de esta información y su análisis se puede realizar una estimación y determinar los intervalos,
valores máximos y mínimos, de recursos necesarios para la elaboración del software.
Las proyecciones o estimaciones se realizan con teoría estadística y probabilidad, pero esto no es
garantía total para la estimación. Debido a que estos cálculos se efectúan con base en datos reales, es
importante que los datos de entrada sean lo más precisos posibles.
La precisión de los tiempos y tamaño estimados depende de la disciplina con que se realice el registro,
así como también del detalle y del conocimiento sobre los requerimientos de trabajo a realizar. Por
eso la metodología incluye una etapa de diseño conceptual que se toma como referencia para estimar
tanto el tamaño del producto como los recursos asociados.
Al final se tendrá la regresión lineal, una ecuación que relaciona el tamaño (la cantidad de código,
funciones, casos de uso) estimado y el esfuerzo real; en este caso, en alguna unidad de tiempo (como
meses, días u horas-persona) de acuerdo con los datos históricos personales con la que podremos
estimar del tamaño y tiempo necesarios en la construcción personal del software.
2. El método
Este método consta de 10 pasos o fases y en principio no es cíclico. Sin embargo, puede percibirse
como tal, ya que, como veremos más adelante en la fase del diseño conceptual, se utilizan los datos
de estimaciones anteriores. La figura 1 presenta el diagrama de cada una de las fases del método de
estimación PROBE.
POLITÉCNICO GRANCOLOMBIANO 3
Inicio / Diseño
fin conceptual
Identificar y cuantificar
el tamaño de los proxys:
Tamaños Recursos • Número de ítems
estimados estimados • Tipo de la parte
• Tamaño relativo
y rangos y rangos
Método de • Categorías reusadas
estimación
PROBE
Estimar el Estimar otros
tamaño del tamaños de
programa los elementos
En esta etapa del proceso se puede recopilar información de proyectos anteriores, organizarla,
estructurarla y clasificarla, construir meta-modelos, documentar experiencias y hacer análisis de
proyectos anteriores referentes o históricos de proyectos de desarrollo de software personal.
Depende de la complejidad, pero para la mayoría de los proyectos el tiempo estimado para esta
fase debe tomar aproximadamente media hora. En esta fase son importantes 3 actividades
principalmente: capturar los requerimientos (preocupaciones y necesidades), definir los productos
(cuáles son las características de lo que voy a realizar, requerimientos funcionales y no funcionales) y
finalmente realizar un preámbulo de la estimación, estimación analógica o por criterio de experto del
tamaño de lo que se planea construir.
POLITÉCNICO GRANCOLOMBIANO 4
2.3. Identificar y cuantificar el tamaño de los proxys
Para poder entender mejor de qué se trata el proceso de identificación y cuantificación de proxys, se
definen 3 pasos que se abordarán a través de la siguiente analogía.
Ejemplo: Piense que usted está en pleno proceso de elaboración de una casa de desarrollo de software;
para esto necesita estimar el tiempo que le tomaría realizar el montaje de las oficinas donde entrará a
operar los próximos meses.
Lo primero que tiene que hacer es identificar los proxys o partes y clasificarlos según su tamaño; en
este caso no nos interesa cuantificarlos sino que podemos referirnos a ellos como grande, mediano o
pequeño; la idea es usar lenguaje natural. De la misma manera, se recopilan los requerimientos con el
cliente al que le realizaremos el software.
El segundo paso será asignar valores de tamaño a cada una de las partes; esto se debe realizar a
partir de los datos históricos. En el caso del software el tamaño puede estar dado por líneas de código
(LOC) que se obtienen de datos personales, para el ejemplo o analogía se usan metros.
POLITÉCNICO GRANCOLOMBIANO 5
Cómo mejorar...
De manera recurrente, reclasifique los proxys en sus categorías y calcule
el valor medio retirando los valores por fuera de la muestra representativa,
no por sospecha, sino usando técnicas matemáticas o formales.
Finalmente, podemos consolidar la tabla de estimación a partir de los datos cualitativos, cuantitativos
y de los históricos. Es importante mencionar que los referentes históricos corresponden a un
promedio o a una evaluación estadística.
POLITÉCNICO GRANCOLOMBIANO 6
Tabla 3. Identificar y cuantificar el tamaño de los proxys
1 Oficina Grande 8 0% 8
2 Oficina Mediana 4 0% 8
1 Oficina Pequeña 2 0% 2
1 Baños Grande 4 0% 4
2 Baños Pequeño 2 0% 4
Cubículo de
8 Pequeños 0,5 0% 4
trabajo
Zona común
1 1 grande 12 0% 12
de descanso
1 Cafetería 1 Pequeña 2 0% 2
TOTAL: 56
POLITÉCNICO GRANCOLOMBIANO 7
2.4. Estimar otros tamaños de los elementos
Un viejo refrán anglosajón, quizás de origen alemán, dice: “El diablo está en los detalles”. En el
contexto de la ingeniería de requerimientos esta frase quiere decir que si exploramos un poco más el
código o los requerimientos vamos a encontrar una serie de características que nunca contemplamos
y que pueden cambiar nuestra estimación. Esto mismo explica MacGregor (2001) en su artículo
Decomposition for Judgmental Forecasting and Estimation; lo que asegura esta frase y estudio es que a
mayor detalle menor error.
Exhibición 2
EXTREMO
POLITÉCNICO GRANCOLOMBIANO 8
En la tabla 4 se evidencia que las razones de error son proporcionales al nivel de abstracción. En otras
palabras, el porcentaje de error que se puede alcanzar en un nivel de abstracción elevado es mayor que la
suma o producto del porcentaje de error de la estimación a bajo nivel o con alto grado de detalle.
En síntesis, se debe tratar de buscar mayor detalle en las estimaciones y la acertada caracterización de
los proxys, claro está, sin llegar al extremo de afectar los tiempos normales de planeación o del trabajo
de estimación. Recordar que no se está buscando predecir el valor, solamente estimarlo.
Después de identificar y cuantificar el tamaño de los proxys (2.3) y de adicionar otros tamaños a
los proxys específicos, a manera de resumen, utilice todas las clases de las partes, “todos los tipos de
codificación” y tamaños “LOC” asociados, para determinar el tamaño del programa. Además, tenga en
cuenta las líneas añadidas, reusadas y borradas, y los proxys completos añadidos, reusados y borrados.
El tamaño estimado total E es igual a las adiciones a la base más los poxys añadidos (no reusados) y
líneas modificadas E= BA + PA + M = 407 LOC.
POLITÉCNICO GRANCOLOMBIANO 9
2.6. Estimar los recursos
Para calcular el estimado de recursos temporales basta con establecer la ecuación de la recta que
se ajuste mejor a los datos históricos; por lo general, esto puede realizarse a través de una regresión
lineal. En el caso del método PROBE existen diferentes alternativas o formas (ABCD), que
dependen de la robustez de los datos históricos. Estas formas son variaciones al método de acuerdo
con las características de los valores históricos y serán tratadas en próximas lecturas.
El intervalo de predicción puede ser ajustado según el margen de error aceptado para las
estimaciones, en otras palabras, qué tanto porcentaje de acierto se tiene. En el caso del desarrollo de
software un intervalo de predicción aceptado es del 90 %, 95 % y 99 %.
2.7.1. Del tamaño:
Hace referencia al intervalo en que estará la predicción del número de líneas de código. Por ejemplo:
“Puedo predecir el tamaño de mi software el 90 % de las veces”.
2.7.2. De los recursos:
Hace referencia al intervalo en que estará la predicción del tiempo necesario para codificar el número
de líneas de código. Por ejemplo: “Puedo predecir el tiempo que tardaré en codificar 100 líneas de
código el 95 % de las veces”.
Este es el último paso del método PROBE, quizás uno de los análisis más importantes debido a que
arroja toda la información sobre la predicción, es decir, se determina a partir de los históricos que:
sobre datos muy dispersos tendrá un rango más amplio que sobre los datos agrupados estrechamente.
Este es el análisis del intervalo de confianza o nivel de confianza; la forma de calcularlo se presenta
más adelante.
2.8.1. Del tamaño:
Hace referencia al estimado del tamaño del software en líneas de código con un margen de error
específico. Ejemplo: “El tamaño de mi software estará entre X1 y X2 LOC con un intervalo del
predicción de +/-15 % y con un nivel de confianza del 90 %. Con éxito el 90 % de las veces.
POLITÉCNICO GRANCOLOMBIANO 10
2.8.2. De los recursos:
Hace referencia al rango aceptado del tiempo necesario para codificar el número de líneas de código.
Ejemplo: “Tardaré en codificar 100 líneas de código entre 20 a 30 horas”, con un intervalo del
predicción de +/-10 % y con un nivel de confianza del 90 %. Con éxito el 90 % de las veces.
El intervalo de confianza no es el margen de error del intervalo ni el margen de acierto de este. Para
encontrar los límites superior e inferior del intervalo de confianza se suma y resta el margen de error a
la media (al estimado).
El intervalo de confianza determina el valor medio que toma el valor desconocido para una x dada,
mientas que el intervalo de predicción reporta el rango de valores desconocidos, para un valor
particular de X. La probabilidad de éxito en la estimación se representa con 1 - α y se denomina nivel
de confianza (esta información se usará más adelante).
Ejemplo: Puedo tener una probabilidad de acierto del 100 %, lo cual quiere decir que todas las veces
sabré cuál es el resultado. Es diferente a: “conozco el intervalo en el que caerá la muestra con un nivel
de confianza del 100 %”, lo cual quiere decir que es imposible que el valor caiga fuera del rango. Otro
ejemplo, “tener una probabilidad de acierto del 50 % quiere decir que la mitad de las veces puedo
predecir el resultado”.
POLITÉCNICO GRANCOLOMBIANO 11
5. ¿Cómo calcular el Intervalo de predicción?
Esta es la muestra poblacional; en el caso del método PROBE, se toman los valores históricos que se
tengan hasta el momento. Para el ejemplo se asume que se cuenta con 15 datos o proxys.
Para calcular la media (o promedio) de los datos de la muestra se suman todos los registros de las
líneas de código y se divide en el número de registros (20 datos), es decir, el número de proxys. Esto
da el valor del tamaño promedio (82 LOC). La fórmula de la media o valor promedio es:
Para calcular la desviación estándar de la muestra se calcula el promedio o la media de los datos.
Luego, se calcula la varianza de los datos o el promedio al cuadrado de las diferencias con respecto al
valor medio. A ese número se le calcula la raíz cuadrada:
POLITÉCNICO GRANCOLOMBIANO 12
5.4. Seleccionar el nivel de confianza y calcular el margen de error
En el caso del desarrollo de software un intervalo de confianza o nivel de confianza (α) aceptado es
del 90 %, 95 % y 99 %.
Para calcular el margen de error se utiliza la ecuación 3, el procedimiento es multiplicar el valor crítico
(Paso 1) por el error estándar (Paso 2).
Paso 1: Para hallar el valor crítico, en este caso se asume que el nivel de confianza o la
probabilidad de éxito en la estimación son de 95 %.
Se transforma el porcentaje a un número decimal, esto es, 0,95 y se resta 1 (1 – 0,095) para
finalmente dividirlo entre 2 para un total: 0,025.
Se busca en la tabla 6, que muestra los valores de la distribución normal z, el valor que corresponde a
0,025 (esta tabla es de fácil acceso a través de la web).
Desviación
normal x 0.00 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09
0.0 0.5000 0.4960 0.4920 0.4880 0.4840 0.4801 0.4761 0.4721 0.4681 0.4641
0.1 0.4602 0.4562 0.4522 0.4483 0.4443 0.4404 0.4364 0.4325 0.4286 0.4247
0.2 0.4207 0.4168 0.4129 0.4090 0.4052 0.4013 0.3974 0.3936 0.3897 0.3859
0.3 0.3821 0.3783 0.3745 0.3707 0.3669 0.3632 0.3594 0.3557 0.3520 0.3483
0.4 0.3446 0.3409 0.3372 0.3336 0.3300 0.3264 0.3228 0.3192 0.3156 0.3121
0.5 0.3085 0.3050 0.3015 0.2981 0.2946 0.2912 0.2877 0.2843 0.2810 0.2776
0.6 0.2743 0.2709 0.2676 0.2643 0.2611 0.2578 0.2546 0.2514 0.2483 0.2451
0.7 0.2420 0.2389 0.2358 0.2327 0.2296 0.2266 0.2236 0.2206 0.2177 0.2148
0.8 0.2119 0.2090 0.2061 0.2033 0.2005 0.1977 0.1949 0.1922 0.1894 0.1867
0.9 0.1841 0.1814 0.1788 0.1762 0.1736 0.1711 0.1685 0.1660 0.1635 0.1611
1.0 0.1587 0.1562 0.1539 0.1515 0.1492 0.1469 0.1446 0.1423 0.1401 0.1379
1.1 0.1357 0.1335 0.1314 0.1292 0.1271 0.1251 0.1230 0.1210 0.1190 0.1170
1.2 0.1151 0.1131 0.1112 0.1093 0.1075 0.1056 0.1038 0.1020 0.1003 0.0985
1.3 0.0968 0.0951 0.0934 0.0918 0.0901 0.0885 0.0869 0.0853 0.0838 0.0823
1.4 0.0808 0.0793 0.0778 0.0764 0.0749 0.0735 0.0721 0.0708 0.0694 0.0681
1.5 0.0668 0.0655 0.0643 0.0630 0.0618 0.0606 0.0594 0.0582 0.0571 0.0559
POLITÉCNICO GRANCOLOMBIANO 13
Desviación
normal x 0.00 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09
1.5 0.0668 0.0655 0.0643 0.0630 0.0618 0.0606 0.0594 0.0582 0.0571 0.0559
1.6 0.0548 0.0537 0.0526 0.0516 0.0505 0.0495 0.0485 0.0475 0.0465 0.0455
1.7 0.0446 0.0436 0.0427 0.0418 0.0409 0.0401 0.0392 0.0384 0.0375 0.0367
1.8 0.0359 0.0351 0.0344 0.0336 0.0329 0.0322 0.0314 0.0307 0.0301 0.0294
1.9 0.0287 0.0281 0.0274 0.0268 0.0262 0.0256 0.0250 0.0244 0.0239 0.0233
2.0 0.0228 0.0222 0.0217 0.0212 0.0207 0.0202 0.0197 0.0192 0.0188 0.0183
2.1 0.0179 0.0174 0.0170 0.0166 0.0162 0.0158 0.0154 0.0150 0.0146 0.0143
2.2 0.0139 0.0136 0.0132 0.0129 0.0125 0.0122 0.0119 0.0116 0.0113 0.0110
2.3 0.0107 0.0104 0.0102 0.0099 0.0096 0.0094 0.0091 0.0089 0.0087 0.0084
2.4 0.0082 0.0080 0.0078 0.0075 0.0073 0.0071 0.0069 0.0068 0.0066 0.0064
2.5 0.0062 0.0060 0.0059 0.0057 0.0055 0.0054 0.0052 0.0051 0.0049 0.0048
2.6 0.0047 0.0045 0.0044 0.0043 0.0041 0.0040 0.0039 0.0038 0.0037 0.0036
2.7 0.0035 0.0034 0.0033 0.0032 0.0031 0.0022 0.0029 0.0028 0.0020 0.0026
2.8 0.0026 0.0025 0.0024 0.0023 0.0023 0.0030 0.0021 0.0021 0.0014 0.0019
2.9 0.0019 0.0018 0.0018 0.0017 0.0016 0.0016 0.0015 0.0015 0.0014 0.0014
3.0 0.0013 0.0013 0.0013 0.0012 0.0012 0.0011 0.0011 0.0011 0.0010 0.0010
Para el caso del ejercicio, el punto común es la columna de 0,6 de la fila 1,9; estos dos valores se
suman por lo que el valor de distribución es de 1.96.
Paso 2: Para calcular el error estándar se toma la desviación estándar y se divide entre la raíz cuadrada
del tamaño de la muestra, 20. Se obtiene el valor.
Finalmente, para obtener el margen de error: se multiplica 1,96 por (el valor crítico por el error estándar).
Para expresar el intervalo de confianza (ver ecuación 4), simplemente se toma el promedio o la media
(82), y se añade ± y el margen de error.
También se puede expresar mediante los límites superior e inferior del intervalo de confianza,
sumando y restando el margen de error a la media.
POLITÉCNICO GRANCOLOMBIANO 14
Entonces, el límite inferior es 82 – 0,86 o 81,14 LOC, y el límite superior es 82 + LOC
En síntesis...
Clase de la parte: una nominación que se le da a la parte del software o
proxy, cuya estructura y código se repite en la mayoría de desarrollos
con ligeras modificaciones. La definición debe ser específica, simple,
cualificable y cuantificable. Dentro de las clasificaciones más genéricas
existen: cálculos, consulta de datos, entradas y salidas de información,
funciones lógicas, configuración, formularios, etc.
Número de ítems: se refiere a la cantidad de veces que se encuentra la
clase de la parte o proxy dentro de un programa.
Tamaño relativo: es una medida cualitativa del tamaño del proxy, de
acuerdo con la clasificación seleccionada, por ejemplo: puede ser desde
muy pequeño, pequeño, … y hasta muy grande.
Categorías de reúso: es posible que ya contemos con parte del código,
por lo tanto debemos registrar qué tanto se utiliza una parte de este para
que se considere dentro de estas clasificaciones. Es importante que sea
un código sin modificar.
POLITÉCNICO GRANCOLOMBIANO 15
Referencias
Anderson, S. W. (2008). Estadística para administración y economía. CENGAGE Learning.
Hughes, B. y Cotterell, M. (2006). Software Project Management. Berkshire, U. K.: McGraw Hill
Higher Education.
Humphrey, W. S. (2002). Personal Software Process (PSP). En: J. Marciniak. (Ed.). Encyclopedia Of
Software Engineering, Volume 2 (948-961). Wiley.
MacGregor, D. G. (2001). Decomposition for Judgmental Forecasting and Estimation. En: J. S. Armstrong
(Ed.) Principles of Forecasting. (107-123). New York: Springer Science, Business Media.
Ministerio del Interior. (01 de 05 de 2017). Dirección Nacional de Derechos de Autor, unidad administrativa
especial. Recuperado http://derechodeautor.gov.co/software
PMI. (2004). A Guide to the Project Management Body of Knowledge (PMBOK® Guide)—Fifth Edition.
Newtown Square: Project Management Institute.
PSP(SM) / TSP(SM). (09 de 06 de 2017). The Software Process Dashboard Initiative The Software Process
Dashboard Initiative. Recuperado de http://www.processdash.com/download
Software Engineering Institute (SEI). (01 de 05 de 2017). Software Engineering Institute. Recuperado de
http://www.sei.cmu.edu/about/
Weaver, P. (21 de 06 de 2012). Henry L Gantt. A retrospective view of his work. Mosaic Project Services Pty
Ltd. Recuperado de https://mosaicprojects.com.au/Resources_Papers_158.html
POLITÉCNICO GRANCOLOMBIANO 16
INFORMACIÓN TÉCNICA
POLITÉCNICO GRANCOLOMBIANO 17