Por diversas razones, en las últimas semanas he tenido que refrescar información sobre temas éticos y profesionales asociados a la ingeniería del software. Y la verdad que he encontrado cosas muy interesantes, que dan para interesantes reflexiones y dolorosos recuerdos. A continuación os dejo un resumen de lo que más me ha llamado la atención, obtenido de varias fuentes (principalmente de este artículo de Computer)… y de la experiencia y la vida misma.
En ingeniería del software un dilema ético ocurre cuando un profesional debe tomar una elección entre valores enfrentados, entre lo personal y lo profesional. Por ejemplo, un comercial puede firmar un contrato para el desarrollo de un producto software, sabiendo que el desarrollo llevará mucho más tiempo del prometido (que cosa más rara, el que ocurra esto, yo nunca lo he visto :- ), en este caso el dilema puede estar entre la responsabilidad profesional y la presión del mercado o de sus superiores. Como tal hay muchos dilemas éticos, pero he aquí algunos de los más representativos:
– Mea culpa. Ocurre cuando el equipo debe entregar un producto software, este tiene algún problema que ellos conocen o aún le faltan importantes funcionalidades y, aún así, es entregado. Ocurre por la presión del mercado, las penalizaciones de los contratos, etc.
– Trabajo realizado de manera apresurada. Ocurre cuando el software funciona pero su calidad es muy baja, se ha desarrollado demasiado rápido, normalmente como consecuencia de la presión del calendario, de ofertas con tiempos por debajo de lo necesario, etc.
– Ese no es mi problema. Ocurre cuando el equipo de proyecto se centra en el día a día, sin mostrar proactividad, tendencia a mejorar la productividad o la calidad, esos “no son mis problemas”.
– Mentir. Ocurre en reuniones con el cliente o con la dirección del proyecto, cuando se dicen cosas que no son verdad, como, por ejemplo, que la entrega del software se ajustará al calendario… a sabiendas de que es imposible.
– Software inviable. Ocurre cuando una organización promete a un cliente un software con características inviables de implementar, muchas veces por presiones de mercado, por cumplir objetivos de venta, obtener comisiones a corto plazo y luego gestionar qué realmente se podrá entregar… pero una vez conseguido el proyecto.
– Falta de revisión. Ocurre cuando cierta documentación importante no se revisa lo suficiente. Cuando las propuestas, las especificaciones de requisitos, contratos, etc., no son examinados a fondo. Esto suele provocar problemas a la hora de cerrar el proyecto, de conseguir la aceptación por el cliente, de evitar penalizaciones o incluso de poder cobrar.
– Cancelación de vacaciones. Ocurre cuando la dirección del proyecto presiona a los miembros del equipo con la amenaza de cancelar sus vacaciones, para así poder cumplir cierto hito del proyecto (ay, que recuerdos me trae esto, recuerdo cierto proyecto que se presentó al cliente diciendo que éramos la oferta con menores tiempos de desarrollo… eso sí, marcando en el Gantt, de manera consciente, los sábados y domingos como día en el que se trabajaría desarrollando software)
– Barrer bajo la alfombra. Ocurre cuando aparecen imprevistos, que potencialmente pueden afectar al proyecto, y estos son conscientemente ignorados, con la falsa esperanza de que desaparezcan solos. Ejemplo, alguien del equipo de pruebas detecta un fallo, lo comunica al jefe de proyecto y este decide “olvidarlo” porque ese error es muy raro que se dé en el cliente
En fin, como decía al principio, por desgracia supongo que no seré el único al que le ha tocado pasar por alguno, muchos o todos los anteriores dilemas… ¿tenéis alguno más para añadir a la lista o algún caso real para alguno de los anteriores?
Twitter: http://twitter.com/jgarzas
- Diario: cómo Javier Garzás evita quedarse obsoleto estudiando a un X10 con IA-Esteroides - 7 noviembre, 2024
- Si creas Historias de Usuario con IA ¿A quién pertenecen? ¿A ti o la IA? El mono Naruto te lo explica - 31 octubre, 2024
- HistorIAs de usuario y como a Maximiliano lo ENGAÑABAN con la IA y como una viejuna historia del 1500 le salvó - 24 octubre, 2024
Yo añadiría el «Todo es posible!», cuando te viene el jefe, diciendo que le ha prometido a un cliente tener cierto software en una semana, sin plantearse tan siquiera si eso es posible, y confíar el trabajo (el marrón) a los desarrolladores super saiyans, que voluntariamente deciden no dormir muchas horas esa semana para acabar el trabajo, sin tan siquiera recibir un extra económico por las horas curradas de más =)
P.D. «Todo es posible» puede ser una variante de «Software inviable+Mentir+Trabajo realizado de manera apresurada»
saludos!
y que deriva en «cancelación de vacaciones» 🙂
Viendo lo qu se cuece en el dia a dia en el sector espanol durante muchos anios…como hay clientes que se lo creen y no incluyen altas penalizaciones por incumplimiento de contrato? No lo entiendo…
Bueno, yo creo que cada vez son menos los que obvian las penalizaciones