天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

思考軟件開發中的快與慢

  英文原文:Software Development: Fast and Slow

  本文作者 Michael Dubakov 從事軟件開發方面的工作,他在讀了 Daniel Kahneman 的《思考,快與慢》后,思考了軟件開發中的快與慢,并且把書中的一些思想應用到實際的軟件開發中。下面是筆者對原文的翻譯:

  最近,我在閱讀 Daniel Kahneman 的《思考,快與慢》,這本書非常令人著迷。里面擁有大量的真知灼見,給讀者帶來一場思維之旅。目前,我在一家軟件公司工作,書中所學到的部分自然而然地可以應用到我們的工作中。下面,我將分享自己從這本書的所感、所知。

  系統 1 和系統 2

  這本書包括兩個部分,系統 1 和系統 2 。在書中,卡尼曼會帶領我們體驗一次思維的終極之旅。他認為,我們的大腦有快與慢兩種作決定的方式。常用的無意識的“系統 1”依賴情感、記憶和經驗迅速作出判斷,它見聞廣博,使我們能夠迅速對眼前的情況作出反應。但系統 1 也很容易上當,它固守“眼見即為事實”的原則,任由損失厭惡和樂觀偏見之類的錯覺引導我們作出錯誤的選擇。有意識的“系統2”通過調動注意力來分析和解決問題,并作出決定,它比較慢,不容易出錯,但它很懶惰,經常走捷徑,直接采納系統1的直覺型判斷結果。

  如果你是一名軟件工程師,你會快速抓住系統 1 和系統 2 的特質。系統 1 相當于緩存,而系統 2 則相當于業務層。緩存是廉價和快速的,而業務操作則比較慢和昂貴。

  下面我將會用書中的一些概念來理解軟件開發中遇到的一些實例。

  眼見為實(WYSIATI)

  通常,人們不會懷疑他們所看到的事情(從廣義上來講)。而如果你有一些信息,你很有可能會產生質疑,并且去查證。人們往往會基于現有的事實和有限的證據來做出決定。這樣很有可能會導致一個偏差:

  在軟件開發中,估算并不是件容易的事,我們有可能一直在犯錯,估算就是一個分布(Estimation is a distribution)。

  過分自信

  軟件估算是過度揮舞自信的產物。

  如果你問“我們需要整合 Twitter,需要顯示特定標簽下的所有推文,完成這些需要多久?”開發人員不會問其他額外的問題,通常都會直截了當的給出答案,2 天。這明顯是系統 1 里的心理反應。而答案也非絕對正確,盡管缺乏信息,但這并不影響估算。開發人員應該聰明點和自信點,但他們也應該擺脫 WYSIATI,并且認真仔細地思考一些未知數。

  框架效應

  描述問題的措辭很重要,同一個問題,用不同的語言描述,很有可能會產生不同的解決方案和反應,看下面這兩個問題:

  你認為,我們需要一個非常有經驗的開發人員來解決這么簡單的問題嗎?

  你認為,我們需要一個非常有經驗的開發人員來解決這么復雜的問題嗎?

  問題好像被設置了框架一樣。第一個問題,你很難去回答 Yes,相反,第二個卻很容易回答 Yes。

  忽視基礎概率

  有些事件可能會比其他的更容易些。然而,人們并不具備好的直覺和數據統計。

  比方說,你的產品被 1000 家公司采用,你接收到一封客戶的郵件,該客戶認為他們的想法很棒,而且必須馬上實施。存在這樣的爭論是很好的,而且非常有意義。你感受到了客戶的痛苦,并且集中全力快速啟動新功能的開發。好吧,你可能錯過了什么,那就是,你有想過其他 999 位客戶是否需要嗎?或許他們就不需要這樣的解決方案呢。你忘記了產品要基于更大的客戶群,而對于單個請求是否要進行重新審查。

  在平時開發中,這種錯誤很常見,并且我會反復提醒自己。現在,我會非常認真仔細地考慮每一個請求。而不是沖動。

  回答一個簡單的問題

  當我們對一個復雜的問題難以回答時,我們通常都會用簡單的思維來替代復雜,其實書中系統 1 就可以處理,大家來看下面這個例子。

  你常常會聽到這樣的問題:“該項目在 3 個月內會有哪些進展?”對于這個問題,你可以這樣理解:“這個項目會有哪些進展?”。

  通過做這樣的替換,你無需用系統 2 的思維來回答,直接使用系統 1 的就可以了。有趣地事,我們并未意識到替代,并且會很好地回答這個問題。

  情緒啟發式

  人們的情緒往往會對決定產生很大的影響。例如,如果你喜歡 Node.js,那么你會很樂意采用它來開發新的 Web 應用程序,而如果你不喜歡 Node.js,你會列出許多反對的理由,并且支持使用另一門語言來開發。

  這種情緒化的啟發式是很難克服的。雖然有時候是不合理的,甚至是不理智的。有時,這種基于直觀喜好的選擇并不是最好的。

  我只是列舉了一些表面例子,但很顯然,在軟件開發過程中,我們很容易基于這種情緒或某種偏見來做一些決定。

  直覺 vs. 模型

  事實上,在我們決定一些東西的時候,可以應用模型。 

  Kano 模型是一個非常好的例子,它可以幫助我們對新功能做出更加明智的決定。

  模型似乎一直好于直覺。模型會迫使你去思考領域,問題的方方面面,以及從各個不同的角度看它——使用系統 2 思維。

  這里有一些簡單的問題:“下面,我們該從哪個功能做起?”,你可能會根據直覺回答說:“高級搜索”。但實際上,這個功能可能并不重要,而是有數十個更重要的功能。你可以構建一個簡單的模型,并且進行評估。例如,在制作模型的時候,可以采用以下選項作為參數:

  • Kano 模型(基礎、delighter、性能)
  • 投票:客戶的需求有多大。
  • 頻率:客戶使用的頻率有多大。
  • 傳播:有多少人會使用這個功能。
  • 成就:(S, M, L, XL, …)
  • 復雜性:它會增加使用的復雜性嗎?

  通過制作這樣的模型,你會很容易做出決定。

  模型除了可以應用在軟件領域,它還可以應用在許多地方。實踐告訴我們,直覺很少能帶來正確的決定和很好地解決問題,除非你是史蒂夫·喬布斯。

it知識庫思考軟件開發中的快與慢,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产女人91精品嗷嗷嗷嗷 | 国产叼嘿久久精品久久 | 色欲AV亚洲永久无码精品 | 无遮挡h肉3d动漫在线观看 | 国产亚洲日韩在线播放不卡 | 国产精品一区二区三区免费 | 亚洲日本欧美天堂在线 | 理论片87福利理论电影 | 出轨的妻子在线观看 | 狼群影院视频在线观看WWW | 两个人看的www免费高清直播 | 中国国产不卡视频在线观看 | 肉动漫无修在线播放 | 欧美精品成人一区二区在线观看 | 久久AV国产麻豆HD真实乱 | 中文字幕按摩 | 天美传媒在线完整免费观看网站 | 成人在免费视频手机观看网站 | 欧美 日韩 亚洲 在线 | 孕妇泬出白浆18P | 综合激情区视频一区视频二区 | 亚洲欧美一级久久精品 | 久久无码AV亚洲精品色午夜麻豆 | 自拍区偷拍亚洲视频 | 日本工口生肉全彩大全 | 99在线观看 | 正在播放一区二区 | 电影日本妻子 | 美女在线永久免费网站 | 最新国产麻豆精品 | 成人午夜精品久久久久久久秋霞 | 龙广在线收听 | jzz大全18 | 日日摸天天添天天添无码蜜臀 | 中国hdxxxx医院护士 | 日本大片免a费观看视频 | 亚洲国产欧美日韩在线一区 | 爆乳啪啪无码成人二区亚洲欧美 | 国语自产精品一区在线视频观看 | 女性BBWBBWBBWBBW| 亚洲 欧美 国产 视频二区 |