Кодекс профессиональной этики программиста
Написал @@L
Monday, 24 April 2006
Любопытный документ однако!
http://ethics.iit.edu/codes/coe/Software%20Engineering_1999.html
Ниже вольный перевод.
Взято по ссылке
http://madeinsnz.jino-net.ru/_app/index.php?option=com_content&task=view&id=39&Itemid=28 =========================================
1. Взаимоотношения с обществом
Для программиста общественные интересы превыше всего.
Программист обязан:
• нести полную ответственность за свою работу;
• стараться сбалансировать собственные интересы, интересы работодателя, клиента и пользователей, так чтобы польза для общества от проделанной работы была максимальной;
• публиковать программное обеспечение только в том случае если оно безопасно для общества, полностью соответствует предъявляемым требованиям, прошло качественный контроль и тестирование, не снижает качество жизни, обеспечивает неприкосновенность частной жизни, не приносит вреда обществу. Результаты работы программиста должны быть полезны обществу;
• информировать частных лиц или органы власти о возникшей или потенциальной опасности для пользователей, общественности или окружающей среды, причиной которой является программное обеспечение;
• содействовать в решении общественно-значимых проблем, связанных с использованием, поддержкой, сопровождением и документированием программного обеспечения;
• предоставлять честную и объективную информацию о программном обеспечении и его возможностях;
• сообщать об физических ограничениях, необходимых ресурсах, экономических рисках и прочих факторах, которые могут снизить эффективность программного обеспечения;
• повышать свой собственный профессиональный уровень и способствовать повышению уровня компьютерной грамотности общества.
2. Взаимоотношения с клиентами и работодателями
Все усилия программиста должны быть направлены на удовлетворение интересов клиента и работодателя, если это не противоречит общественным интересам.
Программист обязан:
• полностью обеспечивать исполнение своих должностных обязанностей, честно и объективно информировать клиента или работодателя о своих профессиональных знаниях, навыках и образовании;
• предотвращать использование клиентом или работодателем программного обеспечения, полученного нелегальным или нечестным путем;
• использовать ресурсы клиента или работодателя только в пределах собственных полномочий и с его согласия;
• в работе опираться на документацию, заверенную лицом, уполномоченным клиентом или работодателем;
• сохранять в тайне конфиденциальную информацию клиента или работодателя, полученную в процессе исполнения профессиональных обязанностей, если это не противоречит закону или общественным интересам;
• своевременно информировать клиента или работодателя о возможной экономической несостоятельности проекта, о возможных нарушениях законов, защищающих права интеллектуальной собственности, и прочих возможных проблемах, возникающих в процессе реализации проекта;
• своевременно информировать клиента или работодателя о социально-значимых аспектах, связанных с реализацией проекта;
• не совмещать выполнение основной работы с реализацией побочных проектов, если это наносит ущерб клиенту или работодателю;
• не предпринимать никаких действий в собственных интересах, противоречащих интересам клиента или работодателя, до тех пор, пока не будут урегулированы все этические вопросы. Своевременно информировать клиента или работодателя о возникновении подобных ситуаций.
3. Качество продукта
Программист должен гарантировать соответствие программного продукта требованиям профессиональных стандартов.
Программист обязан:
• бороться за наивысшее качество, приемлемую стоимость и разумные сроки реализации проектов;
• гарантировать, что цели проекта, над которым работает программист или который он предлагает, реально достижимы;
• определить и изучить все этические, экономические, культурные, юридические и прочие факторы, влияющие на реализацию проекта;
• гарантировать свою профессиональную состоятельность в рамках проектов, над которыми работает программист;
• гарантировать, что методы, применяемые программистом, приемлемы для реализации текущих или предлагаемых проектов;
• работать в соответствии с профессиональными стандартами, если это возможно и оправдано с этической и технической точек зрения;
• полностью осознавать и понимать все требования, предъявляемые к программному продукту, над которым работает программист;
• гарантировать, что все функциональные возможности программного продукта, над которым работает программист, хорошо документированы, соответствуют требованиям пользователей и одобрены заинтересованными лицами;
• гарантировать объективную оценку стоимости, необходимых технических и временных ресурсов, качества и соответствия результатов, поставленным целям, для каждого проекта, над которым работает программист;
• гарантировать качественное тестирование и отладку программного обеспечения, достоверное описание результатов тестирования;
• гарантировать наличие правильной и объективной документации на разрабатываемое программное обеспечение. Документация должна включать описание обнаруженных недочетов в реализации и методов их устранения;
• в процессе работы над проектом не допускать утечки личной информации клиентов;
• использовать в работе только точные данные, полученные легальным и честным путем. Любые данные могут использоваться только с разрешения владельца.
• обеспечивать актуальность и корректность используемых данных;
• использовать современные методы сопровождения программного обеспечения.
4. Экспертные оценки
Экспертные оценки программиста должны быть объективны и непредвзяты.
Программист обязан:
• ?
• утверждать только те документы, которые подготовлены лично или под непосредственным руководством, находятся в пределах компетенции программиста и с содержанием которых он полностью согласен;
5. Управление проектами
Программист, управляющий разработкой и сопровождением программного обеспечения, должен придерживаться определенных принципов в своей работе.
Программист обязан:
• обеспечивать эффективное управление всеми проектами, которыми руководит программист, включающее процедуры обеспечения качества разработки и снижения рисков;
• подчиненные должны быть ознакомлены со стандартами и правилами, применяемыми при разработке программного обеспечения, до начала работы;
• подчиненные должны быть ознакомлены с политикой относительно безопасности конфиденциальной информации работодателя и клиентов, с правилами защиты паролей, файлов и пр.;
• поручать подчиненным работу с учетом их образования и профессиональных навыков, давая возможность дальнейшего повышения уровня знаний и умений;
• обеспечивать объективную оценку стоимости проектов, времени затрачиваемого на разработку, необходимого персонала для работы над проектами, качества и результатов реализации проектов;
• привлекать к работе подчиненных программистов только после их ознакомления со всеми условиями участия в проекте;
• место подчиненного программиста в проекте должно соответствовать его квалификации;
• при реализации проекта обеспечивать справедливое использование программного кода, разработок, методик, исследований и прочей интеллектуальной собственности подчиненных;
• обеспечить справедливую процедуру разбора нарушений правил, установленных работодателем, и положений данного Кодекса;
• не принуждать подчиненных программистов к нарушению положений данного Кодекса;
• не наказывать подчиненных программистов за высказывание критики относительно проекта.
6. Профессионализм
Программист должен повышать авторитет своей профессии в глазах общественности.
Программист обязан;
• организация работы программиста должна способствовать следованию этическим нормам;
• просвещать общественность относительно сути индустрии разработки программного обеспечения;
• расширять свои знания в области разработки программного обеспечения за счет участия в профессиональных организациях, конференциях и семинарах, из публикаций;
• оказывать содействие программистам, которые стараются в своей работе придерживаться положений данного Кодекса;
• ?
• следовать всем правилам, регламентирующим работу программиста, за исключением случаев, когда это противоречит общественным интересам;
• точно характеризовать разрабатываемое программное обеспечение. Избегать характеристик, которые могут ввести в заблуждение;
• нести ответственность за ошибки, обнаруженные в разрабатываемом программном обеспечении, своевременно документировать их и работать над их устранением;
• избегать сотрудничества с работодателями и клиентами, не придерживающимися данного Кодекса;
• осознавать, что нарушения данного Кодекса не совместимы со званием профессионального программиста;
• воздействовать на людей, нарушающих данный Кодекс, если это возможно;
• если воздействовать на людей нарушающих данный Кодекс невозможно, оповещать о нарушениях заинтересованных лиц или властные структуры, имеющие соответствующую компетенцию;
7. Взаимоотношения с коллегами
Программист должен быть доброжелателен в общении со своими коллегами, всегда стараться оказывать им помощь.
Программист обязан:
• поощрять своих коллег, твердо следующих положениям данного Кодекса;
• оказывать содействие коллегами в совершенствовании профессионализма;
• доверять работе коллег, не подавать необоснованных надежд и обещаний самому;
• оценивать работу коллег объективно, аргументировано и доброжелательно;
• со вниманием относиться к мнению коллег, их предложениями и просьбам;
• помогать коллегам следовать в работе стандартам, регламентирующим защиту конфиденциальной информации, правила хранения паролей, доступа к файлам и другим мерам безопасности;
• не вмешиваться в карьеру коллег, за исключением случаев, когда разоблачение некомпетентности коллеги в интересах работодателя, клиента или общества;
• в трудной ситуации обращаться за помощью к более опытному коллеге.
8. Самосознание
Программист должен самосовершенствоваться на протяжении всей жизни.
Программист обязан:
• постоянно совершенствовать свои знания в области создания программного обеспечения и управления процессом разработки;
• постоянно совершенствовать навыки, позволяющие быстро и качественно разрабатывать программное обеспечение без чрезмерных финансовых затрат;
• совершенствовать навыки написания качественной программной документации;
• совершенствовать знания в области применения своих профессиональных знаний;
• изучать стандарты, правила и законы, связанные со сферой разработки программного обеспечения;
• знать и соблюдать данный Кодекс;
• ?
• не побуждать кого-либо к нарушениям положений данного Кодекса;
• осознать, что если Вы не соблюдаете данный Кодекс, Вы не можете называться профессиональным программистом.
Комментарии