【編者按】互聯(lián)網(wǎng)行業(yè)一夜之間變富翁的事件不足為奇,但是失敗的案例也比比皆是。 因此,如何管理好軟件項(xiàng)目儼然成為人們口中經(jīng)常提及的話題。作者 Harri Paavola發(fā)表了《 軟件項(xiàng)目為何失敗?》這篇博文,筆者從中摘譯了一些。我們一起來看下:
所謂“失敗”也就意味著與他們的預(yù)期不一致。”失敗可以分為三種:
以上三個(gè)問題,很難說其中一個(gè)問題凌駕于另外兩個(gè)問題之上或者說某個(gè)問題更為常見。
缺乏遠(yuǎn)見和權(quán)力
幾年前,芬蘭最高的一座公寓樓就建在了我家附近(與其他城市最高的建筑物相比,這并不算高)。左邊呈現(xiàn)的這幅圖是當(dāng)時(shí)參與競賽的設(shè)計(jì)圖,而右邊的則是實(shí)際呈現(xiàn)出的效果。
建筑行業(yè)VS.軟件行:舉個(gè)例子,目前房地產(chǎn)很火,造什么樣的房子,只要資金到位,都能保質(zhì)保量的造好。造10層樓,1層用多少人,每天做什么,很容易計(jì)劃,分配任務(wù),人力資源,而且需求是不會(huì)變的。沒見過造房子,蓋了3層之后改主意了,拆了重新蓋。而軟件就大大不同了,需求的變化是不可避免的,而且凡是做過項(xiàng)目的人都知道,需求的變化實(shí)際上還挺頻繁。這樣一來,很容易造成計(jì)劃趕不上變化。
當(dāng)工程項(xiàng)目拖延了工期,可以多加人手,把工期趕回來。而軟件就不這么簡單了,新來的人要熟悉項(xiàng)目的內(nèi)容就要花時(shí)間,工期很難完全趕上。很多IT的老總們體會(huì)不到這個(gè)問題,總以為多加人手,加班就能搞定。真正的有效的項(xiàng)目管理是要靠一個(gè)有效的管理體系來支撐的。
糟糕的開始
許多產(chǎn)品還未完成就被叫停了,這跟產(chǎn)品負(fù)責(zé)人也有關(guān)系。那么,在什么情況下會(huì)挑選下一任產(chǎn)品經(jīng)理來負(fù)責(zé)該項(xiàng)目呢?――原先的產(chǎn)品負(fù)責(zé)人不喜歡該產(chǎn)品,對(duì)該產(chǎn)品毫不在乎。
當(dāng)產(chǎn)品負(fù)責(zé)人對(duì)產(chǎn)品沒有強(qiáng)烈的欲望時(shí),那么他對(duì)產(chǎn)品的質(zhì)量也不會(huì)有太大的要求。如果長期目標(biāo)威脅到短期目標(biāo)(獎(jiǎng)勵(lì)機(jī)制),他會(huì)以快速且不負(fù)責(zé)的心態(tài)完成,如此一來,產(chǎn)品功能也跟著下降,最后呈現(xiàn)出的結(jié)果差強(qiáng)人意。比如Nokia推出的手機(jī)以及Windows Vista系統(tǒng),事實(shí)表明,很少有人愿意為此而買單。
管理人的軟弱
軟件開發(fā),尤其是在管理層上,包含大量的政治色彩。有時(shí),高層管理不會(huì)讓產(chǎn)品負(fù)責(zé)人追逐他們的夢想。這現(xiàn)象很普遍――不讓新的產(chǎn)品蠶食老產(chǎn)品。高層管理人無法接受這樣的市場蠶食。長此以往,我們所擁有的都是些殘缺的產(chǎn)品。不僅如此,有時(shí)其他產(chǎn)品負(fù)責(zé)人當(dāng)看到新產(chǎn)品會(huì)吃掉現(xiàn)有產(chǎn)品的銷售份額時(shí),他們也會(huì)發(fā)動(dòng)反擊。當(dāng)然這種行為建立在獎(jiǎng)勵(lì)機(jī)制上,銷售下降,獎(jiǎng)金也會(huì)跟著下降。
產(chǎn)品負(fù)責(zé)人的無能=產(chǎn)品的失敗
如果產(chǎn)品負(fù)責(zé)人對(duì)產(chǎn)品沒有強(qiáng)烈的責(zé)任心,那么該產(chǎn)品必定是失敗的;如果產(chǎn)品負(fù)責(zé)人沒有為公司制定夢想,那么產(chǎn)品失敗;如果產(chǎn)品負(fù)責(zé)人敵不過其他產(chǎn)品負(fù)責(zé)人,那么該產(chǎn)品也是失敗的。
發(fā)布?jí)牡摹⒉煌暾⒉缓线m的代碼
蘋果公司發(fā)布的" goto fail"就出現(xiàn)了Bug,這個(gè)bug會(huì)引起中間人攻擊,bug的描述中說,這個(gè)問題是因?yàn)閬G掉了對(duì)連接認(rèn)證的合法性檢查的步驟。就這因?yàn)檫@個(gè)Bug,所有 iOS設(shè)備與SSL有關(guān)的都出現(xiàn)了漏洞。Goto Fail成為一個(gè)經(jīng)典事件。(這里推薦閱讀酷殼網(wǎng)陳皓的這篇 Bug解析)
開發(fā)商的莫不關(guān)心
很多開發(fā)者不使用任何靜態(tài)分析工具以及不執(zhí)行任何代碼審查過程,儼然已經(jīng)成為一種普遍現(xiàn)象。從代碼技術(shù)層面來說無需進(jìn)行高質(zhì)量的代碼審查就意味著該團(tuán)隊(duì)中的每一個(gè)成員都能編寫出高質(zhì)量的代碼。很明顯這種假設(shè)是錯(cuò)的。
實(shí)踐證明,大多數(shù)團(tuán)隊(duì)中至少有一名開發(fā)者無法真正做到高效編程。因?yàn)槊總€(gè)人都會(huì)有心情不好的時(shí)候,當(dāng)某個(gè)人意志薄弱時(shí)難免會(huì)出錯(cuò)。
每個(gè)人都想成為老好人
即便在代碼審查過程中發(fā)現(xiàn)了錯(cuò)誤的代碼,很多人還是選擇隨它去了。這是因?yàn)槊總€(gè)人都想充當(dāng)老好人。而通常這類錯(cuò)誤的決定以及誤解都是由同一類人造成的。
當(dāng)審查者查找出錯(cuò)誤,哪怕是有一丁點(diǎn)錯(cuò)誤也不放過,長此以往這就使得審查者與開發(fā)者之間不再和諧,開發(fā)者認(rèn)為審查者是在故意找茬,兩者的矛盾慢慢就會(huì)產(chǎn)生。(推薦閱讀: 測試者和開發(fā)者,為何我們不能友好地相處?),審查者自身也認(rèn)為這樣顯得太過苛刻,于是他們給自己放松了標(biāo)準(zhǔn)。
開放但不等于成功,滿足用戶所需才是最重要
盡管微軟在Windows 8上注入了大量心血,但其市場份額并不理想,業(yè)界對(duì)此也褒貶不一,很多用戶認(rèn)為Metro界面和老的桌面體系并存,但融合的卻不那么平滑,有種非此即彼的分裂感覺。
這里還有兩個(gè)原因,筆者一句話帶過,即不聽――大多數(shù)不去輕易的嘗試產(chǎn)品,不愿傾聽別人的反饋;不問――大多數(shù)人不會(huì)主動(dòng)去問別人意見。寫在最后
產(chǎn)品失敗存在很多因素,只有做到做到面面俱到,方可在軟件開發(fā)領(lǐng)域分得一杯羹。
英文出自: page
下一篇 如何選擇適合自己的編程語言