日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯網營銷解決方案
軟件開發(fā)中的十個認知偏差

最近,在和同事們討論產品經理職責的時候,聊到了關于產品的定義,如果不能準確定義“產品”的時候,可以考慮其必要條件,即可沒有用戶的產品肯定是沒有意義的。產品有了用戶, 必然存在用戶與產品的交互——UI。令我有些意外的是,得到的反饋是產品都要有web 頁面。顯然,這里存在著認知偏差。那么,軟件開發(fā)中的認知偏差有哪些?又如何面對和解決呢?

認知偏差是影響產研人員的固有行為,可以會把軟件產品的開發(fā)置于不正確的過程中,因此,有必要進行一些深入的學習和理解。認知偏差影響了產研團隊的哪些行為呢?討論和學習的前提仍然是概念澄清,需要從認知偏差的定義開始。

1. 什么是認知偏差?

以下是百度百科中給出的解釋:

認知偏差是人們在知覺自身、他人或外部環(huán)境時,常因自身或情境的原因使得知覺結果出現失真的現象。
—— https://baike.baidu.com/item/%E8%AE%A4%E7%9F%A5%E5%81%8F%E5%B7%AE

認知偏差最早于1974年由研究人員 Tversky 和 Kahneman 提出,經過數十年的研究,在經濟學,心理學,社會學和管理學研究中確定的認知偏差大概有200多種。經濟學家認為,大腦通常采用簡單程序應對復雜環(huán)境,因此出現偏差在所難免。而社會心理學家則認為,認知偏差跟自我中心的思維傾向有關,是為了維持積極的自我形象,保持自尊或者維持良好的自我感覺。不過,進化心理學家哈瑟爾頓(M. G. Haselton)和列托(D. Nettle)認為有的解釋難以令人滿意,給出的都是表面答案。他們提出了錯誤管理理論,認為通常的決策不是犯不犯錯誤的問題,而是犯哪種錯誤的問題。因此,如何解釋認知偏差是一個非常棘手的難題。

三種常見的認知偏差是:

(1)確認偏差:人只愿意看到自己想看到的

(2)達克效應:水平低下的人認為自己是最好的。

(3)認知失調:人趨向于尋找、堅持支持自己合理化解釋的認知。

就團隊協作而言,認知偏差一般是指人們根據一定表現的現象而對他人作出判斷,從而出現判斷失誤或判斷本身與判斷對象的真實情況不相符合。認知偏差可導致感知失真、判斷不精準、解釋不合邏輯、或各種統(tǒng)稱「不理性」的結果。

2.軟件開發(fā)中的認知偏差

軟件開發(fā)中,認知偏差可能是對最佳推理的系統(tǒng)性偏差,它影響我們如何發(fā)現、評價和記憶信息。以下,為了簡練,直接用“認知偏差”指代軟件開發(fā)中的認知偏差。

軟件開發(fā)的產研同學對這種行為無法免疫,并且可能由于多個原因而表現出為認知偏差。例如,易用默認的認知偏差可能促使產研人員根據自己容易記住的知識來選擇解決方案,簡單的說, 就是先干容易做的,作自己容易產出的交付,但是對業(yè)務的核心訴求可能幫助不大。另一些認知偏差可能來自過往的經驗,例如,堅持個人解決問題的風格,缺少了包容以及解決方案的多樣性。

并非所有的認知偏差都必然導致負面結果,有時候參與者采取的行動少于預期,也可以帶來積極的影響,例如,所謂的“傻人有傻福”。然而,在一個不受控制的環(huán)境中,認知偏差也可能造成重大的負面后果。在軟件開發(fā)中,一般可把反向的操作作為負面后果,具體發(fā)反向操作包括那些以后需要撤銷、重做或丟棄的任務和流程。

盡管可以確定認知偏差對軟件開發(fā)的一些方面存在有害的影響,例如bug密度、軟件需求的說明、設計原創(chuàng)性、功能設計等,但是,仍然無法中知道這些認知偏差怎么樣地影響了產研人員的行為和決策。或許,可以通過歸納認知偏差的種類,然后嘗試如何減少這種非最優(yōu)行為。

3. 認知偏差的分類

根據 Souti Chattopadhyay等人的研究,對其中的10類認知偏差進行梳理。

3.1 先入為主

先入為主的認知偏差表現為產研人員傾向于基于先入為主的手頭任務來選擇行動,會導致產研人員對采取行動所需的解決方案空間探索程度打折扣,造成完備性的缺失。

3.2一畝三分

這一認知偏差表現為產研同學過分重視他們自己創(chuàng)建或已經擁有的軟件任務,從而降低了客觀評估其他選項的可能性。對自己局部交付的偏好使產研人員無法完全探索解決方案的空間,同樣是完備性的缺失,甚至無法完成產品的完整端到端體驗。

3.3 固步自封

將解決問題的努力錨定在最初的假設上,而沒有根據增加的信息或相互矛盾的證據對錨進行充分的修改,這會導致對任務場景的感知減少,對業(yè)務核心訴求的變化缺失了關注。

3.4 易用默認

當產研人員僅僅基于他們的默認狀態(tài)選擇容易獲得的選項時,或者傾向于選擇當前條件而不考慮擴展性或適應性的時候,就會出現這種認知偏差。這會導致整個任務的場景丟失,局部最優(yōu)的和很可能不是全局最優(yōu)的解。

3.5 盲目樂觀

盲目樂觀體現出一系列的認知偏差,會導致錯誤的假設,以及所選解決方案的效率或者正確性。當人們過度相信自己的能力,或者高估了有利結果的可能性時,就會出現這種情況。

3.6 過度簡化

這一認知偏差體現為認為每個問題都存在一個的簡單原因的,以及采取看似更快或更簡單的解決途徑。這減少了產研人員在推理思考和理解信息方面的投入。

3.7 潛意識行為

它表現為將評價和感知轉移給外部資源(如 IDE 或在線資源) ,而不考慮這些信息的實際價值。

3.8 無知無畏

無知無畏指的是假設一切都是正常的、有效的、合理的,即便是在面對矛盾證據的時候。正因如此,產研人員可能會不注意周圍環(huán)境,乃至潛在的團隊合作可能性。

3.9 表面選擇

這體現為一系列基于表面標準的行為和信息被過度地重視。因此,產研人員沒有經過充分推理和思考就決定了一個解決方案。

3.10 記憶偏差

記憶偏差可能是各領域都存在的一種認知偏差,體現為研發(fā)人員更喜歡使用所遇到的主要信息或最近的信息,或對記憶中最容易獲得的信息結果作出反應。

總的來說, 這10種認知偏差主要導致了四種后果:探索不足,減少感知,語境缺失以及錯誤的關注。減少探索往往導致參與者創(chuàng)造次優(yōu)解決方案。感知的減少會使人們下意識地按照默認的理解行事,會導致錯誤的推理。語境缺失,會造成人們試圖解決一個問題并偏離核心訴求,一葉障目,不見泰山。錯誤的關注會影響到產研人員認為相關的信息,從而在解讀上發(fā)生偏差,甚至使他們花時間處理與核心訴求無關的問題。例如,當強調產品經理職責范圍的時候,核心的訴求是如何提高產品經理的能力和勝任力,但可能會被解讀成組織機構的調整。

4. 如何面對認知偏差

認知偏差在軟件開發(fā)中經常出現,例如,以技術債務來換取中短期交付的成果,三個月后,發(fā)現項目失敗了!回顧過去的時候,發(fā)現有人改寫了一些東西,因為那樣做更容易,結果把一切都搞砸了。

記憶偏差、過度簡化和先入為主可能是在人們經常感受到的認知偏差,而感受不深的認知偏差發(fā)生的頻率也并不很低。盡管目前的軟件開發(fā)流程和工具并不是為了避免認知偏差而設計的,但開發(fā)人員可能仍在使用它們來避免認知偏差。消除認知偏差可能是不現實的,但還是有一些方法可以減少認知偏差,或者減少認知偏差造成的負面后果。

4.1 系統(tǒng)方法

為避免成為認知偏差或其他錯誤的受害者,產研人員應該系統(tǒng)地探討問題空間,并探索可用的解決辦法和工具。這種不同任務參數的系統(tǒng)綜述有助于避免偏見,例如先入為主、記憶偏差和固步自封 ,因為開發(fā)人員會更好地意識到潛在的坑,也可以提前考慮替代解決方案。

除了可供選擇的解決方案之外,系統(tǒng)探索還可以幫助人們牢記“大局”,以大局為重。換句話說,它迫使產研人員更明確地欣賞和承認更大的目標,希望最大限度地減少他們在非核心訴求上分心的可能性。對開發(fā)人員而言,這可以通過促進使用現有的相關代碼來防止所有權(CB2)等偏見,這有助于保持較大的代碼庫向后兼容。

4.2 文檔閱讀

在開始一項任務之前查閱文檔也可以避免某些認知偏差,比如先入為主、記憶偏差和一畝三分 ,因為開發(fā)人員可以意識到解決問題的多種方法以及每個解決方案的缺陷。例如,開發(fā)團隊的文檔空間是記錄庫和包使用的指導方針,這些文件一般會指出如何使用某些代碼以及避免陷阱。

關于如何處理錯誤及其嚴重程度的標準化描述文檔也可以幫助開發(fā)人員更快地找到錯誤,從而克服諸如無知無畏和盲目樂觀等認知偏差。

4.3 多維的視角

欣賞不同的視角,加上相關的反饋,可以幫助避免某些認知偏差,如先入為主 ,固步自封 和表面選擇。接觸不同的方法可以幫助產研人員打破認知“引導循環(huán)”,迫使他們重新考慮、評估并證明任何后續(xù)行動的合理性。例如,結對編程可能幫助避免表面選擇的認知偏差。

4.4 流程優(yōu)化

良好的軟件工程方法,如頻繁迭代和測試,敏捷軟件開發(fā)等,可以在一定程度上幫助避免很多類別的偏見。對于開發(fā)人員而言,可以通過編碼標準和使用標準庫來避免一畝三分和易用默認等認知偏差。這也有助于開發(fā)人員找到合適的代碼來實現重用。

4.5 有意義的回顧與分享

從現有的開發(fā)模式中抽出時間進行回顧與分享,可以幫助產研人員意識到有益的實踐方法(比如清晰的代碼) ,這可以避免一些認知偏差,比如先入為主和記憶偏差。

最后,有效的問題解決策略也可以幫助減少一些諸如固步自封 ,過度簡化和潛意識行為等認知偏差。例如,收斂性思維可以確定一個問題的具體解決方案,幫助產研人員迅速地找到特定的解決方案,而發(fā)散性思維則探索問題的多種解決方案,幫助產研人員從一組備選方案中確定最佳解決方案。這樣可以防止產研人員將注意力集中在單一解決方案上,從而減少了固步自封的認知偏差。

5.小結

認知偏差經常干擾軟件的開發(fā),損害產研人員在任務執(zhí)行和投入時間方面的問題解決能力。應該讓產研人員意識到,認知偏差對軟件開發(fā)構成了重大威脅,而且可能比他們意識到的更加普遍,但有缺乏防止或幫助產研人員減少認知偏差的工具。本文整理出10種在軟件開發(fā)中出現過的認知偏差,指出了每種認知偏差的可能表現形式和負面后果,并提出了5種方法來減少甚至避免這些認知偏差,希望對大家有所幫助。

作者介紹

曹洪偉,社區(qū)編輯,現任DuerOS首席布道師。具有20多年研發(fā)經驗,致力于軟硬件系統(tǒng)的架構設計,性能優(yōu)化、平臺穩(wěn)定性建設等工作,實現系統(tǒng)智能化與規(guī)范化、流程自助化、以及可視化。


分享名稱:軟件開發(fā)中的十個認知偏差
文章網址:http://www.dlmjj.cn/article/djcjioj.html