Eso generalmente sugiere que el corazón de la compañía está en el lugar correcto, aunque sus ingenieros de producto tienen un mal proceso, están desperdiciando dinero al no automatizar, o están contratando ingenieros de software de baja calidad en la prueba.
Tener personas de control de calidad separadas es importante porque toma una mentalidad diferente y funciona mal cuando comparten las suposiciones de los desarrolladores de productos con respecto a lo que funciona. El producto de construcción se trata de satisfacer los requisitos al costo mínimo; mientras que el control de calidad se trata de descubrir cómo las cosas pueden romperse y funcionar en situaciones inesperadas. Como desarrollador de productos, escribo casos de prueba para las condiciones que codifico y asumo que las bibliotecas funcionan, lo cual no siempre es el caso: mi producto actual falló con caracteres internacionales porque la mayoría de las bibliotecas estándar de C ++ no manejan cadenas de la manera que requiere la especificación del lenguaje. Un desarrollador de software en prueba no haría eso.
Por el contrario, la entrega de productos de alta calidad en un horario rápido y predecible requiere que los desarrolladores escriban sus propias pruebas automatizadas de entregables. Eso garantiza que el código del producto esté diseñado para la prueba con el costo total de código más bajo, y evita el tiempo perdido a medida que el código se desvanece de las mentes de los desarrolladores mientras esperan que se entreguen las pruebas antes de verificar el código.
- ¿Cuántos desarrolladores de aplicaciones móviles hay en todo el mundo?
- ¿Por qué empresas como Delhivery contratan desarrolladores de software de manera tan agresiva?
- ¿Qué es bueno para el desarrollador de software? ¿Aprender más tecnologías recientes o apegarse a uno y experto en lo mismo?
- Como desarrollador de software, ¿cuáles son sus planes cuando la IA toma su trabajo o reduce en gran medida su salario al simplificar el desarrollo?
- ¿Qué preguntas de codificación hacen Samsung R&D India hasta la fecha para el puesto de desarrollador de software?
Más personas de QA sugieren que los ingenieros de producto no están haciendo eso, la compañía está contratando botones en lugar de desarrolladores de software de prueba, o no están contratando bien. Aunque el código de prueba a menudo no es trivial, muchas organizaciones contratan a desarrolladores de software en prueba que no pudieron obtener trabajos para desarrollar productos, lo cual es un enfoque incorrecto: las empresas deben contratar buenos ingenieros de software para ambos roles, solo buscando intereses y disposiciones diferentes. Los desarrolladores con períodos de atención más cortos a menudo obtienen mejores resultados en el control de calidad, donde el código de caso de prueba es más independiente de los resultados previos que el desarrollo del código de característica del producto en años de trabajo.
Ocasionalmente, el código de prueba debe ser más complicado que el código del producto, aunque esto es raro y los ingenieros de producto deben asumir gran parte de esa carga. Los sistemas distribuidos son a menudo más difíciles de verificar que implementar, aunque los desarrolladores de productos deben diseñar para minimizar el esfuerzo necesario para validarlos y construir el marco necesario que pueden hacer más rápido porque están familiarizados con el funcionamiento del código del producto.