1993年5月,IEEE計算機協會的管理委員會設立了一個指導委員會,其目的是為確立軟件工程作為一個職業而進行評估、計劃和協調各種活動。同年,ACM理事會也同意設立一個關于軟件工程的委員會。到1994年1月,兩個協會成立了一個聯合指導委員會,負責為軟件工程職業實踐制定一組適當標準,以此作為工業決策、職業認證和教學課程的基礎。為完成這項工作,他們提出了如下建議:
*采用標準定義;
*定義所需的知識主體和推薦的實踐活動;
*定義道德標準;
*定義本科生、研究生(碩士)和繼續教育(再培訓和轉崗)的教學課程
指導委員會決定通過設立一系列的專題組實現這些目標。最初的幾個專題組包括:軟件工程知識主體和推薦的實踐活動;軟件工程道德和職業實踐以及軟件工程課程體系。
軟件工程道德和職業實踐小組的目標是為軟件工程師在道德上和職業上的責任和義務制定一份文件。本道德規范(草案)由IEEE計算機協會和ACM聯合指導委員會的軟件工程道德和職業實踐專題組開發,并且已經過該委員會的審查。
任何規范,如果認真制定并正確推行,都會成為推動職業化和建立社會安全保障的有力工具。它們不應該也不會只開花不結果,但這常常是人們對規范的錯覺。本規范草案是在對多個計算學科和工程學科規范進行廣泛研究的基礎上做出的,意在教育和激勵采用規范的職業群體和成員。規范也告訴公眾,一種職業的職責及其重要性。規范向實踐者指明社會期望他們達到的標準,以及他們同行的追求和相互的期望。規范并不意味著鼓勵訟爭,并且它們也不代表立法;但它們的確就影響專業人員及其客戶的一些問題給出了實際的建議,同時也給政策的制訂者提供借鑒。
序言
現在,計算機越來越成為商業、工業、政府、醫療、教育、娛樂、社會事務以及人們日常生活的中心角色。那些直接或通過教學從事設計和開發軟件系統的人員,有著極大的機會既可從事善舉也可從事惡行,同時還能影響或使得他人做同樣的事情。為盡可能保證這種力量用于有益的目的,軟件工程師必須要求他們自己所進行的軟件設計和開發是有益的,所從事的是受人尊敬的職業。為此,軟件工程師應該堅持下面的道德規范。
本規范含有8組由關鍵詞命名的準則,這些準則均與專業軟件工程師的行為和他們所作出的決定有關,也適用于本行業的從業者、教育者、管理者和督辦人、下午制定者以及職業受訓者和學生。這些準則對參與其中的個人、群體和組織相互之間的各種關系給出了區別,并指出了在這些關系當中各自的主要義務。
規范中的每一組準則均以三個層次的道德義務闡述,這些道德義務都是專業軟件工程師在所述的各種關系中所應承擔的。第一個層次給出的是一組道德價值,這也是專業軟件工程師和所有其他人就人性而言所共有的。第二個層次則是對軟件工程專業人員提出的比第一個層次更具挑戰性的一些義務。之所以要求第二個層次的義務,是因為專業人員應對那些會受到他們工作影響的人們負有特別的責任。第三層次也是更深的層次,包括了只與軟件工程的專業實踐有關的因素所直接引出的幾項義務。每組準則中的條款是對相應的關系中各層次的義務的詳細闡述。
每組準則中的條款由對應于三個層次的三種不同類型的陳述組成。
第一層次:渴望(對于真正的人)。渴望的陳述給出了方向和目標,并用于指導職業行為。這些指導性的要求對道德判斷是非常重要的。
第二層次:期望(對于專業人員)。期望的陳述表達了所有專業人員的義務和職業態度。雖然它們沒有描述具體行為細節,但是它們清楚地指明了在計算科學領域中的職業責任。
第三層次:要求(對于良好的從業者)。要求的陳述提出了在軟件工程中更具體的行為責任,這些責任與當前的技術狀況密切相關。本層陳述的范圍從一般的渴望陳述到具體的可度量的要求。
雖然所有層次的職業義務都已列舉,但本規范并不打算包羅萬象,也不希望它的各個部分被孤立地用來判定失職或違規。所列的準則和條款并不是很詳盡的,不希望讀者對于所有實際情形中的職業行為,簡單地以此來區分哪些是可接受的哪些是不可接受的。本規范也不是一個簡單地給出道德判定的道德算法。在某些情況下,本規范的各個標準有可能相互沖突或與其他的標準沖突。此時,就要求軟件工程師結合當時的環境,以與本道德規范的精神最一致的方式來進行道德判斷和采取行動。
對于道德問題最好是給出經過深思熟慮的基本準則,而不是僅僅列出許多詳細的規定。這些準則應該影響你去更廣泛地考慮誰將受到你的工作影響;去檢查你和你的同事是否以應有的尊重對待他人;去推測如果公眾被恰當地告知,那么他們將怎樣審視你所做的決定;去分析你的決定的最低影響力是多少;去考慮是否你的作為夠得上軟件工程師的理想的職業行為。因為本規范代表那些從事該職業的人的共同意見,所以我們應該重視由那些有見識的、受人尊重的和有經驗的同行在掌握全部事實的情況下,他們認為的什么是特定環境中最道德的行為方式,并且只在具有深刻的原因同時又經過認真仔細地判別之后才違反這種常規。
軟件工程的動態性和需求的前后關系,要求一個規范能對出現的新情形有較強的適應性和適用性。但是即使在這種一般性原則下,本規范也只對那些以文檔記錄職業道德態度并采取積極行動的軟件工程師提供支持;即提供相應開發組中的個人以及整個開發組都可以求助的道德基礎。本規范也幫助定義哪些是對軟件工程師提出的道德上不適當的要求。
本規范還具有教育的作用,它指出了對任何想加入的繼續從事軟件工程職業的人的要求。因為它表達了該有關道德問題的一致意見,所以可以用作決策制定的指導,它也可以作為公眾和渴望從事該職業的人了解有關軟件工程師的職業義務的教育工具。
準則1:產品
軟件工程師應盡可以確保他們開發的軟件對于公眾、雇主、客戶以及用戶是有用的,在質量上是可接受的,在時間上要按期完成并且費用合理,同時無錯。特別地,軟件工程師應盡可能發地做到:
1.01 保證他們所做的軟件的規格說明很好地制作了文檔,能滿足用戶的需求,并得到客戶的認可。
1.02 努力去完全理解他們從事的軟件的規格說明。
1.03 通過適當的教育和經驗的結合,保證對于從事的和將要從事的任何項目他們是合格的。
1.04 對于他們從事的和將要從事的任何項目,保證正確的和可以實現的方向和目標。
1.05 對于他們從事的和將要從事的任何項目,保證有一種恰當的方法學。
1.06 對于他們從事的任何項目,保證有良好的管理,包括為提高質量和降低風險而采取的有效規程。
1.07 對于他們從事的和將要從事的任何項目的費用、時間表、人員和支出,保證給出一個切合實際的預算,并且對這些預算作出風險評估。
1.08 對于他們從事的任何項目要保證給出充分的文檔,包括發現問題的日志和采取的解決方案。
1.09 地他們從事的軟件和有關文檔,保證充分的測試、排錯和復審。
1.10 開發軟件和相關的文檔要努力做到尊重使用該軟件的人的隱私權。
1.11 注意只使用合法來源的準確數據,并且只以適當授權的方式使用。
1.12 只在適當的時候,刪去過時的或有問題的數據。
1.13 努力辨別、定義和闡明與任何工作的項目相關的道德、經濟、文化、法律和環境問題。
1.14 為雇主、客戶、用戶和公眾最大限度地提高質量和降低費用。為有關的各方之間作出折衷。
1.15 努力遵循最適合于當前工作的工業標準,只有當技術上證明應該背離這些標準時才可以不遵守。
準則2:公眾
從職業角色來說,軟件工程只應該按照與公眾的安全、健康和福利相一致的方式發揮作用。為此,軟件工程師應該:
2.01 就其負責或了解的軟件或相關文檔,如其中存在任何有可能對用戶、第三方開發商或環境構成實際或潛在危害的危險,應向有關人士或權威機構報告。
2.02 僅當有充足理由相信某個軟件是安全的、滿足規格說明要求、已經通過了適當的測試,并且沒有降低生活質量或危害環境時,才贊成或批準它。
2.03 只在那些在他們的監督之下準備好的文檔上簽字,或者這些文檔屬其能力范圍內并為他們首肯。
2.04 對由軟件或相關文檔引起的公眾關心的重大問題應努力合作予以解決。
2.05 盡力開發尊重多樣性的軟件。與語言、不同的能力、不同的訪問形式(身體的、智力的)、經濟優勢以及資源分配等有關的問題都應予以考慮。
2.06 與軟件或相關文檔有關的所有陳述都要公正的誠實,尤其對于公眾關心的部分。
2.07 不要將自身利益、雇主的利益、客戶的利益或者用戶的利益置于公眾的利益之上。
2.08 當機會出現時把職業技能獻給美好的事業,并對與該學科相關的公共教育事業貢獻力量。
2.09 對他們自己的工作承擔全部責任。
準則3:判斷
在與準則2保持一致的情況下,軟件工程師應該盡可能地維護他們職業判斷的獨立性并保護判斷的聲譽。特別地,軟件工程師應做到:
3.01 對于要求他們評價的任何軟件或相關文檔,應保持職業的客觀性。
3.02 只在那些在他們的監督下準備好的并且在其能力范圍內的文檔上簽字。
3.03 拒絕賄賂。
3.04 除了合同的所有各方都知道的和都同意的之外,不接受第三方就該合同所付的回報、傭金或其他的酬金。
3.05 對任何特定的項目或者特定于該項目的服務,除了當環境已經完全暴露給有關的各方并且他們都已表示同意外,否則只從一方接受報酬。
3.06 對于那些不能合理地避免或避開并且又急切期望解決的利益沖突,要向有關的所有各方公開。
3.07 凡與他們自身、他們的雇主、他們的客戶的經濟利益有關的軟件或相關文檔,應拒絕作為成員或顧問參與政府或專業團體對該軟件或文檔做任何決定。
3.08 以支持和維護人的價值來調和所有的技術判斷。
準則4:客戶和雇主
軟件工程師的工作應該始終與公眾的健康、安全和福利保持一致,他們應該總是以職業的方式擔當他們的客戶或雇主的忠實代理人和委托人。特別地,軟件工程師應該:
4.01 只在他們的能力范圍內提供服務。
4.02 保證他們依據的任何文檔都獲得授權人的批準。
4.03 只以適當授權的方式使用客戶或雇主的財物,并且要讓客戶和雇主知道并獲得他們的同意。
4.04 不要在知道的情況下使用非法獲得的或持有的軟件。
4.05 對于在職業活動中獲得不屬于公共范圍的信息予以保密,當然,這種保密不應影響公眾關心的問題。
4.06 在他們工作的或知道的軟件或相關文檔中,對于任何與社會有關的問題應認真辨別、記錄并向雇主或客戶報告。
4.07 如果他們認為某個項目可能失敗,或證明費用太高,或違反了知識產權法,特別是版權法、專利法或商標法,或存在任何其他問題,應立即通知客戶或雇主。
4.08 不接受對其主要雇主的工作不利的其他工作。
4.09 在未獲得雇主特別同意的情況下,不去代表與他們雇主的利益相反的任何一方,除非需要服從一個更高的道德準則,此時他們應使雇主或另一個適當授權人或機構知道他們的道德情形。
準則5:管理
具有管理和領導職能的軟件工程師應該公平行事,應使得并鼓勵他們所領導的人履行自己的和集體的義務,包括本規范中要求的義務。特別地,扮演領導角色的軟件工程師應盡可能適當地做到:
5.01 在要求雇員遵守各種標準之前,保證使他們都已了解這些標準。
5.02 保證雇員知道雇主為保護口令、文件和其他的保密信息而采取的策略和規程。
5.03 只有在適當考慮了具有一定的教育和經驗同時確認對這種教育和經驗有進一步的渴望和要求之后,再分派工作。
5.04 在聽取對違反雇主的政策或本規范的指控之后給出必要的處理。
5.05 對于雇員做出貢獻的任何軟件、處理技術、研究、文章或其他的知識產品,對其所有權制定出一份公平合理的協議。
5.06 只通過對工作情況的全面和準確的描述來吸收雇員。
5.07 只提供公平合理的酬報。
5.08 對于有資格從事某項工作的下屬,不能不公平地阻止他(或她)取得該項工作。
5.09 不要求一個雇員去做任何與本規范不一致的事情。
準則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 不要為尋求個人的利益而暗中破壞其他軟件工程師的工作。
7.09 對處于自己能力領域之外的情形,應征詢相應領域的其他專業人員的意見。
準則8:本人
軟件工程師應該在他們的整個職業生涯中,努力增加他們從事自己的職業所應該具有的能力。特別地,軟件工程師應該始終努力做到:
8.01 進一步提高在軟件和相關文檔的設計、開發和測試方面的知識水平,以及開發過程管理方面的知識。
8.02 提高在合理的時間內以合理的費用創建安全、可靠和高質量軟件的能力。
8.03 提高編寫準確的、信息豐富的和語言流暢的文檔的能力,以支持所使用的軟件。
8.04 提高對所使用的軟件和相關文檔的理解,以及對這些軟件和文檔將要應用的環境的理解。
8.05 提高對管理所使用的軟件和相關文檔的法律知識的了解。
8.06 提高對本規范、有關它的解釋以及應用于自身工作的了解。
8.07 不要要求或影響其他人去從事任何違反本規范的活動。
8.08 視違反本規范為與軟件工程師職業不符的行為。
-
軟件工程師
+關注
關注
8文章
218瀏覽量
21147
發布評論請先 登錄
相關推薦
評論