某一事物的開發製作者要比使用體驗者更高明,這個命題一定是成立的吧?
不成立。一般用戶,與其說「開發者都預計到了他們的操作方式,所以開發者更高明」不如說是「一般用戶都會遵守遊戲提示,按照一般遊戲操作方式進行操作」。這並沒有說明開發者在程序方面能有多高明,而是開發者開發時遵守了市場上大多數的用戶習慣。然而肯定會有一些用戶不按照正常流程的方式出現奇怪的 BUG ,甚至從中獲利,網路遊戲中此類現象比比皆是,這是「用戶傻,不安正常方式操作」還是「開發者考慮不夠全面,而讓使用者發現異常」?來看看知乎上「輪子哥帶我看世界教」的 @vczh 的說法,
為什麼說用戶量提高10倍以上,系統一定出bug?
用戶多了,就更容易出現那些不好的用戶了。
不好的用戶就是不聰明的用戶嗎?我覺得這可看不見的,輪子哥應該也不是認為他們不高明,只是認為他們不遵守一般開發者設定的操作流程。
開發者開發無可避免的因為自身局限性不能全面的考慮到整個群體,所以難免遭到使用群體中的抱怨甚至謾罵,這個時候要分辨到底程序的操作上,是只有少量用戶的操作有問題,還是存在為數不少的用戶都抱怨開發者所謂「正確的操作方式」很不正常。如果問題是:某一事物的開發製作者要比使用體驗者更高明,這個命題是成立的吧?
回答是,「可能是成立的」。
但是題目問題是這樣的:這個命題一定是成立的吧?
那麼回答只能是,「抱歉,命題不成立」,就算做了一個Hello World 自己看,自己看完會覺得自己比自己高明嗎?
不過沒關係,如果還覺得自己高明,我找了一些借口,把借口擺出來,仍然可以維持開發人員比用戶聰明的想法:話說讓有些程序猿承認自己有問題就那麼難嗎?是的,所以總有人黑程序員「這就是的程序員的尊嚴嗎?」。出 bug 了改了不就好了,誰能保證自己能一輩子不出錯?能方方面面考慮全面沒有遺漏?微軟的各個團隊開發時考慮了那麼多,依舊是有 bug 就修復,而不是發布一個「用戶你錯了,你不能這麼操作」的公告,這態度不就挺好嗎?來看個實例,我一般真不想拿出這個來……c++ - Cycles in family tree software軟體真的好難做啊
- 在我這邊的電腦上可以工作啊……
- 我重來沒有聽過這樣的事
- 昨天還能正常工作呢
- 這怎麼可能?
- 這應該是機器或是環境的問題
- 操作系統更新了嗎?
- 一定又是用戶那邊的錯
- 你的測試數據一定有問題
- 我從來沒有碰過那邊的代碼!
- 一定是你搞錯了
- 我不可能測試所有的case!
- 那根本不可能做到
- 一定是有人改了我的代碼
- 你的機器上一定中了什麼病毒或木馬
- 就算是程序有問題,那又怎麼樣?
程序員慣用的解釋
我是一個寫家族族譜軟體的程序員(我用的是C++和Qt),這個軟體基本上沒有什麼問題,直到有一天有個用戶報告了一個bug。這個問題是這樣的——我這個用戶和他女兒生了兩個孩子。
於是,我程序員的一些斷言和硬性條件導致程序報錯,因為我的程序在處理這個關係的時候,其發現X即是Y的爸爸,又是Y的爺爺,所以只能報錯。
請問,在不需要移除我的斷言和數據驗證的情況下,我怎麼才能解決這個問題?
看下酷殼的分析。
從技術的角度上來說,這是我們經常在設計軟體時犯的錯誤——
1)作了錯誤的假設(Assumption)
Assumption是軟體設計的重大天敵,Assumption的動詞Assume意為Ass u me – Ass you and me 。你的假設做得越多,你的設計就越不靠譜。這裡的假設是——我們以為family tree是一個tree,其實並不是tree。Assumption是魔鬼。
還有一些經典的Assumption如下所示
- 最著名的就是那個y2k臭蟲。
- 不要以為沒有2月30日,在瑞典1712年有2月30日
- 一分鐘有60秒?閏秒呢?
- 雙胞胎的生日是同一天嗎?
- 雙胞胎的父親是同一個?
- 性別只有男和女?
- 婚姻只能是異性? 關於這一點,推薦一篇強文——Gay marriage: the database engineering perspective (同性婚姻:資料庫工程)
2)沒有認真分析用戶案例(Use Case)
在設計軟體時,我們需要考慮各種各樣的用戶案例,比如如下的東西:
- 私生子的問題
- 一夫多妻或一妻多夫,同父異母,同母異父
- 就算一夫多妻制違反法律,也會有離異再婚的情況
- 同性戀的問題,雖然不能繁衍,但可以領養。
- 換妻活動
- 各種亂倫關係——這種東西那個民族都不少,尤其是古時候,比如:
- 先後嫁了兩個人其是父子關係(昭君)
- 達爾文同學和他的表妹,愛因斯坦的二婚是和他的表姐,埃及豔后嫁了她的弟弟,……
- 順治同學娶了四個老婆,這四個人還是一家人:姑姑,侄女,妹妹,女兒。(參看這裡)
- 劉邦同學的母后干出來的事,相當變態(參看這裡)
- 中國古代的「扒灰老」 (類似於樓主那個問題的Use Case)
不想再列下去了,人類真TMD噁心,有點要吐了。
我屮艸芔茻,人類真 TMD 噁心……
再看看 stackoverflow 這個問題下的回復,基本都是在討論問題,而不是說自己比用戶有多高明。承認自己錯了有那麼難么……我想說的其實和這個回答最類似。You should focus on what really makes value for your software. Is the time spent on making it work for ONE consumer worth the price of the license ? Likely not.
I advise you to apologize to this customer, tell him that his situation is out of scope for your software and issue him a refund.
長篇大論沒有嘲諷的意思,只是為了說明「一定」這個詞太絕對了,可能會比某些用戶高明,但是不可能「一定」比用戶高明。
利益相關:曾經是產品經理,我的職責就是說服開發者,讓他們覺得自己並不比用戶高明。以上。====題主沒罵我,決定取匿了。ε=ε=ε=ε=ε=ε=┌(; ̄◇ ̄)┘歌德巴赫笑而不語
我要來抖這個機靈
————————
共產主義微微一笑萬智牌的作者首次組織萬智牌大賽之前以為自己是世界上頂尖的牌手,結果被玩家們完爆
要看是從哪個方面來說,比如就遊戲技巧本身?據最新暴走大事件對憤怒的小鳥作者採訪作者表示自己僅玩過一次╮(╯▽╰)╭ 再著畢竟好的事物的體驗者往往數量幾倍於開發者那麼好的創意也是常常會在他們中出現
遊戲圈的哭給你看.各種卧槽!?!@#!@#???還能這麼玩?!!@#!!@#???????
推薦閱讀:
※網遊行業從業人員怎麼看待玩家沉迷和家屬鬧事?
※如何評價爐石傳說的玩家心理?
※遊戲策劃中卡難度和卡等級的優缺點是什麼?
適合於應用在什麼類型的遊戲上?
※《玩家》第12期:墨魚和家人的故事