Insights

Mitos sobre el desarrollo de software

Quizá se deba a que el lenguaje de programación parece algo misterioso desde fuera. Quizá sea porque, en una época en la que todos esperan productos de calidad de los equipos de desarrollo, los usuarios tienen más preguntas de las que podemos responder.

Ya sea que te frustre que los ingenieros de tu proyecto no puedan simplemente añadir funciones o que el proceso de desarrollo te resulte misterioso, seguramente has escuchado mitos sobre el desarrollo de software.

Aquí intentaremos abordar algunas ideas equivocadas habituales sobre los equipos y el proceso de desarrollo.

1. Añadir más personas garantiza un producto de calidad

Si los desarrolladores están demasiado ocupados para añadir funciones, ¿por qué no contratar más ingenieros de software? Un mito habitual es que más manos facilitan el trabajo.

Sin embargo, añadir personas puede complicar demasiado un proyecto de software. La incorporación de personal lleva tiempo, porque los gerentes de proyecto deben explicar una y otra vez a los nuevos integrantes cómo ha funcionado el proceso de desarrollo hasta ese momento.

En lugar de añadir personas, busca áreas del desarrollo de productos que puedas mejorar y hacer más eficientes. Procesos como la automatización de pruebas y la integración continua permiten automatizar distintas tareas para obtener código sin errores. Esto deja menos margen para errores y mejora la calidad sin complicar el proceso con más personas.

2. El desarrollo de software no es más que programar

Es un mito habitual que desarrollar software consiste simplemente en escribir interminables líneas de código en el lenguaje de programación elegido.

En realidad, los ingenieros hacen más que escribir código, una tarea que consume tiempo. Es parte de su función, pero solo una pequeña parte. También gestionan el software, resuelven problemas del producto, recomiendan mejoras y diseñan la automatización de pruebas y otros procesos de control de calidad. Organizan el flujo de trabajo para que el código que sí escribimos sea eficiente y esté lo más libre de errores posible.

Esto significa que, si buscas formar equipos de desarrollo, necesitas más que contratar a un par de ingenieros para programar. También necesitas gerentes de proyecto que lleven adelante tu visión y creen software a medida optimizado para la eficiencia y la satisfacción del cliente.

3. Existe la certeza absoluta

Nunca puedes estar 100% seguro de que incluso un producto de alta calidad esté libre de errores al terminar su desarrollo. La automatización de pruebas facilita mucho la identificación de problemas, pero nunca puedes afirmar con certeza absoluta que un producto se comportará exactamente como esperas cuando se lance. Por eso los equipos deben publicar parches y, en realidad, por eso el desarrollo de productos nunca está verdaderamente «terminado».

Puedes revisar las notas de parches de juegos conocidos para entender lo difícil que es eliminar todos los errores y lo extraños que pueden ser algunos. Usamos la automatización de pruebas para detectar la mayor cantidad posible, pero debemos continuar después del lanzamiento o los usuarios encontrarán lo que no detectamos.

4. Hay un «mejor» lenguaje de programación

Puedes pensar en los lenguajes de programación como en las estaciones del año. En verano, preparas una parrillada y ensaladas sabrosas porque se adaptan al clima. En invierno, eliges guisos sustanciosos y verduras de raíz. Ambas opciones son excelentes, pero no hay una «mejor» sin considerar las condiciones.

El mejor lenguaje para un proyecto de software a medida puede ser inadecuado para otro. Tu elección depende de las necesidades del proyecto y de la experiencia del equipo. Aprovechar tus fortalezas es esencial al gestionar software.

Por supuesto, nunca usarías un lenguaje como Liberty BASIC para un proyecto complejo de software a medida. Pero hay tantas buenas opciones que el mito de que existe un único «mejor» lenguaje no se sostiene.

5. Puedes simplemente «añadir funciones»

Un mito habitual sobre los equipos de desarrollo es que los ingenieros pueden simplemente añadir funciones para mejorar la experiencia de usuario.

El desarrollo de software no funciona así. Aunque a la mayoría de los ingenieros les encantaría añadir las funciones que piden los clientes, lograr que no tengan errores es un enorme dolor de cabeza para quienes gestionan el software.

Según las funcionalidades del producto, añadir otras nuevas puede exigir reescribirlo en un lenguaje diferente. O puede ocurrir que equipos anteriores hayan tomado atajos que produjeron código mal escrito y deuda técnica. En cualquier caso, conseguir código que siga el plan no es tan sencillo como contratar a alguien para añadir funciones a una línea de código existente.

Mitos sobre el desarrollo de software

Quienes gestionan software dedican mucho tiempo a dibujar diagramas de flujo de trabajo en pizarras y casi tanto a golpearse la cabeza contra ellas. En muchos sentidos, es un campo mucho menos tecnológico de lo que imaginas. Si tienes un mito habitual favorito sobre los ingenieros de software o quieres saber más sobre nuestros servicios, contáctanos hoy.

“Mitos sobre el desarrollo de software” by Gimena Aguerreberry is licensed under CC BY SA. Source code examples are licensed under MIT.

Foto de Cristina.

Categorized under Desarrollo de software.

Related reading