El éxito de las estimaciones de recursos en el Software

Si terminaste una carrera relacionada al desarrollo de software, es importante que comprendas lo más pronto posible que no todo se trata de programación, no todo se trata de que tan rápido programas o si ocupas las mejores tecnologías en tu desarrollo. Siempre detrás de un gran proyecto estan los recursos que lo sostendrán, tanto humanos como económicos, preocupados primordialmente por los tiempos de entrega acompañada de la mejor calidad posible en el resultado.

Una de las habilidades que un buen programador tiene que desarrollar a la par de sus conocimientos técnicos de programación, es voltear atrás y comparar su experiencia previa con los nuevos retos a los que se enfrenta, y predecir que implicaciones conlleva un futuro desarrollo. Todo ello involucrado en desarrollar la capacidad de estimar un esfuerzo estimado principalmente en tiempo que después se verá magnificado en un número monetario. Pero siempre esta estimación no siempre es correcta, que es lo que hacemos mal?

Ante un nuevo proyecto, no se puede estimar con precision el costo del Software hasta que no se comprendan con detalle cada una de las funciones que realizará en el nuevo sistema.Estimar y cotizar son actividades constantes para obtener el costo del proyecto. El principal costo del servicio de desarrollo de software es el equipo humano de profesionales, y representar poco más del 80% del total del presupuesto. Es por ello que el resultado de nuestra estimación siempre estará sujeta al tiempo que representa y multiplicado por el costo del profesionista, obtendremos una estimación monetaria. Un proyecto nuevo, innovador o grande requiere de profesionales con grados academémicos importantes o con experiencia muy amplia y que tendran un costo razonablemente alto.

Es recomendable que ante un nuevo Sistema, se parta de un software preexistente que se haya fabricado con anterioridad, reutulizando funcionalidades que en la mayoría de las plataformas de software se comparten, como el módulo de usuarios, el módulo de roles y permisos o el módulo de reportes. Con ello se puede considerar reducir hasta un 25% los tiempos de implementación.Después de realizar siempre una estimación de tiempo, considera agregar un factor del 15% adicional por riesgos que conlleva desde la planeación, hasta la entrega.

Hay que tomar en cuenta que en la mayoría de desarrollos siempre las actividades que se ven involucradas son identificar el conjunto de funcionalidaes y tareas que debe realizar el software, identificar grado de organización de la empresa, de la organización o simplemente del problema actual para el que se desarrollará la solución, esto con el fin de identificar los puntos del proceso que se verán afectados y mejorados. Como una actividad recurrente, se recomienda visitar siempre el lugar de trabajo del cliente y realizar entrevistas de como quisiera que mejorara el proceso usando Software. No hay que dejar de lado el levantamiento de requerimientos detallados y el intercambio de opiniones con todos los posibles usuarios del sistema.

Además del tiempo de análisis, diseño y desarrollo al que se pueda concluir, es de suma importancia incluir el tiempo posterior que puede incluir la propuestas de mejoras y correcciones de errores en la programación hasta llegar a un punto en el que se estabilicen las funcionalidades y todo trabaje de manera correcta.


Los factores que afectan el tiempo y el costo de desarrollo identificado en un estudio y estimación de trabajo, debe involucrar las etapas de diseño de la solución, el procedimiento que se efecturá, la programación o adecuación de la programación preexistente, probar la construcción una vez realizada, la capacitación al usuario cuando lo tenga en una etapa de pruebas, la corrección de los posibles errores y desde luego, el tiempo agregado para los cambios, mejoras o incluso el posible mantenimiento que pueda indirectamente estar involucrado.

La conclusión de las estimaciones siempre tendrán como expectativa un dato numérico relacionado a 3 factores básicos del éxito, las personas ivolucradas, el tiempo necesario para la implementación y los recursos económicos requeridos.


Sugerencias al estimar desarrollos de Software
Debe tener algo muy presente, impelemtar tecnología en su empresa es una inversión importante,el esfuerzo que debe hacer la empresa también lo és.
Para la empresa, haga ver que más que un proveedor de Software usted representa, ellos necesitan un socio tecnológico, una relacion de largo plazo para alanzar los mejores resultados.
El costo del servicio y desarrollo compensa la calidad de servicio ofrecido, la agilidad y velocidad obtenida en las actividades cuando ya se cuenta con la herramienta. Dé el mejor esfuerzo como desarrollador de sistemas para que la relación con el cliente sea muy duradera.
Minimizar el tamaño del proyecto pensando obtener beneficios de reducción de costos, principalmente económicos, es algo que nunca se debe hacer, hay que ser sinceros sobre su magnitud y necesidad del problema.
Siempre hay que piense a futuro en los requerimimentos, pero hay que resolver resuelva primero aquellos que mejoran el presente.
La empresa, el cliente, el usuario y los desarrolladores son parte del equipo del proyecto, no se debe dejarlo todo en las manos del proveedor de Software, o si no, no se obtendrá lo que necesita.


Consejos técnicos para desarrolladores

  • Evite estimaciones improvisadas (ojo de buen cubero).
  • Use datos de proyectos anteriores (llamado método histórico).
  • Las estimaciones las debe hacer el desarrollador, NO EL GERENTE, NI ADMINISTRADOR, NI VENDEDOR.
  • Estime por concenso (técnica Delfi de varias opiniones).
  • Evite estimar el proyecto como un todo.
  • Estime por descomposicion, es decir, estime cada funcion o requisito del software. individualmente, luego la suma de ellos será la estimación del proyecto total.
  • Utilice diferentes técnicas de estimación, compare los resultados y resuelva las diferencias.
  • Refine sus estimaciones a medida que conoce más del proyecto.
  • Emita una estimación preliminar después de revisar la definición del sistema. Refinela durante el análisis y de una estimación despues de revisar el diseño. Si esto no es posible, deberá formularla solo con la definicion del sistema, pero considere un factor de seguridad adecuado.
  • No permita que un directivo le imponga estimaciones que no esten justificadas.
  • Negocíe con el cliente.
  • Presente sus estimaciones usando tres rangos, mejor, más probable y pero caso. Matemáticamente estudios revelan que la estimación mas acertada seria = ((mejor caso) + 4(Más probable) + (Peor caso))/6
  • Defienda sus estimaciones.



Porqué es importante aprender a programar? ...
La programación dirigida por eventos también es un paradigma de programación
Consideraciones a tomar para llamarlo el mejor
¿Necesitas más ayuda para buscar los errores de desarrollo? Usa el App Inspect...

Danos tus comentarios

Escribe un comentario en el campo de abajo...