Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПроектнийПрактикум / ПрофесійнаПрактика / МатеріалиДляВивчення.docx
Скачиваний:
120
Добавлен:
12.03.2016
Размер:
705.52 Кб
Скачать

1.3 Етичні аспекти професійної діяльності розробника програмного забезпечення

Розвиток засобів обчислювальної техніки, комунікацій і програмних систем здійснює все більший вплив на суспільство. Роль фахівців з програмного забезпечення (ПЗ) при цьому весь час зростає. Програмні інженери працюють в певному правовому і соціальному оточенні, знаходяться під дією міжнародних, національних і місцевих законодавств. Однак далеко не всі правила, що регламентують діяльність у сфері програмної інженерії, можна звести до правових норм, – багато що визначається дотриманням неписаних правил поведінки для тих, хто причетний до світу розробки ПЗ.

Ясно, що програмісти, як і фахівці інших професій, мають бути чесними і порядними людьми. Але разом з тим, програмісти не можуть керуватися лише моральними нормами або юридичними обмеженнями, оскільки вони зазвичай бувають зв'язані тоншими професійними зобов'язаннями, до яких відносяться: конфіденційність; компетентність; захист прав інтелектуальної власності; (не)зловживання комп'ютером.

Фахівець повинен дотримуватись конфіденційності, тобто не розголошувати ніяких відомостей про працедавця і клієнтів, незалежно від того, підписував він чи ні які-небудь угоди про дотримання конфіденційності. Фахівець не повинен приховувати (або помилково представляти) свій рівень компетенції і не повинен братися до роботи, яка цьому рівню не відповідає. Фахівець не повинен порушувати відповідне законодавство про захист авторських прав при використанні чужої інтелектуальної власності. Він також повинен захищати інтелектуальну власність працедавця і клієнтів. Фахівець не повинен, використовуючи свій професійний рівень, завдавати шкоди комп'ютерам інших людей.

У програмній інженерії також часто виникають етичні дилеми, коли професіоналу доводиться вибирати між конкуруючими особистими і професійними цінностями. Наприклад, менеджер з продажів може підписати контракт на постачання деякого програмного продукту, знаючи або будучи попереджений, що цей продукт не може бути поставлений замовникові до вказаної дати. Дилема цього фахівця може полягати в тому, що для його роботодавця першочерговими є фінансові результати, а сам він у разі виключно чесної поведінки може позбутися роботи. Цим неетичним вчинком менеджер проекту створює нереалістичний план виконання проекту, якому вимушені підкорятися розробники. В результаті ланцюжок неетичних або непрофесійних вчинків може привести до виплати штрафів, судових позовів, звільнень і навіть банкрутства. І жоден з учасників цього процесу так і не зрозуміє, що його поведінка була неетичною або непрофесійною.

Комп'ютерна етика – це сукупність моральних принципів і норм, що регулюють відносини між людьми, які склалися на основі їх роботи з комп'ютерами. Понятійний ряд, до якого належить термін «комп'ютерна етика» містить також поняття «інформаційна етика» і «кіберетика». Їх тлумачення відомими дослідниками на- водить І.Л.Галинська [2].

Комп'ютеризація суспільства породила такі нагальні проблеми, як вторгнення за допомогою комп'ютера у приватне життя індивіда та комп'ютерна злочинність (кіберзлочинність). Дослідження проблем боротьби з кіберзлочинністю показало, що орієнтація тільки на технічні та технологічні засоби за безпечення інформаційної безпеки (технічного захисту інформації) в умовах інформатизації, у тому числі профілактики кіберзлочинів, не має значного успіху. Ця боротьба має доповнюватися правовими та етичними нормами регулювання суспільних відношень у сфері інформаційних технологій. Нині здійснено чимало спроб сформулювати певні правила поведінки при роботі з комп'ютером. Прикладом є така вимога: не чинити за допомогою комп'ютера того, що ви визнали б аморальними без нього. Ніяка дія не стає більш моральною через те, що для її полегшення використаний комп'ютер. Для багатьох традиційних професій існують етичні кодекси – системи норм, що встановлють професійні стандарти і правила поведінки, неухильне дотримання яких вимагається від усіх, хто належить до того чи іншого «цеху». Класичний приклад – «клятва Гіппократа». Сьогодня налічується кілька десятків кодексів комп’ютерної етики. Перший кодекс – IEEE Code of Ethics – був розроблений в Інституті інженерів електроніки та електротехніки у 1979 р. Потім етичні кодекси були прийняті Асоціацією розробників обчислювальних машин (ACM Code of ethics and professional conduct), Асоціацією професіоналів інформаційних технологій (Code of ethics of Association of Information Technology Professionals), міжнародною гільдією програмістів (IPG Code of ethics) тощо. Ці кодекси висувають на перший план чесність, відвертість, дотримання щонайвищих стандартів якості, лідерство, підтримку громадських інтересів і самоосвіту

У розробці етичних зобов'язань провідну роль грають професійні співтовариства.

В кінці 90-х років XX століття спільний комітет організацій АСМ (Association for Computing Machinery – Асоціація з обчислювальної техніки), комп'ютерного співтовариства IEEE (Institute of Electrical and Electronics Engineers – Інститут інженерів з електротехніки і електроніки) та CS (British Computer Society – Британське комп’ютерне співтовариство) опублікували кодекс професійної поведінки інженера з розробки ПЗ, або етичний кодекс –IEEE-CS/ACM Software Engineering Code of Ethics and Professional Practices (Кодекс етики і професійної практики програмної інженерії) [2]. Члени цих організацій прийняли на себе зобов'язання слідувати даному кодексу. Окрім того, нові члени в момент вступу до організації також беруть зобов'язання слідувати цьому кодексу.

Кодекс містить вісім принципів поведінки й прийняття рішень фахівцями-професіоналами з програмного забезпечення:

1. Суспільні інтереси – діяльність фахівців з програмного забезпечення повинна виникати згідно із суспільними інтересами і запитами.

2. Клієнти і роботодавці – діяльність фахівців з програмного забезпечення має бути спрямована на задоволення запитів клієнтів і роботодавців відповідно до суспільних інтересів.

3. Виробництво – фахівець з програмного забезпечення зобов’язаний гарантувати, що вироблені або модификовані ним програмні продукти відповідають найвищим, які тільки можливі, професійним стандартам.

4. Професійні судження – фахівець з програмного забезпечення підтримує чесність, неупередженість і незалежність своїх професійних суджень та оцінок.

5. Керування – дії керівників програмних проектів повинні підкорятися високим етичним нормам при керуванні проектуванням і супроводженням програмного забезпечення.

6. Професія – фахівець з програмного забезпечення зобов’язаний утримувати на висо- кому рівні репутацію своєї професії у відповідності із суспільними інтересами.

7. Колегіальність – фахівець з програмного забезпечення має підтримувати колег і бути гідним членом свого колективу.

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

Правила поведінки з цього кодексу засновані на загальнолюдських етичних нормах. На сьогодні цей кодекс є керівництвом з етики і професійної поведінки для інженерів ПЗ.

Принципи визначають етику стосунків між окремими інженерами, групами і організаціями, а також пов'язані з цим зобов'язання. У кожен Принцип включені ілюстрації деяких зобов'язань, що накладаються цими стосунками. Кодекс проголошує ці зобов'язання для всіх, хто відносить себе до програмних інженерів або збирається ним стати. Окремі частини Кодексу не можуть бути використані ізольовано від інших для виправдання упущень і провини. Перелік Принципів і Положень не є вичерпним.

Принципи кодексу спонукають програмних інженерів усвідомити, на кого робить вплив виконувана ними робота; розібратися, чи відносяться вони і їх колеги до оточуючих з належною пошаною; взяти до уваги, як суспільство, будучи інформованим належним чином, віднеслося б до їх рішень; нарешті, оцінити, чи відповідають їх професійні дії ідеалам програмної інженерії. У всіх цих оцінках турбота про благополуччя, безпеку і процвітання суспільства є первинною, тобто, «інтереси суспільства» є центральними в даному Кодексі.

Перша основоположна мета – “інженери ПЗ повинні служити тому, щоб аналіз, специфікація, проектування, розробка, тестування і обслуговування ПЗ стали вигідною і поважаною професією”. Іншими словами, одне із завдань кодексу – сприяти розвитку самої професії інженера ПЗ. Формулювання цієї мети неявно передбачає, що інженерія ПЗ ще не стала “вигідною і поважаною професією”.

Друга основоположна мета полягає в тому, що інженери ПЗ мають бути вірними цілям здоров'я, безпеки і блага суспільства. Це цілком відповідає уявленню про те, що інженери несуть швидше відповідальність перед суспільством в цілому, ніж перед окремими його представниками. Ці дві цілі є основними, а вісім принципів направлені на їх реалізацію.

Однією з найбільших переваг кодексу є загальний напрям, який він задає в сенсі етичної і професійної поведінки інженерів ПЗ, що до прийняття цього Кодексу був відсутній начисто. Розглянемо декілька ситуацій.

Проекти, які ведуть у безвихідь. Не маючи етичного кодексу, інженери ПЗ, які вважають, що терміни реалізації проекту є нереальними, мають сумніви – повідомляти про це замовникові або своєму керівникові чи ні. Спираючись на кодекс, в подібній ситуації інженери зобов'язані зібрати докази і документально підтвердити свої побоювання. Кодекс свідчить, що професійним обов'язком є негайне повідомлення керівництва або замовника про свої побоювання.

Заниження вартості розробки з метою отримання контракту будь-якою ціною. У галузі розробки ПЗ досить поширеною є практика комерційних пропозицій замовникам з нереалістично низькими розцінками. Розробникам ПЗ, можливо, не дуже подобається така поведінка, але багато хто не готовий піти наперекір своїм босам і відмовитися занизити вартість розробки в заявці. Згідно кодексу інженери ПЗ повинні забезпечити реалістичність кошторисів витрат і схвалювати документи, тільки якщо вони з ними згодні. Кодекс також закликає інженерів ПЗ зробити свою професію гідної пошани, наприклад, не брати участі в операціях із заниженою вартістю. Інженер ПЗ, який дотримується етичних принципів, повинен відмовитися затверджувати такі комерційні пропозиції.

Розробка ПЗ за принципом “напишемо та виправимо. Недостатньо інформовані замовники і керівники часто наполягають на застосуванні розробниками підходу “напишемо і виправимо”. Останні усвідомлюють неефективність цього підходу, але після суперечок із замовниками і керівництвом багато хто капітулює: “Хай ця контора пожне те, на що заслужила”. Проте слідування даному принципу суперечить етичному обов’язку інженера ПЗ створювати високоякісні продукти за прийнятними цінами і в розумні терміни. Тривале використання названого методу також компрометує інженерію ПЗ як професію, тому розробники ПЗ, які слідують етичним принципам, повинні відмовитися від нього.

Застій знаньДля того, щоб залишатися в курсі всього нового в розробці ПЗ, потрібно багато часу, і багато розробників навіть не намагаються робити це. Один з видавців стверджував, що середній розробник ПЗ читає в рік менше однієї книги по своїй професії і не виписує жодного професійного журналу. Можливо, проблема не пов'язана з етикою, але вже напевно пов'язана з професійною поведінкою. Неможливо працювати на рівні професіонала, не цікавлячись останніми досягненнями у своїй галузі. Не займаючись безперервною самоосвітою, можна продовжувати працювати в галузі ПЗ на деякому рівні, проте, згідно кодексу етики і професійної поведінки, не можна при цьому бути фахівцем ПЗ.

Поза дією кодексу інженерам ПЗ доводиться покладатися на власні думки і оцінки, стикаючись з етичними дилемами. Інженери, що дотримуються кодексу, знатимуть, що їм не доведеться поодинці відстоювати свої позиції. В багатьох випадках ситуація не є такою однозначною, як в наведених вище прикладах (інтереси клієнта/замовника суперечитимуть інтересам суспільного блага або інтереси працедавця можуть суперечити інтересам колег по цеху розробників ПЗ). Кодекс не може передбачити всі етичні дилеми, але закликає інженерів ПЗ ухвалювати рішення, виходячи з вищих етичних критеріїв, дотримуючи при цьому духу кодексу.

Керуючись “Кодексом етики”, слід знаходити баланс між різними чинниками при ухваленні рішень про найкращий спосіб дій. Кодекс може допомогти розробникам ПЗ приймати складні технічні і етичні рішення, які принесуть користь суспільству, професії і самому розробникові.

 

Соседние файлы в папке ПрофесійнаПрактика