✨ CodeCraft Estimator
Un estimador de proyectos de software impulsado por IA, diseñado para optimizar el proceso de planificación y presupuesto.
💡 Origen del Proyecto
Este proyecto fue concebido para modernizar la estimación de tiempos en el desarrollo de software. La idea central de la estimación de tiempos, particularmente la fórmula del promedio ponderado para tareas, fue inspirada por un video de Luisina de TodoCode, utilizando la misma lógica de cálculo que ella presenta en su metodología de gestión de proyectos.
✨ Características Principales
- Generación de Requisitos con IA: Genera documentos de
requisitos de software basados en la entrada del usuario, incorporando
mejores prácticas para requisitos funcionales, no funcionales, seguridad
y despliegue. El LLM decide qué detalles incorporar o omitir según el prompt.
- Gestión de Módulos: Permite a los usuarios crear, nombrar
y organizar módulos de proyecto individuales para estructurar el proceso
de estimación.
- Entrada Manual de Tareas: Habilita la entrada manual de tareas dentro de cada módulo, incluyendo estimaciones de tiempo optimistas, pesimistas y más probables. Todas las estimaciones se almacenan como tipos Decimal y pueden ingresarse en minutos, horas o días.
- Cálculo de Tiempo Automatizado: Calcula el tiempo promedio
ponderado para cada tarea usando la fórmula:
- $$t_p$$ Tiempo Pesimista (estimación más alta)
- $$t_m$$ Tiempo Más Probable (estimación más realista)
- $$t_o$$ Tiempo Optimista (estimación más baja)
- Ajustes de Riesgo y Complejidad: Proporciona una sección para ingresar posibles riesgos del proyecto (con su estimación de tiempo asociada) y un multiplicador de esfuerzo general para consideraciones como la seguridad o la complejidad del despliegue.
- Conversión de Tiempo a Costo: Convierte dinámicamente
el tiempo total estimado a un costo de proyecto basado en una tarifa por
hora definible por el usuario. Los cambios se reflejan reactivamente cuando
se ajusta cualquiera de las estimaciones de tiempo.
- Aumento de Tareas con IA: Permite al usuario ingresar un prompt para añadir más tareas al módulo actual y ajustar los tiempos de las tareas. El LLM decide si las sugerencias de tareas pueden mejorar la entrega del proyecto.
- Exportación de Estimaciones: Permite exportar las estimaciones de tiempo y costo a un archivo JSON para su uso posterior o para compartir con otros interesados.
- Estadísticas y gráficas: Genera estadísticas visuales
del proyecto, incluyendo gráficos de barras y líneas que muestran la distribución
del tiempo estimado por módulo.