Vous êtes sur la page 1sur 8

Copyright 2009

Cmo calcular el ROI de un framework de


desarrollo?




Resumen
La construccin o incorporacin de un framework de desarrollo de aplicaciones a nuestros proyectos requiere realizar
una inversin en esfuerzo y recursos, tanto para su desarrollo o adquisicin, como para su incorporacin al proceso.

Lo primero que debemos preguntarnos, como en cualquier otra situacin donde se requiere realizar una inversin, es
cul es el retorno de la inversin (ROI) que vamos a obtener.

Si bien, al menos intuitivamente, se advierte que la utilizacin de un framework debera redundar en una mayor
productividad y calidad en el desarrollo, es necesario analizar en forma precisa el ROI de un framework en nuestros
proyectos para tomar una decisin informada. Como cada proyecto es nico e irrepetible, no sirve tener un valor que
se pretenda aplicar a todos los proyectos, precisamos contar con algn mtodo para estimar cul es el ROI de un
framework de desarrollo para nuestros proyectos concretos.

En este artculo analizaremos primero un enfoque terico para entender el ROI potencial de un framework de
desarrollo en un proyecto, para luego describir otro enfoque ms prctico y contrastable con datos reales. En ambos
casos con resultados donde se observan ahorros potenciales que van desde el 10% al 25% del costo de un
proyecto.

Finalmente presentaremos los resultados concretos al aplicar el anlisis a Baufest Productivity Framework, nuestro
framework probado para el desarrollo de aplicaciones .NET de misin crtica.


Introduccin
A diferencia de lo que sera comenzar un desarrollo iniciado de cero, la utilizacin de un framework de desarrollo nos
permite comenzar nuestro proyecto sobre una slida arquitectura de aplicacin definida, implementada y probada. Este
hecho impacta a priori sobre tres factores importantes que influyen en el resultado de un proyecto:
Resuelve los riesgos tecnolgicos y la complejidad de la arquitectura.
Disminuye el nivel de conocimiento, experiencia y capacidad requerido para las personas del equipo de
proyecto.
Reduce el time to market acelerando la salida a produccin.

Pero cmo impactan exactamente estos factores en los resultados y el costo total de un proyecto de desarrollo?

Los costos de un proyecto de desarrollo estn dados fundamentalmente por el costo de la mano de obra o cantidad
de esfuerzo requerido para llevar adelante el proyecto. Si queremos analizar el ROI desde una perspectiva del costo,
necesitamos comprender cul es el impacto que tiene un framework en el esfuerzo total del proyecto. Para esto,
debemos analizar cul es el efecto que tienen los factores afectados por el framework en el resultado del proyecto.

Desde una perspectiva del valor generado, el menor tiempo para la salida a produccin con una aplicacin slida y de
buena calidad, o bien permite llegar al mercado antes para generar nuevos ingresos a la organizacin, o permite que
se ahorre antes reduciendo costos al hacer ms eficiente algn proceso operativo.



Copyright 2009

Un enfoque terico (el ROI potencial)
COCOMO II es uno de los proyectos que mejor trabajo hizo en identificar y estudiar estadsticamente los efectos de los
distintos factores (cost-drivers) que influyen en el resultado de un proyecto basndose en una completa base de datos
de proyectos. Como resultado, COCOMO II plantea un modelo de estimacin cuya ecuacin de esfuerzo se expresa
en funcin de esos factores:

( ) ( )

=
i
Escala FactoresDe
iplicador FactorMult Tamao A Esfuerzo


Esfuerzo = Cantidad de esfuerzo en horas hombre o meses hombre
Tamao = Tamao/Cantidad de funcionalidad del proyecto medido en puntos de funcin o KSLOCs
FactoresDeEscala = Factores del proyecto que influyen exponencialmente en el esfuerzo final
FactorMultiplicador
i
= Factor del proyecto que influye linealmente en el esfuerzo final
A = constante de productividad
Ecuacin 1 - Ecuacin de estimacin de esfuerzo COCOMO II

En este modelo, alguno de los factores identificados tienen un efecto exponencial (factores de escala) y otros un efecto
lineal (factores multiplicativos) sobre el esfuerzo final del proyecto. Cada factor de la ecuacin se califica segn las
caractersticas del proyecto, en un rango cualitativo que va desde Muy Bajo, pasando en el medio por Nominal,
hasta Muy Alto o Extra Alto.

Cuando una caracterstica del proyecto es la normal o la tpica, el factor se califica como Nominal. Cuando una
caracterstica vara de lo normal, el factor se califica hacia Bajo o hacia Alto en funcin de criterios definidos para
cada factor. Finalmente, cada calificacin se traduce en un valor numrico que representa el impacto cuantitativo en el
proyecto y que es el que se utiliza en la ecuacin. El modelo define 5 factores de escala y 17 factores multiplicativos.

Dentro de este conjunto de factores que identifica COCOMO, podemos encontrar aquellos que estn relacionados
directamente con los beneficios de la utilizacin de un framework:

Cdigo Nombre Tipo Racional del impacto positivo
RESL
Arquitectura y
resolucin de
riesgos
Factor de
Escala
Usar un framework incorpora al proyecto una arquitectura madura, ya
implementada y probada, eliminando los riesgos.
PLEX
Experiencia en la
plataforma
Factor
Multiplicador
Un framework incorpora en el proyecto el conocimiento con el que fue
construido y que trae consigo sobre la plataforma, elevando la
experiencia sobre la que nos apoyamos
LTEX
Experiencia en el
lenguaje y las
herramientas
Factor
Multiplicador
Un framework incorpora al proyecto el conocimiento con el que fue
construido y que trae consigo sobre el lenguaje y las herramientas,
elevando la experiencia sobre la que nos apoyamos

Caracterizacin del Factor Muy Bajo Bajo Nominal Alto Muy Alto Extra Alto
RESL Rating del nivel de
resolucin de riesgos de
arquitectura

Valor
Little
(20%)


7,07
Some
(40%)


5,65
Often
(60%)


4,24
Generally
(75%)


2,83
Mostly
(90%)


1,41
Full
(100%)


0,00
PLEX Rating del nivel de
experiencia en la plataforma y
tecnologa de desarrollo

Valor
<= 2
meses


1,19
6 meses



1,09
1 ao



1,00
3 aos



0,91
6 aos



0,85




n/a
LTEX Rating del nivel de
experiencia en el lenguaje y las
herramientas

Valor
<= 2
meses


1,20
6 meses



1,09
1 ao



1,00
3 aos



0,91
6 aos



0,84




n/a

Tabla 1 - Factores de COCOMO II afectados por un framework de desarrollo


Copyright 2009

Si mantenemos fijos todos los otros factores en sus valores nominales, es decir, en sus valores tpicos o normales,
y analizamos cmo vara el resultado cuando se modifican los 3 factores afectados, podremos observar cul sera
el impacto de un framework en el costo total del proyecto fundamentndonos en la slida base estadstica de
proyectos de COCOMO II.

Con esta idea en mente, tomamos 3 escenarios de proyecto para analizar, con la intencin de representar un caso
base, un caso medio y un mejor caso de proyectos que utilizan framework. De un escenario a otro, se pondera en
forma creciente el impacto positivo en los factores de proyecto mencionados, partiendo desde un escenario de
proyecto sin framework (caso base), donde no hay ningn impacto positivo porque no se utiliza un framework, hasta
un escenario en donde los 3 factores mencionados son impactados en forma positiva y considerable por la
utilizacin de un framework (mejor caso):

Caracterizacin del Factor
Muy
Bajo
Bajo Nominal Alto Muy Alto
Extra
Alto
RESL Ratingdel nivel de resolucin
de riesgos de arquitectura

Valor
Little
(20%)

7,07
Some
(40%)

5,65
Often
(60%)

4,24
Generall y
(75%)

2,83
Mostly
(90%)

1,41
Full
(100%)

0,00
PLEX Rating del nivel de experiencia
en la plataforma y tecnologa de desarrollo

Valor
<= 2
meses

1,19
6 meses


1,09
1 ao


1,00
3 aos


0,91
6 aos


0,85



n/a
LTEX Rating del nivel de experiencia
en el lenguaje y las herramientas

Valor
<= 2
meses

1,20
6 meses


1,09
1 ao


1,00
3 aos


0,91
6 aos


0,84



n/a

Caracterizacin del Factor
Muy
Bajo
Bajo Nominal Alto Muy Alto
Extra
Alto
RESL Rating del nivel de resolucin
de riesgos de arquitectura

Valor
Little
(20%)

7,07
Some
(40%)

5,65
Often
(60%)

4,24
Generall y
(75%)

2,83
Mostly
(90%)

1,41
Full
(100%)

0,00
PLEX Rating del nivel de experiencia
en la plataforma y tecnologa de desarrollo

Valor
<= 2
meses

1,19
6 meses


1,09
1 ao


1,00
3 aos


0,91
6 aos


0,85



n/a
LTEX Rating del nivel de experiencia
en el lenguaje y las herramientas

Valor
<= 2
meses

1,20
6 meses


1,09
1 ao


1,00
3 aos


0,91
6 aos


0,84



n/a

Caracterizacin del Factor
Muy
Bajo
Bajo Nominal Alto Muy Alto
Extra
Alto
RESL Ratingdel nivel de resolucin
de riesgos de arquitectura

Valor
Little
(20%)

7,07
Some
(40%)

5,65
Often
(60%)

4,24
Generally
(75%)

2,83
Mostly
(90%)

1,41
Full
(100%)

0,00
PLEX Rating del nivel de experiencia
enla plataforma y tecnologa de desarrollo

Valor
<= 2
meses

1,19
6 meses


1,09
1 ao


1,00
3 aos


0,91
6 aos


0,85



n/a
LTEX Rating del nivel de experiencia
enel lenguaje y las herramientas

Valor
<= 2
meses

1,20
6 meses


1,09
1 ao


1,00
3 aos


0,91
6 aos


0,84



n/a





Utilizando la ecuacin de esfuerzo de COCOMO con estos factores para calcular el esfuerzo total de proyecto,
podemos representar el esfuerzo total asociado a cada uno de los 3 escenarios a medida que va creciendo el
tamao del proyecto y comparar los resultados. Tambin podemos visualizar en forma relativa el porcentaje (%) de
ahorro sobre el caso base asociado a cada escenario de proyecto, a medida que el tamao del proyecto aumenta.
Como unidad de medida para el tamao del proyecto, utilizaremos puntos de funcin, que en promedio tienen una
equivalencia de 55 lneas de cdigo en lenguaje C# por cada punto de funcin implementado.

Esfuerzo segn tamao del proyecto
0
50
100
150
200
250
300
0 500 1000 1500 2000 2500 3000 3500
Puntos de Funcin
E
s
f
u
e
r
z
o

(
m
e
s
e
s
-
h
o
m
b
r
e
)
Proyecto Nominal
Con framework
(+RESL)
Con framework
(+RESL +PLEX +LTEX)

Ilustracin 1 Comparacin del esfuerzo total segn tamao del proyecto (calculado con COCOMO II)

Ahorro segn tamao del proyecto
11%
14%
12%
9%
4%
13%
22%
26%
27%
28%
28%
0%
5%
10%
15%
20%
25%
30%
0 500 1000 1500 2000 2500 3000 3500
Puntos de Funci n
A
h
o
r
r
o

e
n

e
s
f
u
e
r
z
o
Con framework
(+RESL)
Con framework
(+RESL +PLEX +LTEX)

Ilustracin 2 Comparacin del ahorro en esfuerzo sobre el caso base segn tamao del proyecto (calculado con COCOMO II)

Proyecto con framework
(+RESL)
Proyecto con framework
(+RESL +PLEX +LTEX)
+
+
+
+
Proyecto nominal

Copyright 2009

El tamao de los proyectos ms comunes de hoy en da vara por lo general entre los 500 y 2000 puntos de
funcin (o entre 27 mil a 110 mil lneas de cdigo .NET). Dentro de este rango podemos observar que la
reduccin en el esfuerzo o costo de un proyecto tpico que genera un framework de desarrollo puede variar en
promedio entre un 11% y un 26% de ahorro.

Para concluir, debemos observar que todo el anlisis realizado hasta el momento est enfocado slo en la
perspectiva del costo, es decir que nicamente analiza el ahorro logrado en el proyecto para construir una
aplicacin. Sin embargo, estamos dejando de lado en este anlisis la perspectiva del valor generado a la
organizacin, que se potencia con la reduccin de costos y tiempos del proyecto, permitiendo que al acelerar la
salida a produccin de una solucin slida, se generen nuevos ingresos ms rpido y por ms tiempo, o que
se ahorre antes reduciendo costos al hacer ms eficiente algn proceso operativo.

Estos beneficios adicionales harn sin duda que el rango del 11% al 26% de ahorro en el proyecto sea solo un
piso para el retorno total de la inversin en la organizacin.



Copyright 2009

Un enfoque ms prctico
Supongamos que hacemos un experimento en donde implementamos una misma funcionalidad de aplicacin de dos
maneras distintas, una vez con framework y otra vez sin framework. Luego medimos la cantidad de lneas de cdigo
(SLOCs) requeridas en cada caso. Si la cantidad de lneas de cdigo requeridas para implementar una misma
funcionalidad con framework es menor a la cantidad requerida para implementarla sin framework, el esfuerzo de
codificacin tambin ser menor en la misma proporcin.

Sin embargo, la codificacin no es la nica actividad, a veces ni siquiera la ms importante, que se lleva a cabo en un
proyecto y que se suma al esfuerzo total. Para calcular cunto ahorro en todo el proyecto representa esta reduccin en
codificacin, es necesario saber entonces cunto porcentaje (%) del esfuerzo total representan las actividades de
codificacin en nuestros proyectos. Esta informacin podemos obtenerla de los proyectos ya realizados.

De esta manera, si tenemos el porcentaje de reduccin de lneas de cdigo que genera un framework, y el porcentaje
de esfuerzo de codificacin sobre el esfuerzo total del proyecto, podemos calcular el ahorro en el esfuerzo total (o
costo) del proyecto de la siguiente manera:

n odificacio %EsfuerzoC Framework %Reduccion erzo AhorroEsfu
tal EsfuerzoTo
dificacion EsfuerzoCo
n odificacio %EsfuerzoC
amework SLOCsSinFr
amework SLOScConFr
Framework %Reduccion
=
=
=

%
1


Ecuacin 2 - Ecuacin del ahorro de esfuerzo del proyecto por reduccin en la codificacin

Como ejemplo, supondremos que tenemos un framework que reduce la cantidad de lneas de cdigo a escribir a un
80% de lo que sera necesario escribir sin framework y utilizaremos informacin estadstica de proyectos de la industria
tomada de la base de datos del ISBSG (International Software Benchmarking Standards Group) para obtener el
porcentaje de esfuerzo de codificacin:

Esfuerzo por acti vi dad
(proyectos i n-house)
Programming
48%
QA, Testing
16%
Other 17%
Architecture
9%
Business
Analysis 3%
Project
Management
7%

Ilustracin 3 Distribucin tpica del esfuerzo por actividad en un proyecto (fuente ISBSG)

Reemplazando los valores en la cuenta:

( )
48% 20%
=
= =
10% uerzo %Ahorr oEsf
48%
20% % 80 1
n odificacio %EsfuerzoC
Framework %Reduccion


Ecuacin 3 - Ejemplo de clculo de ahorro de esfuerzo por reduccin en la codificacin


Copyright 2009

Tambin podemos calcular y representar el esfuerzo total segn el tamao del proyecto, medido en cantidad de puntos
de funcin, y comparar la cantidad de ahorro generado. Para calcular el esfuerzo requerido segn el tamao de
proyecto, necesitamos conocer la productividad (esfuerzo requerido por unidad de tamao de proyecto) de la
organizacin. Para este ejemplo tomaremos el promedio de la industria obtenido tambin de la base de datos del
ISBSG que define la mtrica Project Delivery Rate o PDR como:

cion PuntoDeFun
Horas
PDR
ncin PuntosDeFu
uerzo HorasDeEsf
PDR
stria omedioIndu
11
Pr
= =

Esfuerzo segn tamao de proyecto
0
50
100
150
200
250
300
0 500 1000 1500 2000 2500 3000 3500
Puntos de Funcin
E
s
f
u
e
r
z
o

(
m
e
s
e
s
-
h
o
m
b
r
e
)
Con framework
Sin framework

Ilustracin 4 - Comparacin del esfuerzo total segn tamao del proyecto (calculado con datos de industria - ISBSG)

Nuevamente como en el caso anterior, debemos tener en cuenta en el anlisis el valor generado para la organizacin
por acelerar la salida a produccin de una solucin que permitir obtener nuevos ingresos ms rpido y por ms
tiempo, o ahorrar antes reduciendo costos al hacer ms eficiente algn proceso operativo.

Adicionalmente, tambin es importante destacar el ahorro generado en el proyecto por la reduccin de las actividades
de arquitectura, testing y QA, que se da por el hecho de contar con un framework ya probado que incorpora una
arquitectura aplicativa lista para usar y reduce la cantidad de lneas de cdigo a testear.

Si sumamos todo esto a los beneficios que ya analizamos, podemos afirmar sin dudas que el 10% de ahorro del
ejemplo ser solo un piso en el ahorro total del proyecto y en el retorno de la inversin.

Copyright 2009

El ROI de Baufest Productivity Framework en un proyecto tipo
Aplicando el experimento planteado sobre Baufest Productivity Framework, se implement una misma funcionalidad
de aplicacin una vez con el framework y otra vez sin el framework. Luego se midi la cantidad de lneas de cdigo que
se requirieron escribir en cada caso para conocer el porcentaje (%) de reduccin de lneas de cdigo que genera
Baufest Productivity Framework.

La funcionalidad implementada, de un tamao equivalente a 56 puntos de funcin, fue basada en algunos escenarios
funcionales de un banco ficticio:
Login Logout
Consultar saldo de cuentas Consultar movimientos de cuentas
Realizar transferencia entre cuentas

La medicin de lneas de cdigo arroj que Baufest Productivity Framework redujo la cantidad de lneas de cdigo a
escribir a un 73%. Si tomamos nuevamente como base la informacin de proyectos de la industria (ISBSG) para
obtener el porcentaje de esfuerzo de codificacin, Baufest Productivity Framework supondra un ahorro en el
proyecto de un 13% solo por la reduccin en el esfuerzo de codificacin:
( )
13%
=
= =
uerzo %Ahorr oEsf
48%
27% % 73 1
n odificacio %EsfuerzoC
Framework %Reduccion


Ecuacin 4 - Ahorro de esfuerzo con Baufest Productivity Framework solo por reduccin en la codificacin

Sin embargo, Baufest Productivity Framework no es entregado como un producto suelto, sino que como parte
integral de nuestra propuesta de valor, incluimos el servicio de desarrollo de hasta 50 puntos de funcin de
funcionalidad real de aplicacin que implementamos con el framework y junto con nuestro cliente, como parte de la
transferencia de conocimiento y acompaamiento en el proyecto.

De este modo, al ahorro ya calculado en el proyecto del 13%, se suma tambin que adems el proyecto comenzar
con 50 puntos de funcin ya desarrollados y dejando una arquitectura lista.

Tomando en cuenta esto ltimo, los 50 puntos de funcin iniciales del proyecto se obtienen con esfuerzo 0
(cero). Podemos volver a calcular y representar nuevamente el esfuerzo en relacin al tamao del proyecto para
comparar el ahorro en forma absoluta. Tambin podemos visualizar en forma relativa el porcentaje (%) de ahorro de
esfuerzo en relacin al tamao del proyecto:

Esfuerzo segn tamao del proyecto
0
50
100
150
200
250
0 500 1000 1500 2000 2500 3000 3500
Puntos de Funcin
E
s
f
u
e
r
z
o

(
m
e
s
e
s
-
h
o
m
b
r
e
)
Con Baufest
Productivity
Framework
Sin framework

Ilustracin 5 - Comparacin del esfuerzo total con Baufest Productivity Framework segn tamao del proyecto


Copyright 2009

Ahorro segn tamao del proyecto
17%
18%
20%
15%
14%
0%
5%
10%
15%
20%
25%
30%
0 500 1000 1500 2000 2500 3000 3500
Puntos de funcin
A
h
o
r
r
o

e
n

e
s
f
u
e
r
z
o
Con Baufest
Productivity
Framework

Ilustracin 6 - Ahorro en esfuerzo con Baufest Productivity Framework segn tamao del proyecto

Recordando que el tamao de los proyectos ms comunes de hoy en da vara por lo general entre los 500 y 2000
puntos de funcin (o entre 27 mil a 110 mil lneas de cdigo .NET), el beneficio que genera Baufest Productivity
Framework desde el punto de vista del costo en un proyecto tpico, va desde un 15% a un 21% de ahorro.

Como en los casos anteriores, en este anlisis tambin es importante reconocer el valor ganado por la organizacin al
acelerar la salida a produccin de una solucin que permite generar nuevos ingresos ms rpido y por ms tiempo, o
que ahorra en los costos haciendo ms eficiente algn proceso operativo. Tambin el ahorro en el esfuerzo de las
actividades de arquitectura, testing y QA del proyecto por contar con un framework ya probado que incorpora una
arquitectura aplicativa lista para usar y reduce la cantidad de lneas de cdigo a testear.

Nuevamente, si sumamos todo esto a los beneficios ya analizados, el 15% al 21% de ahorro ser solo un piso para
el retorno de la inversin que brinda Baufest Productivity Framework.

Si el precio a pagar por incorporar un framework como Baufest Productivity Framework es menor al ahorro que
genera de entre el 15% al 21%, como piso en un proyecto tpico, sin duda la inversin tendr un retorno seguro.


Si quers que te ayudemos a calcular cul sera el ROI de Baufest Productivity Framework en TU
proyecto de desarrollo, pods contactarnos a productivity@baufest.com