在做了四年的軟件開發(fā),親身經(jīng)歷了幾個(gè)失敗案例之后,我不得不對(duì)這個(gè)問題進(jìn)行反思。我所接觸到的朋友多半是做軟件開發(fā)的,他們和我一樣,經(jīng)歷失敗的例子比成功的要多得多。從網(wǎng)上的各種文章、論壇得來的信息也一樣充滿著悲觀。
為什么這么多的失敗?對(duì)于這個(gè)問題,有著各種各樣的答案。諸如需求不明,不斷改變;項(xiàng)目管理混亂,時(shí)間一拖再拖;技術(shù)方案出錯(cuò),技術(shù)難題解決不了;人員流動(dòng)頻繁;產(chǎn)品出來后沒有市場(chǎng)、沒有競(jìng)爭(zhēng)力等等問題,不一而足。正是失敗的原因各種各樣,在產(chǎn)品開發(fā)的過程中要面臨一個(gè)又一個(gè)的險(xiǎn)灘與暗礁,而每一個(gè)都有可能是致命的威脅。如何面對(duì)這些危險(xiǎn),繞過這些險(xiǎn)灘?以下一些是我個(gè)人的思考。把軟件開發(fā)看作一個(gè)整體的流程,本文試圖從產(chǎn)品開發(fā)的整個(gè)流程來闡述我們會(huì)遇到的種種問題已及提出一些自己的見解。
一、軟件產(chǎn)品的立項(xiàng)
一個(gè)軟件產(chǎn)品的開發(fā)和項(xiàng)目有著許多不同,一般來說,軟件項(xiàng)目都是因?yàn)橛辛嗣鞔_的客戶,或者已經(jīng)有了合同或意向而開始啟動(dòng)的。軟件產(chǎn)品則完全不一樣了。在一個(gè)產(chǎn)品沒有開發(fā)出來之前,基本上沒有客戶。當(dāng)然也有人僅僅憑著一套大腦中的想法或概念就能找到客戶,對(duì)這些人我只有佩服。當(dāng)然大多數(shù)公司只能先拿出一套自己的產(chǎn)品去推銷,才有可能找到定單。所以就有了做產(chǎn)品的想法。在這些軟件公司中又可以分兩種情況。一種是在某個(gè)行業(yè)做了多個(gè)項(xiàng)目,也積累了一些行業(yè)、技術(shù)等經(jīng)驗(yàn)。每一個(gè)新的項(xiàng)目都要重復(fù)很多同樣的工作,效率自然不高了。這時(shí)公司很自然的想到要有自己的產(chǎn)品。于是開始產(chǎn)品的立項(xiàng)了。另外一種公司則完全不是這樣。他們不是在某個(gè)行業(yè)做過多少項(xiàng)目,甚至根本沒有做過一個(gè)項(xiàng)目,就要雄心勃勃的去做產(chǎn)品。這種情況每天都在發(fā)生。他們以前可能做系統(tǒng)集成的,可能賣硬件的,或許根本就不是IT行業(yè)的,或者恰好做了一個(gè)項(xiàng)目,現(xiàn)在他們要進(jìn)軍軟件行業(yè)了,所以急切的要做出自己的產(chǎn)品去打市場(chǎng)。于是他們?cè)谝环{(diào)查論證后,開始了產(chǎn)品的立項(xiàng)。在這兩種情況下,可以明顯的看得出前一種公司的基礎(chǔ)要好得多,成功的幾率也要大多多。但這并不表明后一種就會(huì)失敗。在目前階段關(guān)鍵是看他有沒有全面的調(diào)查論證,進(jìn)入這個(gè)軟件行業(yè),做這個(gè)產(chǎn)品是否可行。很多產(chǎn)品的失敗,從一開始就注定的了。公司沒做過多少認(rèn)真的論證就匆匆開始了。
軟件行業(yè),產(chǎn)品開發(fā)都有著自身的很多規(guī)律,如果公司的決策層、領(lǐng)導(dǎo)層沒有經(jīng)驗(yàn),也沒有去學(xué)習(xí),拿著別的行業(yè)的經(jīng)驗(yàn)去套用它,那失敗也就不遠(yuǎn)了。舉個(gè)簡單的例子,軟件開發(fā)中人力資源是最重要的。軟件開發(fā)人員的薪水在各個(gè)行業(yè)中是算非常高的了,特別對(duì)于有豐富經(jīng)驗(yàn)的人才更是與此。從傳統(tǒng)行業(yè)過來的領(lǐng)導(dǎo)層如果不明白這點(diǎn),也就找不到優(yōu)秀的人才了。無論哪種公司,他們?cè)谧霎a(chǎn)品立項(xiàng)時(shí)都要做好以下的心里準(zhǔn)備:? 軟件產(chǎn)品開發(fā)投資是很大的,特別是對(duì)哪些想做大型的、優(yōu)秀產(chǎn)品的公司。? 軟件產(chǎn)品開發(fā)周期也是比較長的。兩、三年做一個(gè)產(chǎn)品是很常見的。不要認(rèn)為半年就可以做一個(gè)很好的產(chǎn)品? 軟件產(chǎn)品是很容易失敗的。既有可能產(chǎn)品開發(fā)不出來,也有可能沒有市場(chǎng)。 如果一個(gè)公司沒有這些心里準(zhǔn)備,那結(jié)果就很可能失敗。為什么這么說,以我的親身經(jīng)歷來說吧。我曾經(jīng)做過的一家公司,主要業(yè)務(wù)是做系統(tǒng)集成的。后來開始了一個(gè)物流軟件的產(chǎn)品開發(fā)。在2000年左右,物流行業(yè)軟件剛剛興起,也算是一個(gè)比較好的方向。公司組建了一個(gè)開發(fā)團(tuán)隊(duì),開始了長達(dá)兩年的曲折的研發(fā)過程。由于在研發(fā)過程中遇到的種種問題,無法給公司領(lǐng)導(dǎo)層一個(gè)明確的結(jié)果,在研發(fā)開始初見曙光的時(shí)候,公司高層終止了這個(gè)產(chǎn)品。公司的高層忍受不了大量的投資和過長的時(shí)間。任何想做產(chǎn)品的公司都一定要有這些心里準(zhǔn)備,要充分估計(jì)投資額和研發(fā)周期。假設(shè)公司經(jīng)過了充分的