自主開發與帶兵打仗兩個好似毫不相干的東西在最近的工作中越來越覺得兩者有著越來越多的相似之處。好吧說說目前的情況,我公司是個集團下屬的IT公司,有幾十名自己的研發團隊。有比較多自主開發失敗的情況,所以公司內部老是在討論我們到底是應該自己開發還是直接外購系統或外包出去。剛好前一段時間看了《三國》,想想自主開發跟帶兵打仗還是有很多相似的地方。
1. 成本高
俗話說“養兵千日,用兵一時”,要培養一支訓練有素的軍隊不容易,它要花費很長時間和大量物力。在企業裡面也是一樣,一個研發人員的待遇一般可以養得起2-3個業務/行政之類的人員了,因此研發團隊成本對一個企業來說是一個不小的負擔,對於管理水平低的企業來說更是如此。
2. 風險高
一但決定了要自主開發了那麼就需要人力、物力、精力不斷的往裡投,而且還不見得能能搞出來,搞不好可能搞了百千萬進去了最後也沒搞出個像樣的東西,然後團隊一解散,竟然只給公司剩下幾台“破”電腦(所謂的代碼如果沒有人的駕馭是沒有價值的,暫且忽略)。打仗也一樣,“兵馬未動,糧草先行”,仗還沒開始打呢就要先運吃穿住的東西了,而且有時投了很大的力氣,仗卻打敗了。
3.心態是一樣的
我覺得研發人員很像古代的將士,即所謂的“一將功成萬骨枯”,作為將士只有“戰死沙場”方顯英雄本色,作為研發團隊的我們肯定也是通過一個個成功的項目、一個個成功的產品來實現自己的價值,(當然失敗的項目和產品大家一般都不會說的,至少在簡曆裡是這樣的,呵呵)遇到什麼問題很喜歡通過自主開發的方式來解決,當然非研發人員其實更傾向於成熟的產品(如果市面上並且價格還能接受的話),也就是所謂的“外交渠道”來解決問題。
4.相似的“政治”
小時候看故事的時候經常會有這樣的情節就是:將帥(主角)在前線拚死拼活的打仗,但是背後朝廷裡卻有不少人在告狀,最終導致“出師未捷身先死,長使英雄淚滿襟!”,雖然在企業裡沒有那麼殘酷,但是由於不同人員他們所站的位置是不一樣的,因此導致了不同的價值觀及事情的判斷,如果項目進度再遇到點問題那麼這種反面的聲音就會越來越強烈,而老闆可能也會想投了這麼多錢卻沒出啥成果乾脆Close掉得了,導致了項目的失敗。
以上列舉了這麼多弊端,凡事都是有兩面性的,其實大家是多少有點明白的,不然也不會有這麼多的公司有著自己的研發團隊,下面來說說好處吧。
1.槍杆子裡面出政權
眾所周知,如今要在資訊化高速發展的資訊裡如果沒有自己靠得住的研發團隊的話是很難在激烈的競爭中取得優勢的,特別是對於產品或研髮型的公司。所謂的“槍杆子裡面出政權”,就是“只有掌握自己的武裝力量才能以革命的武裝反對反革命的武裝”,你看那些成功的大的公司哪家沒有幾百上千號人的研發團隊,他們能在本行業的資訊化、互連網化當中不斷的取得先機與主動,拼的就是的研發啊!所謂的外包、最佳實務都是忽悠的,資訊化走在前頭的公司都清楚,其實這些都是只能參考而以,本行業的資訊化還是自己最清楚。
2.打下來的才是牢靠的
從很多故事裡我們瞭解打的要比談的靠譜,如果產品是自己研發出來的那麼肯定也比直接外購的考譜(當然我說的是投入是差不多一個水平上的,你別說是光投了2個開發的就要跟人家MS的產品去比較)。有源碼在手,又是專門定製開發的,團隊還能夠比較清楚的瞭解系統。以後想整合的話想改哪就改哪,做過公司專屬應用程式整合項目的肯定對此都深有體會。
總結
其實之前很多情況下我也是比較主張自主開發的,但是有一次看了一家公司的產品(特定行業),功能無比強大,價格還無比便宜(小几萬塊錢)。想想之前我們自己開發的一些產品的經驗。如果我們想要做出同樣功能的話起碼成本得貴上十幾倍,而且可能還需要有一個相對長點的迭代周期。所以其實無論是自己開發還是外購,其實主要還是要看自己的需求與市場上產品的滿足程度,如果確實有很成熟的產品了那麼其實外購也無可厚非,如果再想穩妥點的話能把源碼給談下來更好了。那麼如果是決定自己開發的話也別什麼都是自己做,其實IT真的很貴,用不好會傷身的,當然用得好了可以強身健體。呵呵!