Кодекс этики и профессиональной практики программной инженерии

08.09.2021

Кодекс этики и профессиональной практики разработки программного обеспечения (версия 5.2), рекомендованный Объединенной целевой группой ACM / IEEE-CS по этике и профессиональной практике разработки программного обеспечения и совместно одобренный ACM и IEEE-CS в качестве стандарта для обучения и применения программного обеспечения инженерное дело.

Кодекс этики и профессиональной практики программной инженерии (краткая версия)

ПРЕАМБУЛА

Краткая версия кода резюмирует стремления на высоком уровне абстракции; пункты, включенные в полную версию, содержат примеры и подробности того, как эти стремления меняют то, как мы действуем как профессионалы в области разработки программного обеспечения. Без стремлений детали могут стать законническими и утомительными; без деталей стремления могут стать громкими, но пустыми; вместе стремления и детали образуют единый код.

Программные инженеры обязуются сделать анализ, спецификацию, проектирование, разработку, тестирование и сопровождение программного обеспечения полезной и уважаемой профессией. В соответствии со своими обязательствами по охране здоровья, безопасности и благополучия общества инженеры-программисты должны придерживаться следующих восьми принципов:

1. ОБЩЕСТВЕННОСТЬ - Разработчики программного обеспечения должны действовать в соответствии с общественными интересами.

2. КЛИЕНТ И РАБОТОДАТЕЛЬ. Инженеры-программисты должны действовать таким образом, который отвечает интересам их клиента и работодателя и соответствует общественным интересам.

3. ПРОДУКТ. Инженеры-программисты должны гарантировать, что их продукты и связанные с ними модификации соответствуют самым высоким профессиональным стандартам.

4. СУЖДЕНИЕ. Программные инженеры должны сохранять честность и независимость в своих профессиональных суждениях.

5. УПРАВЛЕНИЕ. Менеджеры и руководители программной инженерии должны придерживаться этического подхода к управлению разработкой и сопровождением программного обеспечения и продвигать его.

6. ПРОФЕССИЯ. Инженеры-программисты должны продвигать честность и репутацию своей профессии в соответствии с общественными интересами.

7. СОТРУДНИКИ. Инженеры-программисты должны справедливо относиться к своим коллегам и поддерживать их.

8. САМОСТОЯТЕЛЬНО - Инженеры-программисты должны участвовать в непрерывном обучении своей профессии и продвигать этический подход к работе в этой профессии.

Кодекс этики и профессиональной практики программной инженерии (полная версия)

ПРЕАМБУЛА

Компьютеры играют центральную и растущую роль в торговле, промышленности, правительстве, медицине, образовании, развлечениях и обществе в целом. Программные инженеры - это те, кто путем прямого участия или обучения вносит свой вклад в анализ, спецификацию, проектирование, разработку, сертификацию, сопровождение и тестирование программных систем. Благодаря своей роли в разработке программных систем инженеры-программисты имеют значительные возможности делать добро или причинять вред, позволять другим делать добро или причинять вред или влиять на других, чтобы они делали добро или причиняли вред. Чтобы в максимальной степени гарантировать, что их усилия будут использованы во благо, инженеры-программисты должны посвятить себя тому, чтобы сделать разработку программного обеспечения полезной и уважаемой профессией. В соответствии с этим обязательством,инженеры-программисты должны соблюдать следующий Кодекс этики и профессиональной практики.

Кодекс содержит восемь принципов, касающихся поведения профессиональных инженеров-программистов и принимаемых ими решений, в том числе практиков, преподавателей, менеджеров, руководителей и политиков, а также стажеров и студентов данной профессии. Принципы определяют этически ответственные отношения, в которых участвуют отдельные лица, группы и организации, а также основные обязательства в рамках этих отношений. Пункты каждого принципа иллюстрируют некоторые обязательства, включенные в эти отношения. Эти обязательства основаны на человечности разработчика программного обеспечения, особой заботе о людях, на которых влияет работа инженеров-программистов, и уникальных элементах практики разработки программного обеспечения. Кодекс предписывает это как обязанности любого, кто заявляет о себе или стремится стать инженером-программистом.

Не предполагается, что отдельные части Кодекса используются изолированно для оправдания ошибок упущения или совершения. Список принципов и положений не является исчерпывающим. Пункты не следует рассматривать как отделяющие приемлемое от неприемлемого в профессиональном поведении во всех практических ситуациях. Кодекс - это не простой этический алгоритм, который позволяет принимать этические решения. В некоторых ситуациях стандарты могут противоречить друг другу или стандартам из других источников. Эти ситуации требуют, чтобы инженер-программист использовал этическое суждение и действовал в соответствии с духом Кодекса этики и профессиональной практики с учетом обстоятельств.

Этическую напряженность лучше всего решать путем вдумчивого рассмотрения основополагающих принципов, а не слепого использования подробных правил. Эти принципы должны побуждать разработчиков программного обеспечения к широкому рассмотрению того, на кого влияет их работа; проверить, относятся ли они и их коллеги к другим людям с должным уважением; рассмотреть, как общественность, если она достаточно хорошо информирована, отнесется к их решениям; проанализировать, как их решения повлияют на наименее уполномоченных; и подумать, будут ли их действия признаны достойными идеального профессионала, работающего в качестве инженера-программиста. Во всех этих суждениях забота о здоровье, безопасности и благополучии населения является первостепенной; то есть «Общественные интересы» занимают центральное место в данном Кодексе.

Динамичный и требовательный контекст разработки программного обеспечения требует кода, который можно адаптировать и учесть в новых ситуациях по мере их возникновения. Однако даже в этом общем смысле Кодекс предоставляет поддержку инженерам-программистам и менеджерам инженеров-программистов, которым необходимо предпринять позитивные действия в конкретном случае, документируя этическую позицию профессии. Кодекс обеспечивает этическую основу, к которой могут апеллировать отдельные члены команды и команда в целом. Кодекс помогает определить эти действия, которые являются этически неприемлемыми, по запросу разработчика программного обеспечения или групп разработчиков программного обеспечения.

Кодекс предназначен не просто для определения характера сомнительных действий; он также выполняет важную образовательную функцию. Поскольку этот Кодекс выражает консенсус профессионалов по этическим вопросам, он является средством просвещения как общественности, так и начинающих профессионалов об этических обязательствах всех инженеров-программистов.

ПРИНЦИПЫ

Принцип 1: ПУБЛИЧНЫЙ

Программные инженеры должны действовать в соответствии с общественными интересами. В частности, инженеры-программисты должны при необходимости:

1.01. Принимаю на себя полную ответственность за свою работу.

1.02. Умеренность интересов разработчика программного обеспечения, работодателя, клиента и пользователей в интересах общества.

1.03. Одобряйте программное обеспечение только в том случае, если у них есть веские основания полагать, что оно безопасно, соответствует спецификациям, проходит соответствующие тесты и не снижает качество жизни, не ухудшает конфиденциальность или не наносит вреда окружающей среде. В конечном итоге работа должна приносить пользу обществу.

1.04. Сообщать соответствующим лицам или властям о любой фактической или потенциальной опасности для пользователя, общественности или окружающей среды, которая, по их разумному мнению, связана с программным обеспечением или соответствующими документами.

1.05. Сотрудничать в усилиях по решению вопросов, вызывающих серьезную общественную озабоченность, вызванных программным обеспечением, его установкой, обслуживанием, поддержкой или документацией.

1.06. Будьте честны и избегайте обмана во всех заявлениях, особенно публичных, относительно программного обеспечения или связанных документов, методов и инструментов.

1.07. Рассмотрите проблемы физических недостатков, распределения ресурсов, экономического неблагополучия и других факторов, которые могут ограничить доступ к преимуществам программного обеспечения.

1.08. Поощряйте добровольно использовать профессиональные навыки для добрых дел и вносить свой вклад в общественное просвещение относительно дисциплины.

Принцип 2: КЛИЕНТ И РАБОТОДАТЕЛЬ

Программные инженеры должны действовать в соответствии с интересами своего клиента и работодателя и в соответствии с общественными интересами. В частности, инженеры-программисты должны при необходимости:

2.01. Предоставлять услуги в областях своей компетенции, честно и открыто заявляя о любых ограничениях своего опыта и образования.

2.02. Не использовать сознательно программное обеспечение, полученное или сохраненное незаконным или неэтичным образом.

2.03. Используйте собственность клиента или работодателя только надлежащим образом разрешенными способами, с ведома и согласия клиента или работодателя.

2.04. Убедитесь, что любой документ, на который они полагаются, был одобрен, если это необходимо, кем-то, уполномоченным утверждать его.

2.05. Хранить в тайне любую конфиденциальную информацию, полученную в ходе их профессиональной работы, если такая конфиденциальность соответствует общественным интересам и не противоречит закону.

2.06. Выявить, задокументировать, собрать доказательства и незамедлительно сообщить клиенту или работодателю, если, по их мнению, проект может потерпеть неудачу, оказаться слишком дорогостоящим, нарушить закон об интеллектуальной собственности или иным образом вызвать проблемы.

2.07. Выявить, задокументировать и сообщить работодателю или клиенту о важных социальных проблемах, о которых им известно, в программном обеспечении или связанных документах.

2.08. Не принимайте внешнюю работу, наносящую ущерб работе, которую они выполняют для своего основного работодателя.

2.09. Не продвигать интересы, неблагоприятные для их работодателя или клиента, за исключением случаев, когда ставится под угрозу высшие этические соображения; в этом случае проинформируйте работодателя или другой соответствующий орган об этических проблемах.

Принцип 3: ПРОДУКТ

Программные инженеры должны гарантировать, что их продукты и связанные с ними модификации соответствуют высочайшим профессиональным стандартам. В частности, инженеры-программисты должны при необходимости:

3.01. Стремитесь к высокому качеству, приемлемой стоимости и разумному графику, гарантируя, что значительные компромиссы понятны и приняты работодателем и клиентом, а также доступны для рассмотрения пользователем и общественностью.

3.02. Обеспечьте правильные и достижимые цели и задачи для любого проекта, над которым они работают или предлагают.

3.03. Выявление, определение и решение этических, экономических, культурных, правовых и экологических проблем, связанных с рабочими проектами.

3.04. Убедитесь, что они имеют квалификацию для любого проекта, над которым они работают или планируют работать, благодаря соответствующему сочетанию образования и подготовки, а также опыта.

3.05. Убедитесь, что для любого проекта, над которым они работают или предлагают работать, используется соответствующий метод.

3.06. Работайте в соответствии с профессиональными стандартами, если таковые имеются, которые наиболее подходят для поставленной задачи, отступая от них только в тех случаях, когда это оправдано этически или технически.

3.07. Стремитесь полностью понять спецификации программного обеспечения, с которым они работают.

3.08. Убедитесь, что спецификации программного обеспечения, с которым они работают, хорошо задокументированы, удовлетворяют требованиям пользователей и имеют соответствующие утверждения.

3.09. Обеспечьте реалистичные количественные оценки затрат, расписания, персонала, качества и результатов по любому проекту, над которым они работают или предлагают работать, и предоставьте оценку неопределенности этих оценок.

3.10. Обеспечьте адекватное тестирование, отладку и проверку программного обеспечения и связанных документов, с которыми они работают.

3.11. Обеспечьте адекватную документацию, включая обнаруженные значительные проблемы и принятые решения, для любого проекта, над которым они работают.

3.12. Работайте над разработкой программного обеспечения и сопутствующих документов, уважающих конфиденциальность тех, на кого это программное обеспечение повлияет.

3.13. Будьте осторожны, используйте только точные данные, полученные этичным и законным образом, и используйте их только надлежащим образом разрешенными способами.

3.14. Поддерживайте целостность данных, будучи чувствительными к устаревшим или ошибочным случаям.

3.15. Относитесь ко всем формам сопровождения программного обеспечения с таким же профессионализмом, как к новым разработкам.

Принцип 4: ПРИГОВОР

Программные инженеры должны сохранять честность и независимость в своих профессиональных суждениях. В частности, инженеры-программисты должны при необходимости:

4.01. Умерьте все технические суждения необходимостью поддерживать и поддерживать человеческие ценности.

4.02. Подтверждать только документы, подготовленные под их контролем или в пределах их компетенции и с которыми они согласны.

4.03. Сохраняйте профессиональную объективность в отношении любого программного обеспечения или связанных документов, которые их просят оценить.

4.04. Не участвовать в финансовых методах, вводящих в заблуждение, таких как взяточничество, двойное выставление счетов или другие неправомерные финансовые методы.

4.05. Сообщайте всем заинтересованным сторонам о конфликтах интересов, которых невозможно избежать или избежать.

4.06. Отказаться от участия в качестве членов или консультантов в частной, правительственной или профессиональной организации, занимающейся вопросами, связанными с программным обеспечением, в которых они, их работодатели или их клиенты не раскрыли потенциальные конфликты интересов.

Принцип 5: УПРАВЛЕНИЕ

Руководители и руководители программной инженерии должны придерживаться этического подхода к управлению разработкой и сопровождением программного обеспечения и продвигать его. В частности, руководители или ведущие инженеры-программисты должны, в зависимости от обстоятельств:

5.01 Обеспечьте хорошее управление любым проектом, над которым они работают, включая эффективные процедуры для повышения качества и снижения риска.

5.02. Убедитесь, что инженеры-программисты проинформированы о стандартах, прежде чем придерживаться их.

5.03. Убедитесь, что инженеры-программисты знают политику и процедуры работодателя по защите паролей, файлов и информации, которая является конфиденциальной для работодателя или конфиденциальной для других.

5.04. Назначайте работу только после того, как примете во внимание соответствующий вклад образования и опыта, умеренный с желанием продолжить это образование и опыт.

5.05. Обеспечьте реалистичные количественные оценки затрат, расписания, персонала, качества и результатов по любому проекту, над которым они работают или планируют работать, и предоставьте оценку неопределенности этих оценок.

5.06. Привлекайте потенциальных программистов только полным и точным описанием условий трудоустройства.

5.07. Предлагайте справедливое и справедливое вознаграждение.

5.08. Не мешать кому-либо несправедливо занять должность, для которой этот человек имеет соответствующую квалификацию.

5.09. Убедитесь, что существует справедливое соглашение относительно прав собственности на любое программное обеспечение, процессы, исследования, письменные материалы или другую интеллектуальную собственность, в создание которой внес вклад инженер-программист.

5.10. Обеспечьте надлежащую правовую процедуру при рассмотрении обвинений в нарушении политики работодателя или настоящего Кодекса.

5.11. Не просите инженера-программиста делать что-либо несовместимое с настоящим Кодексом.

5.12. Не наказывать никого за выражение этической озабоченности по поводу проекта.

Принцип 6: ПРОФЕССИЯ

Программные инженеры должны продвигать честность и репутацию своей профессии в соответствии с общественными интересами. В частности, инженеры-программисты должны при необходимости:

6.01. Помогите создать организационную среду, благоприятную для этичного поведения.

6.02. Содействовать распространению знаний о программной инженерии.

6.03. Расширяйте знания в области программной инженерии, участвуя в профессиональных организациях, встречах и публикациях.

6.04. Поддерживать как представителей профессии других инженеров-программистов, стремящихся следовать этому Кодексу.

6.05. Не продвигать собственные интересы за счет профессии, клиента или работодателя.

6.06. Соблюдайте все законы, регулирующие их работу, если только в исключительных обстоятельствах такое соблюдение не противоречит общественным интересам.

6.07. Будьте точны в описании характеристик программного обеспечения, над которым они работают, избегая не только ложных заявлений, но и заявлений, которые можно обоснованно считать спекулятивными, бессмысленными, вводящими в заблуждение или сомнительными.

6.08. Возьмите на себя ответственность за обнаружение, исправление и сообщение об ошибках в программном обеспечении и связанных документах, с которыми они работают.

6.09. Убедитесь, что клиенты, работодатели и руководители знают о приверженности разработчика программного обеспечения данному этическому кодексу и о последующих последствиях такого обязательства.

6.10. Избегайте ассоциаций с предприятиями и организациями, которые противоречат этому кодексу.

6.11. Признайте, что нарушения этого Кодекса несовместимы с профессиональным программистом.

6.12. Выражайте обеспокоенность вовлеченным лицам при обнаружении серьезных нарушений настоящего Кодекса, кроме случаев, когда это невозможно, контрпродуктивно или опасно.

6.13. Сообщайте о серьезных нарушениях настоящего Кодекса в соответствующие органы, когда становится ясно, что консультации с лицами, причастными к этим серьезным нарушениям, невозможны, контрпродуктивны или опасны.

Принцип 7: КОЛЛЕГИ

Программные инженеры должны справедливо относиться к своим коллегам и поддерживать их. В частности, инженеры-программисты должны при необходимости:

7.01. Поощряйте коллег соблюдать этот Кодекс.

7.02. Содействовать коллегам в профессиональном развитии.

7.03. Полностью доверяйте работе других и воздерживайтесь от неуместного признания.

7.04. Объективно, откровенно и задокументированно анализируйте работу других.

7.05. Беспристрастно выслушайте мнения, опасения или жалобы коллеги.

7.06. Помогите коллегам полностью ознакомиться с текущими стандартными методами работы, включая политики и процедуры защиты паролей, файлов и другой конфиденциальной информации, а также меры безопасности в целом.

7.07. Не вмешиваться несправедливо в карьеру коллег; однако забота о работодателе, клиенте или общественных интересах может заставить инженеров-программистов, добросовестно, усомниться в компетентности коллеги.

7.08. В ситуациях, выходящих за рамки их собственных компетенций, обращайтесь к мнению других профессионалов, обладающих компетенцией в этой области.

Принцип 8: САМ

Инженеры-программисты должны участвовать в непрерывном обучении практике своей профессии и должны продвигать этический подход к практике своей профессии. В частности, инженеры-программисты должны постоянно стремиться:

8.01. Расширять свои знания о разработках в области анализа, спецификации, проектирования, разработки, сопровождения и тестирования программного обеспечения и связанных документов, а также управления процессом разработки.

8.02. Повысьте их способность создавать безопасное, надежное и полезное качественное программное обеспечение по разумной цене и в разумные сроки.

8.03. Повысьте их способность создавать точную, информативную и хорошо написанную документацию.

8.04. Улучшить их понимание программного обеспечения и связанных документов, с которыми они работают, а также среды, в которой они будут использоваться.

8.05. Улучшить свои знания соответствующих стандартов и законов, регулирующих программное обеспечение и сопутствующие документы, с которыми они работают.

8.06 Улучшить свои знания этого Кодекса, его толкования и его применения в своей работе.

8.07 Не относиться к кому-либо несправедливо из-за каких-либо неуместных предрассудков.

8.08. Не оказывать влияние на других с целью совершения каких-либо действий, связанных с нарушением настоящего Кодекса.

8.09. Признайте, что личные нарушения этого Кодекса несовместимы с профессиональным программистом.

Этот Кодекс был разработан совместной рабочей группой ACM / IEEE-CS по этике и профессиональной практике программной инженерии (SEEPP):

Исполнительный комитет: Дональд Готтербарн (председатель), Кейт Миллер и Саймон Роджерсон;

Члены: Стив Барбер, Питер Барнс, Илен Бернштейн, Майкл Дэвис, Амр Эль-Кади, Н. Бен Фэйрвезер, Милтон Фулгум, Н. Джаярам, ​​Том Джуэтт, Марк Канко, Эрни Каллман, Дункан Лэнгфорд, Джойс Карри Литтл, Эд Мехлер, Мануэль Дж. Норман, Дуглас Филлипс, Питер Рон Принсивалли, Патрик Салливан, Джон Векерт, Вивиан Вейл, С. Вайсбанд и Лори Хонор Верт.

Этот Кодекс может быть опубликован без разрешения при условии, что он никоим образом не изменен и содержит уведомление об авторских правах. Авторские права (c) 1999 г. принадлежат Association for Computing Machinery, Inc. и Институту инженеров по электротехнике и электронике, Inc.

Сергей Иващенко

08.09.2021

Подписывайтесь на наши социальные сети!