你知道企業(yè)軟件做得都很爛的最大原因是什么嗎?
我們都聽說過這樣的故事:某某公司將要開發(fā)一套大型的先進(jìn)的ERP系統(tǒng)。這套系統(tǒng)將要取代三分之一的公司里現(xiàn)有的軟件系統(tǒng),可以消減二分之一的費(fèi)用,每個(gè) 人都會(huì)因此受益而高興。但現(xiàn)實(shí)中,這個(gè)項(xiàng)目超期2年還未完工,花掉的費(fèi)用比原先預(yù)想的多出2倍,最終做成的系統(tǒng)就是一堆垃圾。
Photo by Quinn Dombrowski, used under the Creative Commons license.
于是,追責(zé)行動(dòng)開始了。開發(fā)商用瀑布開發(fā)模式忽悠客戶,收取了高額的需求變更費(fèi)。軟件購買者不知道如何在一個(gè)信息系統(tǒng)里扮演客戶。需求說明書沒寫好/不詳細(xì)/不嚴(yán)格/太寬泛。顧問從一開始就不稱職。等等等等。
在失敗的軟件項(xiàng)目中,上面說的各種因素都有可能,但有一個(gè)因素卻是幾乎在所有失敗的項(xiàng)目中普遍存在的:軟件購買方并不是軟件的用戶。
這 個(gè)簡單的事實(shí)卻隱含著巨大的禍根。是否聽到過“客戶根本不知道自己要的是什么”的話?必然,因?yàn)樗麄兊拇_不是真正的客戶。大部分的軟件項(xiàng)目都幾乎完全沒有 按照最終用戶的思維模式去開發(fā)。它們的需求要么來自CTO的自負(fù),要么來自CTO的一個(gè)碰巧開了一個(gè)軟件公司的泥瓦匠兄弟的大腦,或者就是因?yàn)橥稑?biāo)的價(jià)格 過低所致。不管怎樣,軟件設(shè)計(jì)總是要符合開發(fā)商的***利益,并迎合購買方?jīng)Q策者的喜好,卻跟真正使用這個(gè)系統(tǒng)的人無關(guān)。
當(dāng)然,并不是每個(gè)購 買軟件的公司都表現(xiàn)的那么糟糕。很多的公司領(lǐng)導(dǎo)是真正關(guān)心系統(tǒng)開發(fā)的好壞和關(guān)心這套系統(tǒng)的最終使用者。如果不是因?yàn)槠渌脑?,至少是這個(gè)項(xiàng)目開發(fā)的好壞 會(huì)直接影響公司的運(yùn)營。但即使這樣也不會(huì)好到哪里去,因?yàn)樗麄內(nèi)狈σ痪€工作員工的那些經(jīng)驗(yàn)。他們不知道軟件如何做才是最適合它們的最終使用者。如果軟件的 設(shè)計(jì)是由XXX組委會(huì)/顧問委員會(huì)設(shè)計(jì)的、并有個(gè)很大的政治口號(hào),那就更糟了。
因?yàn)槲覀儙缀鯖]有辦法改變當(dāng)今的這些大型項(xiàng)目的投標(biāo)招標(biāo)簽約過程,作為軟件開發(fā)者,我們可以做些什么呢?一句話:換位思考。如 果你接到需求后沒有任何疑問的去實(shí)現(xiàn)它,那你應(yīng)該自責(zé)。所有的失敗都?xì)w咎于你也不為過。你的責(zé)任并不是照本宣科、需求上怎么寫你就怎么做。你的任務(wù)是為客 戶——不,是為最終用戶——做出有用的東西。為此,不論作為程序員這樣做是如何的大不敬,你也必須越職去跟那些將要使用你開發(fā)的軟件的人交流。
這就是為什么讓軟件程序員去體驗(yàn)最終用戶的工作是如此的重要。如果你將要開發(fā)一套客服系統(tǒng),就讓你的程序員去客服中心工作一天或一周。如果你要開發(fā)Web應(yīng)用,就讓程序員和設(shè)計(jì)師直接面對用戶反饋,不要把它們外包給印度。
為 了理解軟件的真正需求,除了直接跟真正用戶交流或在現(xiàn)實(shí)生活中真正的使用,沒有其它更好的辦法。雖然很多的企業(yè)型軟件項(xiàng)目在開發(fā)時(shí)沒有辦法先自己體驗(yàn)/反 饋,但你絕對可以將程序員送到真正的客服中心,沒有什么能比真正用戶的需求和痛苦能讓你更深刻的了。任何需求文檔都無法提供你一個(gè)完全的真實(shí)情況。任何技 術(shù)在沒有專業(yè)領(lǐng)域知識(shí)的支持下都不會(huì)出彩。沒有人會(huì)比那些沖到客戶現(xiàn)場***線的開發(fā)者更受客戶喜歡。這就是我們Bear Metal公司在每個(gè)項(xiàng)目上堅(jiān)持的工作方式。所以,我認(rèn)為你也應(yīng)該這樣。
原文鏈接:http://bearmetal.eu/theden/do-you-know-the-biggest-reason-why-enterprise-software-sucks/
譯文鏈接:http://www.aqee.net/do-you-know-the-biggest-reason-why-enterprise-software-sucks/