Hace una semanas se me presento un curioso desafío, debía demostrar que el desarrollo
ágil de software es beneficioso, pero desde el punto de vista de la empresa que
va a usar los sistemas construidos y no desde el punto de vista del desarrollo o
de la metodología empleada.
La explicación está basada en empresas que tienen su propio equipo de desarrollo
de software, es decir empresas que tiene un negocio en particular, y un departamento
de desarrollo que cree el software que sustente ese negocio.
Este escenario es complicado porque no se aprecia directamente el costo y valor del
software. esto es debido a que el gasto para el desarrollo de software es
realmente la nomina de los empleados del departamento y no directoramente el software
en sí. Por otro lado las ganancias son atribuidas al progreso del negocio, y no
a la implementación del software.
Siendo francos siempre es complicado dar el valor correcto al software, pero hay
tener en cuenta que el software "siempre" tiene un costo. Las personas que
crean software dedica tiempo a él, tiempo que vale dinero (Si ese tiempo no les
reporta una ganancia, no solo "no" están ganando dinero, sino que están perdiendo
el tiempo en el podrían estar haciendo otra actividad que les genera un beneficio).
Esto aplica para todo tipo de software e incluso el software libre o gratuito, el
costo del software existe, aunque al final se supla de forma indirecta, ya sea mediante
donativos, prestación de servicios cobrados o la obtención de una posición en el
mercado.
Tenemos dos grandes versiones del desarrollo del software, de un lado las metodologías
pesadas y del otro las metodologías agiles.
Metodologías Pesadas
Se divide el sistema en fases más o menos secuenciales y de larga duración como
análisis, definición, construcción, pruebas, y despliegue.
Hasta que no se llevado a cabo todo el ciclo no se entrega el producto al cliente
además solo hay contacto con él en la fases de análisis y posiblemente en la diseño.
Se documenta cada paso de forma más o menos completa.
Metodologías Ágiles.
El contacto con el cliente es continuo, cada poco tiempo se entrega un software
que agrega un valor al sistema, que en principio, se entrega incompleto pero funcional.
Las constantes entregas y pruebas agregan comprensión al problema y la verdadera
necesidad del cliente. Cada iteración está más cerca del resultado final.
Es importante señalar que no hay una solución correcta a cada problema, sino que
hay elegir la metodología mas correcta para cada tipo de circunstancia.
Ejemplo de comparación de proyecto Ágil / Pesado
Tengamos un supuesto de un proyecto de las siguientes características:
Parámetros del sistema
|
Valor
|
Comentarios
|
Número de personas asignadas
|
6
|
Personas involucras en el proyecto
|
Costo persona/mes
|
$ 2,000.00
|
Costo mensual por cada persona.
|
Duración (meses)
|
5
|
Duración de proyecto.
|
Funcionalidad a entregar
|
200
|
Cada unidad representa una funcionalidad identificada que le da valor al proyecto.
|
Ingreso mensual esperado
|
$ 10,000.00
|
Cantidad de dinero mensual que espero ingresar después que estén en producción el
sistema.
|
Parámetros Calculados
|
Valor
|
Comentarios
|
Costo persona/Día
|
$ 66.67
|
El costo de una persona, por día
|
Costo total persona/Día
|
$ 400.00
|
El costo de todas las personas por día
|
Costo total persona/Mes
|
$ 12,000.00
|
El costo de todas las personas por mes
|
Costo total proyecto
|
$ 60,000.00
|
El costo total de proyecto
|
Ingreso mensual esperado / Funcionalidad
|
$ 50.00
|
Lo que espero ingresar por cada característica liberada
|
En resumen el objetivo es la construcción de un sistema, con seis personas asignadas,
durante cinco meses, con un costo total para la empresa de $ 60,000.00.
Flujo de dinero con metodología pesada
Aquí no hay duda en como fluye el dinero; todo el proyecto es gasto (los seis meses)
hasta la finalización, en la que comienza a generar ganancia mensual ($ 10,000.00).
Metodología Pesada
|
||||
Fecha
|
Funcionalidad
|
Egreso
|
Ingreso
|
Beneficio
|
01/01/2018
|
0
|
0
|
0
|
0
|
01/02/2018
|
0
|
$ 12,000
|
$ -
|
-$ 12,000
|
01/03/2018
|
0
|
$ 12,000
|
$ -
|
-$ 12,000
|
01/04/2018
|
0
|
$ 12,000
|
$ -
|
-$ 12,000
|
01/05/2018
|
0
|
$ 12,000
|
$ -
|
-$ 12,000
|
01/06/2018
|
200
|
$ 12,000
|
$ 10,000
|
-$ 2,000
|
Totales
|
$ 60,000
|
$ 10,000
|
-$ 50,000
|
Flujo de dinero con metodología ágil
Aquí es mas difícil de analizar el flujo de dinero, pero supongamos que al ser una
metodología ágil, se van entregando funcionalidad a nuestro cliente, de manera que
se comienza a crear beneficio desde el primer mes, con lo que parte del gasto de
la nomina de los codificadores es absorbido por el dinero ingresado por la aplicación
(la cual no está completa al 100%)
Metodología Ágil
|
||||
Fecha
|
Funcionalidad
|
Egreso
|
Ingreso
|
Beneficio
|
01/01/2018
|
0
|
0
|
0
|
0
|
01/02/2018
|
67
|
$ 12,000
|
$ 3,333
|
-$ 8,667
|
01/03/2018
|
100
|
$ 12,000
|
$ 5,000
|
-$ 7,000
|
01/04/2018
|
133
|
$ 12,000
|
$ 6,667
|
-$ 5,333
|
01/05/2018
|
167
|
$ 12,000
|
$ 8,333
|
-$ 3,667
|
01/06/2018
|
200
|
$ 12,000
|
$ 10,000
|
-$ 2,000
|
Totales
|
$ 60,000
|
$ 33,333
|
-$ 26,667
|
La más evidente es que con la metodología ágil, al final del proyecto este nos ha
constado $ 26,667, en lugar de los $ 60, 000, mientras que en la metodología pesada,
no tenemos ningún benéfico hasta que el programa está completamente funcional.
Aunque el análisis mostrado aquí es puramente económico, y muy simplista en cuenta
a su linealidad, al margen del tema económico, las ventajas de las metodologías
agiles, están mas enfocadas en aumentar la calidad del software, y disminuir los
tiempos de entrega, motivo por el cual habría de hecho una mejora económica indirecta
(más que por el hecho de poder usar el software productivamente en las primeras
etapas)
El archivo usado para los cálculos de los montos, se encuentra en el siguiente enlace:
No hay comentarios:
Publicar un comentario