¿Cuánto tiempo lleva codificar una aplicación de software importante?

Respuesta obvia y quizás decepcionante: depende.

Respuesta más completa: el desarrollo profesional de software es mucho más que simplemente “codificar”. Involucra requisitos cambiantes, decisiones de negocios que podrían cambiar la arquitectura de su código y una gran cantidad de “reuniones en el medio”.

Pasas 3 días desarrollando un sistema de correo electrónico, solo para saber después de esos tres días, que después de una demostración o prueba de concepto, los clientes ahora quieren algo gigantesco con los correos electrónicos que afectan la lógica de la aplicación, etc., etc., pasando de desarrollo a producción afectará las decisiones X, Y y Z y será necesario revisar el código, etc., etc.

La codificación en sí misma no es súper compleja, especialmente si tienes algún tipo de título universitario para saber “cómo funcionan las cosas”. El mayor desafío del desarrollo profesional es poder aprender a programar cuando nada es constante. Los requisitos perfectos y las soluciones intemporales ya no existen como sucedía en las tareas universitarias y debes aprender y estar preparado para codificar el cambio. Y acepte que en la mayoría de los casos, el cambio es bueno. Si una aplicación es muy orgánica, probablemente significa que a los clientes les gusta y quieren mejorarla y verla crecer. Eso es algo muy diferente que he experimentado al profundizar en el mundo real versus el mundo del aprendizaje. Por eso también la respuesta es “depende”.

Generalmente varía, ya que estos grandes proyectos generalmente son realizados por equipos completos de desarrolladores. Podría haber 20 personas trabajando en un solo proyecto y luego tomar alrededor de 6 meses para terminar.

Y ese sería el momento para la primera versión. Después de eso, comienzan a trabajar en la segunda versión, la tercera, la cuarta, etc., pero la codificación técnicamente dura tanto tiempo como sea necesario actualizar el proyecto.

Entonces, el proceso general comienza cuando alguien tiene una nueva idea para algún proyecto. Generalmente comienzan a investigar qué problemas necesita resolver el software y comparan la situación actual con la situación preferida. Por ejemplo, los administradores que ahora tienen que usar hojas de Excel para realizar un seguimiento de las tareas y utilizarían el nuevo producto una vez que esté listo.

La siguiente fase comienza describiendo la solución preferida definiendo todo lo que se necesita. Esto incluye evaluar si los costos de la solución la hacen lo suficientemente rentable como para reemplazar las soluciones existentes. En otras palabras, el uso del software les ahorraría a los gerentes el tiempo suficiente.

Y una vez que el proyecto parezca lo suficientemente rentable, comenzarán con el diseño básico y determinarán qué técnicas se utilizarán y cuántos recursos se asignarán al proyecto. También estimarían cuánto tiempo tomaría el proyecto, ya que la duración del proyecto básicamente determina los costos. También tienen que evaluar cuántas personas trabajarán en el proyecto, ya que más personas podrían acortar el tiempo del proyecto, pero también aumentar los costos mensuales durante el desarrollo.

Entonces, antes de que comience cualquier codificación, es posible que ya hayan pasado un mes o más solo para comenzar. Para entonces no se ha escrito una sola línea de código, pero los planes están ahí.

A continuación, comenzará el desarrollo. El proyecto se dividirá en módulos separados para que un equipo pueda trabajar en cada módulo juntos. Los administradores también prepararán el hardware necesario para probar el proyecto durante el desarrollo y los evaluadores comenzarán a escribir scripts de prueba y otra documentación para que puedan comenzar a probar de inmediato cuando se entregue la primera versión. Las primeras pruebas serán pruebas unitarias ya que los diseñadores todavía tienen que diseñar cómo se verá la GUI. Las pruebas unitarias se centran principalmente en la lógica empresarial.

El resto del proyecto generalmente llevaría de tres a seis meses para la primera versión. Esto generalmente es la cantidad de tiempo estimada, ya que un tiempo de desarrollo más largo se volvería demasiado costoso antes de obtener algún retorno de las inversiones. Pero la primera versión generalmente es solo el comienzo. La primera versión generalmente tendrá muchos defectos que solucionar.

Por lo tanto, medio año o más es una buena estimación para grandes proyectos, aunque varía mucho. Algunos tardan más, otros pueden tardar mucho más. Con las herramientas y los marcos adecuados, un proyecto podría terminarse en un mes o menos. He realizado algunos proyectos dentro de 2 semanas, pero generalmente fueron proyectos más pequeños. Y la primera versión podría ser lo suficientemente buena como para ser implementada.

Depende de lo que se define como “mayor” y de los recursos disponibles.

La codificación es solo una parte del proceso general de creación de aplicaciones, si el proyecto está bien definido, el UX es perfecto y el diseño está ordenado, entonces la codificación es cuestión de semanas o meses .

También depende de cuántas personas trabajen en el proyecto : ¡contratar a 10 desarrolladores durante 2 semanas puede hacer maravillas! (Contra 1 desarrollador durante 20 semanas) Hay un elemento de creatividad en la tarea de programación, pero es principalmente lógico y si la aplicación no está tratando de hacer algo completamente disruptivo y extremadamente novedoso, el desarrollador no debe estar atascado en ningún momento y hacer un buen progreso todos los días.

El tiempo de calidad y garantía también debe tenerse en cuenta.

Al menos cuatro veces más de lo que crees que será. Creo que esta es una ley de desarrollo (aunque puede estar en desacuerdo sobre el alcance del multiplicador; fui con un factor conservador).