Una de las claves de la calidad de un sistema, es el equilibrio entre tres factores
principales: Tiempo, Recursos y Alcance. Juntos forman una especie de taburete de
tres patas, sobre el cual esta nuestro desarrollo y donde si una de ellas esta desproporcionada,
puede llevarnos al fracaso en la construcción de nuestro software.
El tiempo
El tiempo posiblemente sea el factor más difícil de manejar, es más, el tiempo en
el desarrollo de software se curva en contra de toda ley de la física, y así dos
meses se pueden convertir en seis y seis meses de trabajo deben caben en dos.
Es más posible que te toque la lotería, el día de tu cumpleaños, un 29 de febrero,
sin comprar boleto, a estimar correctamente un proyecto.
Este factor hace referencia al espacio de tiempo que tenemos disponible para sacar
un producto al mercado en el momento oportuno para que nos genere beneficios. Por
ejemplo, el tema de la facturación electrónica en México, hace años era un bien
escaso y la gente que le entro pronto a este mercado tuvo bastante éxito, pero en
estos momento el mercado está saturado de proveedores de factura electrónica, y
con una dura competencia, con lo que sería bastante difícil entrarle de cero a vender
un nuevo producto de facturación.
Debido a que lo importante, como decimos es llegar en el momento justo, generalmente
tiempo es el factor que más escasea.
- Cuando tenemos poco tiempo
Se da generalmente un uso excesivo de los recursos, esto es, los involucrados en
el sistema se ven obligados a hacer horas extras (con lo que se fabrica tiempo,
se convertirán jornadas de 8 horas en jornadas de 10, 12 o más horas, aquí es donde
caben seis meses de trabajo en dos), lo que principalmente provoca desanimo, cansancio
en el equipo y software de baja calidad con multitud de errores.
- Cuando tenemos demasiado tiempo
Se pierde el objetivo del sistema, y el interés en el mismo, igualmente el equipo
se acaba sintiendo alejado del mismo proyecto (incluyendo al cliente), al no ver
una producción real de su trabajo, y la meta queda diluida. Se baja la calidad del
sistema al no tener un resultado real y tangible. Igualmente puede ser que el producto
pierda su significado al no haber salido en el tiempo adecuado
- ¿Cuál es la medida correcta?
Va ligado con el alcance, hay que tener tiempo reducidos en los que se desarrolle
una iteración (entrega) que le haga sentido al cliente (o usuario), pero que sea
los suficiente amplio para no caer en las horas extras innecesarias.
La primera entrega siempre debe ser la más larga, porque si bien no incluye toda
la funcionalidad, es necesario que ya está sostenida sobre una arquitectura firme
y concisa para todo el proyecto (sobre todo por se va a aplicar la regla "Va a cambiar",
y si no se tiene en cuanta nos afectara a posterior).
Los recursos
En los recursos, se hace referencia a elementos tales como maquinas de cómputo, licencia de
software, equipos especiales, dinero, y también a las personas "recursos humamos".
- Cuando tenemos pocos recursos
Si tenemos pocos recursos "físicos", como equipos hardware (o elementos de software
que se deben compartir como bases de datos), puede ser que los participantes del
proyecto compitan por ellos, con lo que más que un elemento de cooperación se convierte
en uno de contienda, generando roces y malestar en general.
Si se tiene menos personas de las necesarias, se produce una sobrecarga de trabajo
de dichas personas, es decir, hacen horas extras. Al final por el cansancio es normal
tener descuidos y fallos, y estos a su vez provocan retrabajos, (y más horas extras).
Si no se aplicaran horas extras, no queda de otra que reducir el alcance (si un
es una "pata" es otra).
- Cuando tenemos demasiados recursos
Que al final tenemos recursos que no hacen nada, y por lo tanto tenemos perdidas
de dinero (o lo gastamos innecesariamente)
¿Puede llegar un punto donde haya demasiados recursos? Si, generalmente hay personas
claves en los proyectos (como los lideres), que no pueden gestionar apropiadamente
un número determinado de recursos o personas si este es excesivo, con lo que se
provoca un descontrol en la gestión del proyecto , o se crean estructuras jerárquicas
(en forma de árbol), en las que se depende de otras persona, que delegan trabajo
a su vez en otras, al final se pierde facilidades de comunicación, y se generan
mecanismos demasiado burocráticos para controlar el proyecto (lo que influye principalmente
en el tiempo y en conocer realmente las necesidades del cliente).
- ¿Cuál es la medida exacta?
Lo recursos para un proyecto deben llegar en el momento adecuado, si llegan demasiado
pronto, es posible que estén en desuso y si llegan demasiado tarde, es posible que
lleguen a ser inútiles (o que el proyecto ya se haya cancelado por falta de estos).
Los recursos deben llegar en el momento que puedan ser usados, y liberarse cuando
ya no son necesarios.
El alcance
El alcance representa la cantidad de funcionalidad que se va a liberar.
- Cuando nuestro alcance es demasiado pequeño
Generalmente el sistema no sirve para aquello que el cliente quiera que sirva. Este
nunca estará satisfecho con el sistema y le generada una sensación de descontento
(Por no hacer el sistema lo que él quiere que haga).
- Cuando nuestro alcance es demasiado grande
Cuando esto ocurre generalmente se crea una proyecto inacabable, en el que ni el
cliente, ni el equipo de desarrollo ven un producto tangible, y es muy probablemente
que se abandone el proyecto.
- ¿Cuál es la medida exacta?
Entregas continúas de corto alcance, en el que se libere una funcionalidad nueva
en cada iteración, de forma que los retos y las metas sean alcanzables a la vez
que interesantes para todos los implicados en el desarrollo del sistema.
No hay comentarios:
Publicar un comentario