Código de Ética e Prática profissional da Engenharia de Software

O código criado pela Association for Computing Machinery (ACM) busca servir como base na tomada de decisão para tratar situações éticas relacionadas à Egenharia de Software

Os engenheiros de software devem comprometer-se a tornar a análise, especificação, design, desenvolvimento, teste e manutenção de software uma profissão benéfica e respeitada. De acordo com o seu compromisso com a saúde, segurança e bem-estar do público, os engenheiros de software devem aderir aos seguintes Oito Princípios:

Público

Engenheiros de software devem agir de acordo com o interesse público. Isso inclui aceitar a responsabilidade por seu trabalho, equilibrar os interesses de todas as partes envolvidas, garantir a segurança e qualidade do software, divulgar riscos e cooperar na resolução de questões que possam afetar o público. Devem também ser transparentes, justos e considerar a inclusão de pessoas com deficiência e outros grupos vulneráveis, além de incentivar o voluntariado para causas que beneficiem a sociedade.

Cliente e Empregador

Engenheiros de software devem agir no melhor interesse de seus clientes e empregadores, alinhando essas ações com o interesse público. Devem prestar serviços dentro de suas competências, garantir que o software seja legal e ético, proteger a confidencialidade de informações e usar propriedades do cliente ou empregador somente com autorização. Eles devem reportar possíveis problemas com projetos, manter a integridade em seu trabalho e evitar conflitos de interesse, priorizando sempre considerações éticas mais elevadas.

Produto

Engenheiros de software devem garantir que seus produtos e modificações atendam aos mais altos padrões profissionais. Isso inclui buscar qualidade, custos aceitáveis e prazos razoáveis, garantir objetivos claros, abordar questões éticas e ambientais, e seguir os padrões profissionais adequados. Devem assegurar que as especificações sejam bem documentadas, que testes e revisões sejam realizados, e que os dados usados sejam precisos e respeitem a privacidade dos usuários. Manutenção de software deve ser tratada com o mesmo cuidado que o desenvolvimento.

Julgamento

Engenheiros de software devem manter integridade e independência em seus julgamentos profissionais. Eles devem basear suas decisões em valores humanos, aprovar apenas documentos que estejam sob sua supervisão ou competência, manter objetividade profissional e evitar práticas financeiras enganosas. Conflitos de interesse devem ser divulgados e evitados, e é importante recusar participar de comitês ou conselhos onde haja conflitos não revelados.

Gerenciamento

Gestores e líderes de engenharia de software devem adotar e promover uma abordagem ética no desenvolvimento e manutenção de software. Eles devem garantir a gestão eficiente dos projetos, fornecer estimativas realistas, informar engenheiros sobre padrões e políticas, atribuir tarefas considerando a educação e a experiência, e garantir remuneração justa. Devem também promover acordos justos sobre propriedade intelectual e garantir que as preocupações éticas sejam ouvidas sem retaliação.

Profissão

Engenheiros de software devem promover a integridade e a reputação da profissão de forma consistente com o interesse público. Eles devem ajudar a criar um ambiente organizacional favorável à ética, contribuir para o avanço do conhecimento em engenharia de software e apoiar outros engenheiros na adesão a este Código. Devem evitar falsidades sobre o software, corrigir erros e relatar violações do Código às autoridades competentes quando necessário.

Colegas

Engenheiros de software devem ser justos e apoiar seus colegas. Eles devem incentivar a adesão ao Código, ajudar no desenvolvimento profissional e reconhecer devidamente o trabalho dos outros. A revisão do trabalho deve ser objetiva e bem documentada. Devem ouvir as preocupações dos colegas, garantir que estejam cientes das práticas e políticas atuais, e não interferir injustamente nas carreiras alheias, a menos que o interesse público o exija.

Autoaprendizado

Engenheiros de software devem se engajar em aprendizado contínuo e promover uma abordagem ética à prática da profissão. Devem buscar constantemente aprimorar seu conhecimento sobre desenvolvimento, manutenção e teste de software, além de melhorar sua capacidade de criar software de qualidade de forma eficiente e de produzir documentação clara e precisa. Devem estar cientes dos padrões e leis relevantes e garantir que suas ações estejam alinhadas com o Código.