El Código de Ética y Práctica Profesional de Ingeniería del Software

(Versión 5.2) tal como ha sido recomendada por la "IEEE-CS/ACM Joint Task Force on Software Engineering Ethics and Professional Practices"

Traducción no oficial realizada por Javier Dolado, Mayo-1999  (original en http://www.acm.org/serving/se/code.htm)
 

Versión resumida

Preámbulo

La versión resumida del código sintetiza las aspiraciones a un nivel elevado de abstracción. Las cláusulas que se incluyen en la versión completa proporcionan ejemplos y detalles acerca de cómo estas aspiraciones modifican nuestra manera de actuar como profesionales de la ingeniería del software. Sin esas aspiraciones los detalles pueden convertirse en tediosos y legalistas; sin los detalles las aspiraciones pueden convertirse en altisonantes pero vacías; conjuntamente las aspiraciones y los detalles conforman un código cohesivo.

Los ingenieros de software debieran obligarse a hacer del análisis, especificación, diseño, desarrollo, pruebas y mantenimiento del software una profesión respetada y beneficiosa. En concordancia con la obligación con el bienestar, salud y seguridad de la sociedad, los ingenieros del software debieran adherirse a los Ocho Principios siguientes:

  1. Sociedad: Los ingenierios de software actuarán de manera coherente con el interés social.
  2. Cliente y Empresario: los ingenieros de software actuarán de manera que produzca el mejor resultado para cliente y empresario, y de manera coherente con el interés social.
  3. Producto: los ingenieros de software garantizarán que sus productos y las modificaciones correspondientes cumplen los mayores estándares profesionales posibles.
  4. Valoración: los ingenieros de software mantendrán la integridad e independencia en sus valoraciones profesionales.
  5. Gestión: los líderes y gestores de ingeniería de software suscribirán y promoverán un enfoque ético en la gestión del desarrollo y mantenimiento del software.
  6. Profesión: los ingenieros de software avanzarán en la integridad y reputación de la profesión, de manerar consistente con el interés social.
  7. Compañeros: los ingenieros del software serán justos y apoyarán a sus compañeros.
  8. Personal: los ingenieros del software participarán en el aprendizaje continuo referente a la práctica de su profesión y promoverán un enfoque ético en la práctica de la profesión.


Versión completa

Preámbulo

Los ordenadores poseen hoy día una función central cada vez mayor en el comercio, industria, administración, medicina, educación, entretenimiento, relaciones sociales y vida diaria. Son ingenieros de software quienes contribuyen, mediante participación directa o enseñanza, al análisis, especificación, diseño, desarrollo, certificación, mantenimiento y pruebas de sistemas software. Debido a su posición en el desarrollo de sistemas software, los ingenieros del software tienen suficientes oportunidades para causar beneficio o generar daño, para permitir a otros causar beneficio o generar daño, o para influenciar a otros a causar beneficio o generar daño. Para garantizar, en la medida de lo posible, que sus esfuerzos se utilizarán para hacer el bien, los ingenieros de software deben obligarse a hacer de la ingeniería del software una profesión respetada y beneficiosa. De acuerdo con tal cometido, los ingenieros de software debieran adherirse al siguiente Código de Ética y Práctica Profesional.

El Código contiene ocho Principios clave, relacionados con el comportamiento y las decisiones tomadas por los ingenieros de software profesionales, bien sean profesionales en ejercicio, educadores, gestores, directivos y responsables, así como educandos y estudiantes de la profesión. Los Principios identifican las diferentes relaciones en las que los individuos, grupos y organizaciones participan, y las principales obligaciones de tales relaciones. Las Cláusulas de cada Principio son la imagen de los diferentes niveles de obligación incluidos en esas relaciones. Estas obligaciones se fundamentan en las características humanas del/la ingeniero del software, en el especial cuidado al que se está obligado con las personas que se ven afectadas por el trabajo del ingeniero del software, y en los elementos peculiares de la práctica de la ingeniería del software. El Código prescribe estas obligaciones como obligaciones de cualquiera que se identifique como ingeniero del software o que aspire a serlo.

No se pretende que se utilicen partes individuales del Código aisladamente, para justificar errores por omisión o comisión. La lista de Principios y Cláusulas no es exhaustiva. Las Cláusulas no deben leerse como la frontera separadora entre lo aceptable y lo inaceptable en todas las situaciones posibles de la conducta profesional. El Código no es un simple algoritmo ético que genera decisiones éticas. En algunas situaciones los estándares pueden entrar en conflicto entre sí o con estándares de otras fuentes. Estas situaciones requieren del ingeniero de software utilizar su juicio ético para actuar en la manera más consistente con el espíritu del Código de Ética y Práctica Profesional, teniendo en cuenta las circunstancias.

Las tensiones éticas se pueden manejar mediante una consideración cuidadosa de los principios fundamentales, más que apoyándose ciegamente en reglamentos detallados. Estos Principios deberían ayudar a considerar extensamente quién se ve afectado por su trabajo; a examinar el ingeniero del software o sus compañeros tratan al resto de personas con el debido respeto; a reflexionar en cómo la sociedad vería sus decisiones si estuviera bien informada; a analizar cómo el menos favorecido será afectado por su decisión; y a considerar si sus actos serían enjuiciados como valiosos por un profesional ideal que trabajara como ingeniero de software. En todas estas valoraciones la preocupación principal es la de la seguridad, salud y bienestar públicos; esto es, el "Interés Público" es central en este Código.

El contexto dinámico y exigente de la ingeniería del software require que el código sea relevante y adaptable a las nuevas situaciones a medida que ocurran. Sin embargo, incluso con esta generalidad, el Código proporciona apoyo a los gestores e ingenieros del software que necesiten actuar positivamente, documentando la postura ética de la profesión. El Código proporciona un fundamento ético al que los individuos de un grupo o el propio grupo pueden acudir. El Código también ayuda a definir aquellas cuestiones que son éticamente impropias de solicitar a un ingeniero o grupos de ingenieros del software.

El Código no está simplemente orientado a identificar la naturaleza de los actos cuestionables, sino que también tiene una función educativa. Puesto que este código representa el consenso de la profesión en cuestiones éticas, es un medio para educar tanto a la sociedad como a los futuros profesionales acerca de las obligaciones éticas de todos los ingenieros del software.
 

Principio 1: Sociedad.

Los ingenieros del software actuarán de manera consistente con el interés general. En particular, los ingenieros de software deberán, adecuadamente:

1.01. Aceptar completa responsabilidad por su trabajo.

1.02. Moderar los intereses del ingeniero del software, el empresario, el cliente y los usuarios con los del bienestar público.

1.03. Dar el visto bueno al software sólo si se tiene fundada creencia de que es seguro, cumple las especificaciones, ha pasado las pruebas pertinentes y no disminuye la calidad de la vida, disminuye la confidencialidad o daña al medio ambiente. El efecto último del trabajo debiera ser el bienestar público.

1.04. Mostrar a las personas o autoridades correspondientes cualquier peligro real o potencial para el usuario, la sociedad o el medio ambiente, que consideren, de manera razonable, que esté asociado con el software, o documentos relacionados.

1.05. Cooperar en las materias relacionadas con las preocupaciones graves causadas por el software, su instalación, mantenimiento, soporte o documentación.

1.06. Ser justo y veraz en todas las afirmaciones, especialmente en las que sean públicas, relativas al software o documentos relacionados, métodos y herramientas.

1.07. Considerar las cuestiones de discapacidades físicas, asignación de recursos, desventajas económicas y otros factores que puedan disminuir el acceso a los beneficios del software.

1.08. Estar dispuesto a donar las capacidades profesionales para buenas causas y contribuir a la educación del público en general con respecto a esta disciplina.
 

Principio 2: Cliente y Empresario

Los ingenieros de software deberán actuar de maneras en que se representen los mejores intereses para sus clientes y empresarios, consistentemente con el interés general. En particular los ingenieros de software deberán, adecuadamente:

2.01. Proporcionar servicios sólo en las áreas de su competencia, siendo honestos y francos acerca de cualquiesquiera limitaciones en su experiencia o educación.

2.02. No utilizar conscientemente software obtenido o retenido de manera ilegal o no ética.

2.03. Utilizar la propiedad de un cliente o patrón sólo en maneras adecuadamente autorizadas, y con el conocimiento y consentimiento de los mismos.

2.04. Garantizar que cualquier documento en el que se confía ha sido aprobado, cuando así se requiera, por alguien con autoridad para hacerlo.

2.05. Mantener como privada cualquier información confidencial obtenida mediante el trabajo profesional, siempre que tal confidencialidad no sea inconsistente con los aspectos de interés general y con la ley.

2.06. Identificar, documentar, recoger evidencia e informar con prontitud al cliente o empresario si, en su opinión, es probable que fracase un proyecto, que se demuestre demasiado caro, que viole la legislación sobre propiedad intelectual, o que sea problemático.

2.07. Identificar, documentar e informar al empresario o cliente sobre cualquier asunto de interés social, o del que se tenga conocimiento, acerca del software o documentos relacionados.

2.08. No aceptar trabajo externo que vaya en detrimento del trabajo que se desarrolle para su principal contratante.

2.09. No representar interés contrario al del empresario o cliente, a menos que se comprometa otro valor ético más elevado; en este último caso se informará al empresario o a otra autoridad adecuada acerca de esa preocupación ética.
 

Principio 3: Producto

Los ingenieros de software deberán garantizar que sus productos y las modificaciones relacionadas cumplen los estándares más elevados posibles. En particular, los ingenieros de software deberán, según sea adecuado:

3.01. Promover máxima calidad, coste aceptable, y un plazo razonable, garantizando que quedan claros los compromisos significativos al respecto, y que los aceptan el empresario y el cliente, y que están disponibles para consideración por el usuario y el público en general.

3.02. Garantizar objetivos adecuados y alcanzables para cualquier proyecto en el que trabajen o lo vayan a hacer.

3.03. Identificar, definir, y examinar temas éticos, económicos, culturales, legales y medioambientales relacionados con cualquier proyecto.

3.04. Garantizar que están cualificados, mediante una adecuada combinación de educación, adiestramiento y experiencia, para cualquier proyecto en el que trabajen o lo vayan a hacer.

3.05. Garantizar una metodología adecuada para cualquier proyecto en el que trabajen o lo vayan a hacer.

3.06. Trabajar para seguir los estándares de la industria, si disponibles, que sean los más adecuados para las tareas, desviándose de los mismos sólo cuando esté justificado ética o técnicamente.

3.07. Esforzarse para entender completamente las especificaciones del software que están desarrollando.

3.08. Garantizar que las especificaciones para el software sobre el que trabajan han sido bien documentadas, satisfacen los requisitos del usuario y tienen las aprobaciones adecuadas.

3.09. Garantizar estimaciones cuantitativas realistas de coste, plazos, personal, y resultados de cualquier proyecto en el que trabajen o vayan a hacerlo, y proporcionar una evaluación de la incertidumbre de esas estimaciones.

3.10. Garantizar unas adecuadas pruebas, depuraciones y revisiones del software y de los documentos relacionados en los que se trabaje.

3.11. Garantizar una adecuada documentación, incluyendo problemas significativos descubiertos y las soluciones adoptadas, para cualquier proyecto en el que trabajen.

3.12. Trabajar para desarrollar software y documentos relacionados que respeten la confidencialidad de aquellos que van a verse afectados por ese software.

3.13. Ser cuidadosos para utilizar sólo datos precisos, obtenidos mediante medios legales y éticos, y utilizarlos sólo de maneras adecuadamente autorizadas.

3.14. Mantener la integridad de los datos, siendo sensible a aquellos que estén obsoletos u equivocados.

3.15. Tratar todas las formas del mantenimiento del software con la misma profesionalidad que los nuevos desarrollos.
 

Principio 4. Juicio

Los ingenieros de software deberán mantener integridad e independencia en su valoración profesional. En particular, los ingenieros del software deberán, adecuadamente:

4.01. Moderar todos los juicios técnicos por la necesidad de amparar y mantener valores humanos.

4.02. Firmar sólo los documentos preparados bajo su supervisión o dentro de sus áreas de competencia, y con los que se está de acuerdo.

4.03. Mantener objetividad profesional con respecto a cualquier software o documentos relacionados para los que se les pida evaluación.

4.04. No involucrarse en prácticas financieras engañosas, tales como sobornos, dobles facturaciones u otras prácticas impropias.

4.05. Comunicar a todas las partes los conflictos de interés que no puedan evitarse razonablemente.

4.06. Rechazar la participación, como miembros o asesores, en organismos privados, gubernamentales o profesionales vinculados con temas de software, en los que tengan, o sus patronos o clientes, potenciales conflictos de interés no revelados.
 
 

Principio 5. Gestión

Los gestores y líderes en ingeniería del software suscribirán y promoverán un enfoque ético a la gestión del desarrollo y mantenimiento del software. En particular, aquellos ingenieros de software en funciones de dirección o liderazgo deberán, adecuadamente:

5.01. Garantizar una buena gestión en cualquier proyecto en los que trabajen, incluyendo procedimientos efectivos para promover calidad y reducción del riesgo.

5.02. Garantizar que se informa a los empleados de los estándares antes de adherirse a ellos.

5.03. Garantizar que los empleados conocen las políticas y procedimientos del empresario para la protección de las claves de acceso, ficheros y otra información que sea confidencial para el empresario o para otros.

5.04. Asignar trabajo sólo después de tener en cuenta la educación y experiencia, moderados con el deseo de mejorar tal educación y experiencia

5.05. Garantizar unas estimaciones cuantitativas realistas del coste, plazo, personal, calidad y productos en cualquier proyecto en el que trabajen o tengan intención de hacerlo, y proporcionar una valoración de la incertidumbre de esas estimaciones.

5.06. Atraer empleados sólo mediante una descripción completa y precisa de las condiciones del empleo.

5.07. Ofrecer una adecuada y justa remuneración.

5.08. No impedir injustamente a otro obtener una mejor posición para la que está cualificado.

5.09. Garantizar que hay un acuerdo correcto en lo referente a la propiedad de cualquier software, procesos, investigación, escritos, o cualquier otra propiedad intelectual a la que el ingeniero del software ha contribuido.

5.10. Proporcionar los medios correspondientes en caso de alegaciones de incumplimiento de la política del empresario o de este Código.

5.11. No pedir a un ingeniero del software hacer algo inconsistente con este Código.

5.12. No castigar a nadie por expresar preocupaciones éticas sobre un proyecto.
 

Principio 6. Profesión

Los ingenieros de software deberán progresar en la integridad y reputación de la profesión, consistentemente con el interés general. En particular, los ingenieros de software deberán, en la medida de lo posible:

6.01. Ayudar a desarrollar un ambiente organizativo favorable a un comportamiento ético.

6.02. Promover el conocimiento general de la ingeniería del software.

6.03. Diseminar el conocimiento de ingeniería del software mediante la participación en organizaciones profesionales, reuniones y publicaciones.

6.04. Apoyar, como miembros de una profesión, a otros ingenieros de software que se esfuercen en seguir este Código.

6.05. No promover el interés propio a costa de la profesión, el cliente o el empresario.

6.06. Obedecer todas las leyes que gobiernen su trabajo, a menos que, en circunstancias excepcionales, tal cumplimiento sea inconsistente con el interés general.

6.07. Ser preciso en la descripción de las características del software en el que se trabaja, evitando no sólo falsas declaraciones, sino también declaraciones que podrían razonablemente suponerse especulativas, vacías, decepcionantes, engañosas o dudosas.

6.08. Tener la responsabilidad de detectar, corregir e informar errores en el software y documentos asociados en los que se trabaje.

6.09. Asegurarse que los clientes, patronos y gerentes conocen la obligación del ingeniero de software con respecto a este Código de ética, y las ramificaciones subsecuentes de tal obligación.

6.10. Evitar asociaciones con empresas y organizaciones que estén en conflicto con este código.

6.11. Considerar que las inobservancias de este Código son inconsistentes con ser un ingeniero de software profesional.

6.12. Expresar las preocupaciones a las personas implicadas cuando se detecten incumplimientos significativos de este Código, a menos que sea imposible, contraproducente o peligroso.

6.13. Informar sobre las vulneraciones de este Código a las autoridades pertinentes cuando está claro que consultar a las personas implicadas en estas inobservancias es imposible, contraproducente o peligroso.
 

Principio 7. Compañeros

Los ingenieros de software serán justos y serán soporte de sus compañeros. En particular, los ingenieros de software deberán, adecuadamente:

7.01. Animar a los compañeros a adherirse a este Código.

7.02. Ayudar a los compañeros en el desarrollo profesional.

7.03. Reconocer completamente el trabajo de otros y abstenerse de atribuirse méritos no reconocidos.

7.04. Revisar el trabajo de otros de forma objetiva, sincera y adecuadamente documentada.

7.05. Tratar justamente las opiniones, preocupaciones o quejas de un compañero.

7.06. Ayudar a los compañeros en el conocimiento completo de los estándares de trabajo, incluyendo políticas y procedimientos para proteger las claves de acceso, ficheros y otra información confidencial, y medidas de seguridad en general.

7.07. No interferir injustamente en la carrera profesional de cualquier compañero; sin embargo, la preocupación por el empresario, el cliente o el interés público puede forzar, con buena voluntad, a cuestionar la competencia de un compañero.

7.08. En las situaciones fuera de las áreas de competencia personales, consultar las opiniones de otros profesionales que tengan competencia en ese área.
 

Principio 8. Persona

Los ingenieros de software deberán participar en el aprendizaje continuo de la práctica de su profesión y promoverán un enfoque ético en la práctica de la profesión. En particular, los ingenieros de software deberán continuamente preocuparse de:

8.01. Mejorar su conocimiento de los avances en el análisis, especificación, diseño, desarrollo, mantenimiento y pruebas del software y documentos relacionados, junto con la gestión del proceso de desarrollo.

8.02. Mejorar su capacitación para crear software de calidad, seguro, fiable y útil con un coste razonable y en un plazo razonable.

8.03. Mejorar su capacidad para producir documentación precisa informativa y correctamente escrita.

8.04. Mejorar su comprensión del software y documentos relacionados en los que se trabaja y del entorno en el que se utilizarán.

8.05. Mejorar su conocimiento de los estándares pertinentes y de las leyes que regulan el software y los documentos relacionados en los que trabajan.

8.06. Mejorar su conocimiento de este Código, su interpretación y su aplicación al trabajo.

8.07. No dar un tratamiento injusto a nadie por prejuicios irrelevantes.

8.08. No influenciar a otros para tomar acción alguna que conlleve un incumplimiento de este Código.

8.09. Reconocer que las inobservancias personales de este Código son inconsistentes con ser un ingeniero de software profesional.
 
 

Ir a la Página principal de Javier Dolado