這兩天在與新客戶溝通時(shí)發(fā)現(xiàn)一個(gè)問題,客戶要求出報(bào)價(jià)單,即客戶想要開發(fā)的軟件按照模塊來報(bào)價(jià)。這種情況我相信很多同行都有遇到過,今天表達(dá)一下小溪暢流的觀點(diǎn)。
軟件定制開發(fā)有按模塊的開發(fā)方式但不應(yīng)該有按模塊的報(bào)價(jià)方式,因?yàn)?a href="http://deus-pokloni.com" title="軟件定制開發(fā)公司" target="_blank" class="sitelink">軟件開發(fā)是一個(gè)系統(tǒng)性的整體工作,不能拿出某個(gè)功能單獨(dú)的評(píng)估開發(fā)周期和價(jià)格。
軟件定制開發(fā)是根據(jù)客戶的需求,量身定制一系列符合客戶實(shí)際應(yīng)用的軟件。這個(gè)關(guān)鍵詞很容易理解,就想我們定制一套衣服一樣,普通的服裝設(shè)計(jì)師會(huì)把我們?nèi)淼某叽缌恳槐,客戶選擇所用的材料,厲害一點(diǎn)的服裝設(shè)計(jì)師還會(huì)根據(jù)客戶的性格,喜好,從事的職業(yè),出席的場(chǎng)合等等因素為客戶提供整套的服務(wù)定制結(jié)局方案。軟件定制開發(fā)也是這樣,但是現(xiàn)實(shí)情況是很多不規(guī)范的軟件公司沒有能力站在客戶的角度考慮軟件的開發(fā)和最終的應(yīng)用效果,從第一次接觸客戶開始,為了簽下這一客戶,就無限降低行業(yè)的原則。
一套軟件的定制開發(fā),從最初的需求確認(rèn),到最終用戶使用上需要做很多的工作。而編碼,只是其中一小部分內(nèi)容。在于客戶溝通需求時(shí),由于客戶不專業(yè),那么就應(yīng)該花較多的時(shí)間讓客戶能盡量多的了解軟件開發(fā)的專業(yè)性知識(shí)。
小溪暢流曾經(jīng)參與開發(fā)過中國重汽旗下動(dòng)力有限公司的生產(chǎn)執(zhí)行系統(tǒng)MIS,這個(gè)系統(tǒng)僅僅是編碼開發(fā)過程就耗費(fèi)了20人的研發(fā)團(tuán)隊(duì)整整一年的時(shí)間。而為了研發(fā)團(tuán)隊(duì)的工作效率更高,我們采用了模塊化的開發(fā)方式,即插件式軟件。某個(gè)業(yè)務(wù)模塊相對(duì)獨(dú)立,注意是相對(duì)獨(dú)立。比如:倉庫管理模塊。這個(gè)模塊是我主導(dǎo)開發(fā)的,是最先進(jìn)的JIT(Just In Time)無庫存管理方式。這個(gè)模塊與系統(tǒng)的整體框架約定好了通訊協(xié)議,用戶權(quán)限處理、數(shù)據(jù)讀取處理等規(guī)則,開發(fā)完成后,需要配置這個(gè)功能模塊的相關(guān)參數(shù)到整個(gè)系統(tǒng)里,才有最終的應(yīng)用效果。
客戶絕大多數(shù)情況不專業(yè),不了解軟件系統(tǒng)的開發(fā)工作都有哪些,不了解軟件的運(yùn)行都需要哪些條件。很多客戶簡(jiǎn)單的認(rèn)為,軟件開發(fā)就是把你們之前開發(fā)過的模塊稍微一拼就能夠出來一個(gè)新的軟件。
在軟件報(bào)價(jià)評(píng)估需要的考慮的因素中確實(shí)有這個(gè)代碼的復(fù)用率這個(gè)參數(shù),但,絕不是直接拿來主義。
首先不能復(fù)用的則是軟件的UI,即軟件的界面。任何一家軟件公司不可能直接拿別人的UI給到新的客戶,任何客戶也不能接受使用別人家的軟件UI。那么,就需要UI設(shè)計(jì)師根據(jù)客戶的具體需求設(shè)計(jì)軟件的UI。比如客戶公司的LOGO,VI的色調(diào),比如客戶使用習(xí)慣等等因素。而軟件的UI一換,前端的數(shù)據(jù)接口就需要重新來一遍。
小溪暢流的長(zhǎng)期合作伙伴濟(jì)南公交集團(tuán),有一次與領(lǐng)導(dǎo)匯報(bào)升級(jí)計(jì)劃,領(lǐng)導(dǎo)直接就說了,我以為換個(gè)樣子就像換書皮一樣簡(jiǎn)單呢!
我想有這種想法的客戶應(yīng)該很多,因?yàn)榭蛻舨粚I(yè)。
第二,就是涉及到數(shù)據(jù)結(jié)構(gòu)的調(diào)整。人家的產(chǎn)品包含10個(gè)屬性,你們家的產(chǎn)品包含20個(gè)屬性。那么數(shù)據(jù)結(jié)構(gòu)必須要調(diào)整,數(shù)據(jù)結(jié)構(gòu)一旦調(diào)整,所有的接口,業(yè)務(wù)規(guī)則處理就要重新開發(fā)一遍。
所以說,軟件定制開發(fā)代碼的復(fù)用率極其有限。
再說按模塊報(bào)價(jià),上面已經(jīng)說過插件式開發(fā)模式,相對(duì)獨(dú)立而不是絕對(duì)獨(dú)立。而且任何軟件都不是能夠?qū)⒛K獨(dú)立出來的。我們舉一個(gè)很簡(jiǎn)單的例子。比如,微信商城或者小程序商城中的購物車功能,我們不能把購物車擋車某個(gè)獨(dú)立的模塊來報(bào)價(jià),將商品添加到購物車,然后結(jié)算,支付,是一個(gè)完成的業(yè)務(wù)流程。涉及到用戶數(shù)據(jù),商品數(shù)據(jù),訂單數(shù)據(jù)和支付數(shù)據(jù)。而其中的業(yè)務(wù)邏輯是整體存在的。
再遇到有類似的客戶,希望做好售前的溝通,盡量讓客戶理解,明白。軟件定制開發(fā)是一個(gè)系統(tǒng)的工程,而不是在菜市場(chǎng)買棵大白菜那么簡(jiǎn)單。