“Ingeniería de software” es un concepto en su mayoría obsoleto. Se basa en la premisa de que construir un producto de software es como construir una presa o un avión: usted define todo de antemano (análisis y diseño), luego delega el trabajo de construcción a un equipo de trabajadores anónimos (desarrolladores), para que “sigan plan “y convertirlo en código.
Hay una multitud de historias, que van desde anécdotas hasta libros y artículos científicos, lo que sugiere que esta no es una buena manera de modelar el desarrollo de software.
Con el surgimiento de la cultura ágil, y la idea de “artesanía de software”, o “jardinería de sofware”, la idea de software como “ingeniería” quedó algo abandonada. En lugar de “diseño de bits por adelantado”, se ha enfatizado el desarrollo incremental.
En este nuevo escenario, el papel de las pruebas es de extrema importancia, ya que debería describir la interfaz entre las historias / requisitos del usuario (en forma de pruebas de aceptación [posiblemente automatizadas]) y describir el comportamiento deseado de bajo nivel de los componentes del sistema (en forma de pruebas unitarias automatizadas).
- ¿La prueba de software profesional es una profesión moribunda, ya sea en el mundo de inicio o en el gran mundo corporativo, o en ambos? ¿Se requerirán probadores de software en los próximos años o décadas?
- ¿Qué tipo de KPI podría establecer para el equipo Scrum?
- ¿Dónde se utilizan los métodos formales de software? ¿Qué tan práctico es aplicar técnicas de métodos formales en el desarrollo de software?
- ¿Cuáles son los lenguajes y habilidades de programación más buscados actualmente?
- ¿Cuán diferentes son los proyectos de software dados en compañías como Google, Facebook y Amazon de los cursos universitarios en informática?
No me atreveré a decir que las pruebas no serían estresantes, ya que el desarrollo de software implica una alta dosis de complejidad y escenarios de alto riesgo, pero la idea de trabajar bajo el paraguas de “ingeniería de software” es algo que evitaría a toda costa.