企業級軟體系統開發為何這麼貴?
從事企業資訊化管理多年,經常有人諮詢開發一個企業軟體要多少錢?其實這個問題感覺很難回答,因為無論你怎麼回答,得到的反饋大機率是:“怎麼這麼貴?”
那麼今天我們就一起來看看為什麼企業軟體開發會這麼貴!
首先,改革開放這麼多年,企業太需要資訊化管理。然而,比這更重要的是:決策層、領導層要懂資訊化,如果不懂,是很難出成果的,還會浪費時間,打擊企業資訊化信心。因為不懂,所以他們面臨的第一大障礙就是:軟體開發太貴!有這種思想和理解,對資訊化而言所帶來的阻礙力量比你想象中要大。
記得知乎上有一個問題:如何看待領導花十萬上考勤系統的行為?--題主言下之意就是領導很二,人家買個考勤機幾百塊搞定的問題,領導花了十萬?當然還有可能認為領導吃了很多回扣,這種情況當然不排除,但不是我們今天的討論範圍。所以就算有人認為很簡單考勤系統,如果使用者數1000,全國都有門店,要實現考勤漫遊,如果還要支援手機端打考勤和請假,人員有定期排班和不定期排班,連上軟硬體,還有需求調研、開發、培訓、實施全員一起,全部上好(好吧,外加領導層全力支援!)。給你10萬,如果要開發絕對虧的底褲不剩(除非你有現成軟體)!如果對方領導還內部都沒統一意見,給你五十、一百萬都未必能成。
傳統行業上資訊化,企業老闆(或決策者)非常關鍵:
1、老闆(決策者)要懂資訊化,只有自己懂了,才能評價貴不貴的問題,才能清晰資訊化真正的價值,才能支援資訊化正確走向。現在當老闆真不容易,要會經營管理,能搞定客戶和各種關係,還要能盈利,還要懂資訊化。。。當然,老闆決策層懂,並不是要懂如何開發?畢竟不是每個老闆都是馬化騰、雷軍等程式設計師出身,而是要懂資訊化的價值!不懂怎麼辦?學呀!多參加IT論壇網際網路會議都好,不乏有老闆為了搞懂九零後思維,專門學習打王者榮耀、看玄幻網路小說;
2、其次,他要找一個懂資訊化建設的人來全盤規劃企業資訊化(就是CIO),並全面信任他(當然,前提他要有這個能力)。對這個人的要求其實非常高:
1)他要有很全面的IT視野。他的視野,一定程度決定企業視野,甚至決定企業的發展空間,IT經歷一定要豐富,IT技能要全面(要都幹過),包含七個層面:基礎架構、網路、伺服器、運維、開發、資料庫、實施測試,缺一不可。這七個層面全面了,他才可能將企業需求轉化為可操作的資訊系統(還不涉及到資金、時間成本、部門協作等問題)。
2)他要懂企業經營管理。企業上資訊化,不僅僅是把軟體開發出來,部署到伺服器就算成,如果用不起來就是一堆廢銅爛鐵(還是很費電、不斷增加成本的廢銅爛鐵)。所以他要清晰企業經營管理的方方面面,所有顯規則和潛規則,要能辨別有些即使他們叫苦連天,實際並無多大用處的需求,他(cio)的判斷力,就來源於他對企業經營管理的理解和經驗,如果判斷錯誤,後果可能很嚴重。所以,他不但是IT高手,還要是企業經營管理的能手,必須是老司機。
3)老闆必須全面信任他。他提出很多東西,如果老闆不完全信任,可能就支援不到位,系統本身很容易出BUG錯誤之類,如果不夠信任,系統一出問題,老闆心裡發毛,很多事情不議或不決,專案很可能就黃了。
3、要對資訊系統可控。這個也非常非常重要,但很多人沒有意識到(或沒感覺)。很多企業,選了大牌如SAP IBM 微軟 Saleforce 用友、金蝶等全套方案,看上去很完美了。並不是說這些方案不好,但千萬不要忽視兩個重要問題:
企業需求會不斷變化;
IT系統本身也需要持續改進。
如果系統上線,如果系統不可控會發生什麼?即使系統正常上線(沒什麼問題),半年一年後一定有新需求,系統要調整或增加新功能,那怎麼辦呢?就找原廠。。。
這其中一定會發生的情節是:你認為這個功能很簡單,但原廠認為已經超出原合同範圍,不要問我怎麼知道的。。。
你又要和原廠開始協(che)商(pi),協商新的功能價格,然後走商務流程(規則就是:越大的公司,內部流程越複雜,速度就越慢)。。。
擦,原專案經理已經離職了?派新專案經理過來?沒辦法還得配合他把原來的需求文件全啃一遍,耐心告訴他們我們的一些某名其妙的內部規則,再結合新需求,費心費神不說,因為時間緊,趕緊設計新開發方案,然後開發 測試 。。。就這樣半年過去了,公司錢也花了,活動上的檔期也不對,大家反饋這個新功能還並不好用,老是有很多問題。。。老闆既蒙圈又生氣,還是有氣都沒地發的那種,又開始新的協(che)商(pi)...
關鍵這個過程你還沒得選(就為這一個功能換系統代價太高,而且時間也不允許)。。。
這就是系統不可控的後果,所以企業上資訊化,一定要考慮是否可控?如果要可控,那麼無論是外包還是自建,都一定要培養自己的技術團隊(能全面接管系統開發和運維),花錢養這個團隊一定是值得的(前提是cio管理的好)。
那麼,為什麼開發軟體會這麼貴呢?
我們來看下,開發系統上線要經過什麼的過程?
1、需求,需求是系統的基礎。可以說開發一個系統,拿到真實的需求是最困難的,這點張小龍和賈伯斯都深有感觸,張小龍曾說過(大意如此):判斷使用者的真需求還是偽需求最困難。舉個很簡單的例子:沒有汽車之前,福特去調研需求:您需要什麼樣的交通工具?使用者:我需要一匹更快的馬!如果按使用者需求思維,福特真設計四條腿的機械馬,我想就不會成就福特公司,也不會有當今發達的汽車工業。所以,鑑別真偽需求,顯性需求、隱形需求就很難,何況還可能轉化使用者需求(把馬轉化成汽車)?
2、架構和設計,這是整個系統的靈魂步驟。一個架構不過關,到後面的問題可能是毀滅性的(相同業務量,相近的硬體,你的系統只跑兩年就很卡,人家跑五年沒事,很可能就是架構沒做好);系統設計不過關,必定走不久,未來業務變化,可能又要換系統...
拿到需求就要進行:
1)業務流程設計(可能涉及到業務流程重組,最費事又可能最反覆,也是風險最高的地方);
2)系統架構設計(cs還是bs?有沒有app?私有部署還是公有云部署?其中架構時是否考慮可擴充的一體化的思想最為關鍵!決定這個系統能支援企業走多遠!)
CRM 中 RMF模型
3)理論支撐(很多商業模型都是有理論支撐,那就設計系統時,也必須具備這樣的理論基礎,否則就達不到預期效果。不懂這些理論,做出的東西可能就是驢唇不對馬嘴)
4)功能設計(需要什麼樣的功能,達到這樣的功能要幾步,分別是什麼操作等)
5)程式程式碼規範設計(包括庫、類、公用方法和控制元件的準備,好的控制元件有時能節約一半的開發時間,還有編碼規範)
6)資料庫的設計(資料庫規範,要幾個資料庫,這幾個資料庫的關聯性是什麼?分別如何存放?有無高併發場景?解決方案?每一條資料的來源和走向都要清晰,還要預估一年後單表資料的增長,伺服器的承受能力和方案)
7)還有伺服器的部署設計(業務跑公網還是私網?有沒有API介面?伺服器的高可用方案?應用的高可用方案?資料庫的高可用方案?讀寫分離方案)
8)還有網路方案(公網還是vpn?網路安全性,vpn的穩定性?斷網的處理方案?)是不是蒙圈了?開發模式各有優劣,要依據專案情況來選擇
我司使用的敏捷框架:
3、程式碼開發,儘可能保持統一一種語言來寫系統(大專案可能很難做到)。儘可能少的人來編寫模組程式碼,需要研發經理統一分配模組,研發經理來稽核各成員程式碼,程式碼本身也需要統一管理(不管是svn還是tfs),否則專案往後就無法維護。。。如果是網際網路系統,還需要美工、UI和前端程式碼,程式碼質量基本決定專案質量,尤其是關鍵模組(高頻操作模組、或涉及金額、庫存等)。
4、測試,測試人員要充分理解程式設計思想和業務邏輯,編寫全面的測試用例。儘可能的測出系統bug和問題,反饋給開發修正(測試也分階段和模組,還有壓力測試,要看專案大小和進度)。
5、培訓,系統上線前系統要做動員和培訓。讓具體操作人員清晰系統操作和管理範圍(這時候因為會改變很多人的操作習慣,還有系統有不完善,可能不配合,所以一定做上線動員,而且是老闆做,明確不走系統就走人!)。
6、上線。相信我,上線可能會很痛苦,也可能很順利,這是檢驗前面的測試、培訓工作是是否到位的過程!如果前面步驟都過來了,那麼確定上線時間,以及歷史資料的處理方式(一般財務有懂資訊的人才),匯入資料(可能是庫存,餘額等,也要看實施方案,如果雙線並行,可能資料也不用導),然後到點就上新系統(終端、伺服器、網路都要提前配好),建立問題實時反饋通道和快速解決問題的通道(電話、qq、釘釘、微信等都可以),實施人員下放到各使用系統單位,實時監控系統問題,發現系統問題,研發人員在後臺實時修改,快速測試和更新系統。一個月之後把上線資料拿出來財務(過生產、業務資料)分析,沒有大問題就算上線成功。
7、持續改進,快速迭代。(這個非常重要,但最容易忽視,也是企業最容易吃虧的地方)。企業級系統不是上線成功就萬事大吉了!市場在不斷變化,企業也會不斷擴張,需求也在不斷變化,系統本身也會不斷發現BUG要修正,所以系統本身就要求能不斷持續改進(快,比別人更快的更新能力),就要求要有這樣能力的團隊或機制來保障。一句話就是剛才說的關鍵點:對資訊系統要可控!
8、上述七個過程,有流水線操作,也可能交叉操作,是一個管理過程,你覺得需要一個什麼樣的人才能管理好,需要一種什麼的團隊來配合?達到預期目標呢?
所以,為什麼軟體開發會這麼貴呢?
相信你也明白了。因為做好好系統開發很麻煩,過程管控複雜,既要求老闆懂、也要求CIO懂業務、懂流程、懂管理、懂技術,還要管理技術團隊協同工作。
當然,你可以說,外面買一套進銷存系統才五百塊,也能管理我店業務,那你怎麼說?
是的,如果要出行,也沒必要非得自己買車,叫車出行有時更方便,那是不是買車就沒有需求了?
就像判斷藥物毒性一樣,拋開劑量談毒性都是耍流氓,軟體系統拋開需求談價格也是耍流氓。
對一個早點鋪子來講,開通微信支付寶支付就已經是資訊化了。
當然,你說我也可以採用Saas方案,就沒這麼複雜了,功能也挺強大。
是的,這個世界正因為有多種選擇才豐富多彩,選擇自己用起來就好,沒有對錯。
可能一體化沒那麼好做吧?
後面的和其他系統的整合和擴充性也是需要評估吧?
一般企業會有多種系統,多種系統都用Saas?還是混合?如果要互相打通?想想就複雜吧?
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31428300/viewspace-2655747/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 明明是企業管理軟體,CRM系統為何被牴觸?
- 企業為什麼要上管理系統軟體
- 為何企業的IT系統“短命”
- 何為軟體開發的難?
- 力軟敏捷開發框架,快速搭建企業級應用系統敏捷框架
- 企業級軟體開發新模式:低程式碼模式
- 開發軟體有多貴
- 這款免費OA系統為何得到眾多企業喜愛?
- 分析為什麼企業需要Zoho Projects的文件管理系統軟體?Project
- 模切企業為何要用ERP系統?
- 都6年過去了 為什麼企業軟體還這麼爛
- 為什麼越來越多的企業開始使用軟體快速開發框架?框架
- 低程式碼開發平臺,快速開發企業級系統
- MES系統軟體企業如何操作?
- 軟體開發為何採用持續整合
- 原始碼安全加密系統對軟體開發企業的重要性原始碼加密
- 開發軟體到底有多貴
- 企業為何要將ERP系統遷移至雲端?
- 企業管理軟體開發新模式:拋開舊思維,輕鬆做系統模式
- 企業為什麼需要CRM系統
- CRM為什麼慢慢成為企業必備軟體?
- Linux企業級開發技術(6)——libevent企業級開發之記憶體管理Linux記憶體
- 企業為什麼要用企微管家scrm系統?
- 企業為何紛紛選擇CRM客戶管理系統
- 軟體中國_企業級應用
- 企業專案管理系統是何?專案管理
- 企業社交直播軟體開發,區塊鏈IM即時通訊系統開發區塊鏈
- 低程式碼引擎模式,專業打造各類企業級資訊管理軟體系統模式
- 說說軟體開發這個職業
- 企業管理系統庫存管理軟體進銷存系統協同辦公系統二次開發
- 企業為什麼要做CRM客戶管理系統?CRM系統能為企業帶來什麼好處?
- MES系統軟體適用於哪些企業?
- 為什麼推薦好用的企業CRM軟體?
- 怎麼選擇更適合企業的ERP系統?企業ERP管理系統開發
- 企業遊戲開發適合用什麼專案管理軟體?遊戲開發專案管理
- 企業管理系統-ERP開發
- 誕生快十年了 iPhone為何還能賣這麼貴呢?iPhone
- 半導體企業為何選擇使用無錫哲訊SAP系統