Creo que las personas responden para el desarrollo web típico y no consideran otros dominios donde la entrega incremental puede ser problemática. Por lo general, es posible crear y probar en unidades pequeñas, crear prototipos, etc. en casi cualquier dominio, pero la entrega de software funcional orientado al cliente o integrado al sistema en muchos entornos empresariales e industriales (sin mencionar, aplicaciones muy reguladas) a menudo no es factible. ¿Desea un controlador de haz de protones para tratamientos médicos administrados de forma incremental como se describe? Probablemente no. Lo mismo para muchas aplicaciones aeronáuticas / astronómicas donde el costo / riesgo de falla es extremadamente alto. Las fallas seguirán ocurriendo, pero el objetivo es minimizarlas y sopesar los factores de costo / tiempo / riesgo.
El software es un campo muy amplio. Diferentes dominios y proyectos dictan diferentes necesidades de herramientas y metodologías. Comprenda lo que se necesita y luego elija sabiamente. No asuma que hay un enfoque de “talla única”. El viejo dicho de “no hay balas de plata” sigue siendo válido (y probablemente lo será en el futuro previsible).
La ingeniería de software también es relativamente inmadura en comparación con otras disciplinas. Algo de esto lo dictan los clientes: ahora estamos llegando a una fase en la que los clientes comprenden la necesidad de pruebas, seguridad, mantenimiento y otros aspectos del desarrollo. Como campo tenemos un largo camino por recorrer.
- ¿Me puede explicar exactamente cómo se hace una aplicación?
- Cómo hacer una aplicación de chateo usando GCM en Android
- ¿Existe algún software que cuente el uso de datos de mi Internet?
- ¿Cuáles son los mejores programas de introducción de video?
- ¿Cuál es la mejor manera de hacer una aplicación de teléfono?