軟件行業(yè)的道德、價(jià)值與實(shí)踐

責(zé)任編輯:editor004

作者: Rafiq Gemmail

2017-11-13 11:06:57

摘自:INFOQ

在Meduim網(wǎng)站最近的一篇博文中,Christiaan Verwijs提出了授予軟件開(kāi)發(fā)人員的權(quán)力是否應(yīng)該以道德行為準(zhǔn)則為基礎(chǔ)的疑問(wèn)。Bottcher以XP的價(jià)值觀和原則為基礎(chǔ),提出了快速反饋、簡(jiǎn)潔、可重復(fù)性和零冗余代碼四個(gè)核心價(jià)值。

在Meduim網(wǎng)站最近的一篇博文中,Christiaan Verwijs提出了授予軟件開(kāi)發(fā)人員的權(quán)力是否應(yīng)該以道德行為準(zhǔn)則為基礎(chǔ)的疑問(wèn)。Verwijs在標(biāo)題為《軟件開(kāi)發(fā)人員的道德規(guī)范?》一文中解釋說(shuō),軟件開(kāi)發(fā)人員對(duì)世界具有重大影響,并且他們具有“保護(hù)隱私、開(kāi)發(fā)安全應(yīng)用程序以及通過(guò)構(gòu)建產(chǎn)品以促進(jìn)產(chǎn)品多樣性的責(zé)任。” Verwijs繼續(xù)闡述說(shuō):

“軟件開(kāi)發(fā)者”是一種職業(yè),可與律師或醫(yī)生相媲美。任何一門職業(yè)所具備的典型特征就是它會(huì)有自己的道德準(zhǔn)則,就好比醫(yī)生遵循的希波克拉底誓言或是一些工程師所遵循的阿基米德誓言一樣。

2015年大眾公司的丑聞向我們展示了一個(gè)倫理妥協(xié)的極端案例,最終導(dǎo)致一名工程師在今年8月被判刑。這名工程師通過(guò)“在尾氣排放控制模塊中設(shè)計(jì)巧妙且隱蔽的算法,以偵測(cè)汽車何時(shí)進(jìn)行排放測(cè)試”,操控實(shí)際的尾氣排放測(cè)試結(jié)果。

大眾公司丑聞發(fā)生后,我們與IEEE Spectrum雜志進(jìn)行了溝通。以色列內(nèi)蓋夫Gurion大學(xué)的商業(yè)倫理學(xué)教授Yotam Lurie博士評(píng)論說(shuō):

大眾軟件工程師作為一名專家,竟忽視了自己的信托責(zé)任,這著實(shí)令人震驚。為確保安全性,即使效率或者經(jīng)濟(jì)性并不高,但專家在整個(gè)組織內(nèi)部是具有半監(jiān)管責(zé)任的,在該起事件中,具體指的是環(huán)境安全。

在今年早些時(shí)候的采訪中,Scrum.org的產(chǎn)品負(fù)責(zé)人Dave West對(duì)可能導(dǎo)致道德歧義的情況進(jìn)行了評(píng)論:

如果你被迫要求按時(shí)完成任務(wù),或者當(dāng)事情關(guān)乎你個(gè)人的生計(jì),你就很難定奪孰對(duì)孰錯(cuò)了。道德準(zhǔn)則可提供環(huán)境和框架,以支持專業(yè)人士。我很希望能夠看到一個(gè)標(biāo)準(zhǔn)化的行業(yè)道德準(zhǔn)則。而我們自己的道德準(zhǔn)則是不斷完成提升航天器類軟件專業(yè)性的使命。

Robert C. Martin(Bob叔叔)在9月份向InfoQ的Ben Linders發(fā)表了他自己關(guān)于程序員誓言的提議,其中涉及到9個(gè)關(guān)于工藝、透明度和反饋環(huán)的聲明。該聲明首先提到,“我不會(huì)編寫不利的程序代碼”,馬丁繼續(xù)解釋說(shuō):

軟件開(kāi)發(fā)者可對(duì)用戶造成兩種不利。 第一個(gè)是最明顯的,就是開(kāi)發(fā)的軟件可能會(huì)出現(xiàn)運(yùn)行錯(cuò)誤。 我們應(yīng)承諾盡最大努力提供不會(huì)出現(xiàn)運(yùn)行錯(cuò)誤的軟件,而這似乎也是合乎情理的。

進(jìn)而,Martin繼續(xù)闡述構(gòu)建軟件的職業(yè)責(zé)任,即軟件結(jié)構(gòu)設(shè)計(jì)應(yīng)將后期是否能夠?qū)υ撥浖M(jìn)行靈活調(diào)整考慮在內(nèi)。

程序員時(shí)常會(huì)對(duì)用戶產(chǎn)生的第二種不利影響則體現(xiàn)在軟件的結(jié)構(gòu)設(shè)計(jì)上。用戶通常都希望一款軟件可以進(jìn)行靈活的調(diào)整或更改,畢竟軟件應(yīng)體現(xiàn)出靈活性,用戶需要他們的軟件系統(tǒng)足以跟得上社會(huì)和技術(shù)的快速發(fā)展變化,所以承諾盡全力維護(hù)軟件的靈活性,這應(yīng)當(dāng)不算過(guò)分。

Lurie在其2015年發(fā)表的題為“軟件工程師的職業(yè)道德:道德框架”的文章中給出了一系列可能會(huì)在SDLC各階段均涉及到的道德問(wèn)題, Lurie解釋了軟件開(kāi)發(fā)中對(duì)道德思考的需求:

在該條件下,軟件開(kāi)發(fā)者(專家)和終端用戶(客戶)之間將存在某種權(quán)力關(guān)系,這必然需要基于道德制衡使其能夠正規(guī)化,以確保濫用現(xiàn)象的發(fā)生...

Lurie進(jìn)一步解釋說(shuō),有些行為通常被認(rèn)為是單純的技術(shù)活動(dòng),這些應(yīng)給予倫理道德的思考:

更具體地說(shuō),這些看起來(lái)貌似屬于軟件包的關(guān)鍵技術(shù)特性,如質(zhì)量、可用性、可靠性、精確性、適用性和安全性,實(shí)際上決定了該產(chǎn)品具有什么功能以及如何為客戶提供服務(wù)的問(wèn)題。軟件產(chǎn)品的這些關(guān)鍵技術(shù)特性實(shí)則具有重要的道德影響。

在ThoughtWorks近期的一篇關(guān)于構(gòu)建軟件、技術(shù)原理的“核心價(jià)值和實(shí)踐”博文中,Evan Bottcher分享了“軟件構(gòu)建工藝”中所反映的“基礎(chǔ)軟件工程價(jià)值”的見(jiàn)解。

Bottcher寫到:

價(jià)值觀是信念的一種描述,如果這些屬性存在,我們將能夠構(gòu)建軟件,并且不僅可滿足用戶和客戶的需求,而且有信心在短期或長(zhǎng)期時(shí)間段內(nèi)順應(yīng)快速的軟件變更。

Bottcher以XP的價(jià)值觀和原則為基礎(chǔ),提出了快速反饋、簡(jiǎn)潔、可重復(fù)性和零冗余代碼四個(gè)核心價(jià)值。 這些反過(guò)來(lái)還將支持8個(gè)核心工程實(shí)踐:

設(shè)計(jì)簡(jiǎn)單代碼集體所有權(quán)結(jié)對(duì)編程重構(gòu)測(cè)試驅(qū)動(dòng)設(shè)計(jì)持續(xù)集成重復(fù)性任務(wù)的自動(dòng)化垂直切片

Bottcher提到,這些價(jià)值觀和原則應(yīng)該適用于所有可交付的成果,包括MVP在內(nèi)。

當(dāng)一款軟件真正面臨被拋棄時(shí),是應(yīng)該做出權(quán)衡的。 然而,這些均為一些核心價(jià)值觀以及實(shí)踐做法,即便是短期交付的成果,仍存在不確定性。 放棄采納這些實(shí)踐做法將降低你的效率,即使在短期內(nèi)也是一樣。

Martin還強(qiáng)調(diào)了不要向程序員誓言相關(guān)的一些做法妥協(xié)的重要性。

每個(gè)程序員都有被過(guò)度結(jié)構(gòu)化和混亂的代碼嚴(yán)重阻礙的經(jīng)歷。這種代碼寫起來(lái)看似簡(jiǎn)單,但卻使系統(tǒng)處于一個(gè)令每個(gè)人都低效的狀態(tài),其他人效率越低,他們便會(huì)覺(jué)得采納捷徑的壓力越大,這使得系統(tǒng)處于不斷惡化的狀態(tài)。 請(qǐng)重復(fù)我的話:“若要走得快,首先需做得好”

Verwijs所描述的軟件開(kāi)發(fā)人員的道德規(guī)范,圍繞以用戶為中心、開(kāi)發(fā)人員與團(tuán)隊(duì)間關(guān)系提出了道德規(guī)范的相關(guān)建議,以及與故障和復(fù)雜性、透明度、質(zhì)量和用于保護(hù)用戶安全和隱私的快速反饋環(huán)的誠(chéng)信度問(wèn)題。Verwijs的道德規(guī)范是通過(guò)實(shí)踐來(lái)呈現(xiàn)的。 他解釋了采用單一代碼的困難:

這些道德規(guī)范涉及的其中一個(gè)問(wèn)題是,僅當(dāng)絕大多數(shù)開(kāi)發(fā)人員接受這些道德規(guī)范并且它們成為教育培訓(xùn)的一部分以后,才會(huì)產(chǎn)生效果。我們當(dāng)然還未達(dá)到該程度。

在大眾丑聞這個(gè)事件里,被判刑的工程師被要求服刑40個(gè)月,并支付20萬(wàn)美元的罰金,雖然這名工程師并沒(méi)有策劃該起丑聞,但檢方的備忘錄指出:

該名工程師明確自己所作所為是錯(cuò)誤的,但他通過(guò)安慰自己說(shuō),自己僅僅是一個(gè)工程師,主要工作就是不管可行與否,都要提出切實(shí)可靠的解決方案,以此來(lái)降低自己由于詐騙行為產(chǎn)生的道德負(fù)罪感。

查看英文原文:Ethics, Values and Practices for Software Professionals

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號(hào)-6京公網(wǎng)安備 11010502049343號(hào)