從事企業信息化管理多年,但看到問題時依然感覺無從下手。
中國企業太需要信息化管理,然而,更需要的是決策層領導層懂信息化。如果不懂,是很難出成果的,還會浪費時間,打擊企業信息化信心。其中他們面臨的第一大障礙就是:軟件開發太貴?。ɑ蛏舷到y太貴)
有這種思想和理解,對信息化而言帶來的,只能是阻礙。
說太貴的,大多不懂企業信息化,更別說開發了。
就像之前我回答過一個問題:如何看待領導花十萬上考勤系統的行為?(言下之意就是領導很二,人家買個考勤機幾百塊搞定的問題,領導花了十萬?當然還有可能認為領導吃了9.95萬的回扣吧,總之就大概這意思,當然這種情況當然不排除,但不是討論范圍),但就算有人認為很簡單考勤系統,如果用戶數1000,全國都有門店,要實現考勤漫游,如果還要支持手機端打考勤和請假,人員有定期排班和不定期排班,連上軟硬件,還有需求調研,開發,培訓全員一起,全部上好(好吧,外加領導層全力支持!)。給你十萬,不虧你就得謝天謝地!如果對方領導還不一定統一支持,給你50一百萬萬都未必能成。
傳統行業上信息化,企業老板(或決策層)非常關鍵:
1、老板要懂信息化,只有自己懂了,才能評價貴不貴的問題,才能清晰信息化真正的價值,才能支持信息化正確走向(現在做老板真的挺難的,要會經營管理,能搞定客戶和政府關系,還要懂信息化。。。不懂怎么辦?學呀!多參加IT論壇互聯網會議都好,有老板為了搞懂九零后思維,專門學習打王者榮耀,看玄幻網絡小說);
2、其次,他要找一個懂信息化建設的人來全盤規劃企業信息化(就是CIO)。并全面信任他(當然,前提他要有這個能力)。對這個人的要求其實非常高:
1)他要有很全面的IT視野。他的視野,決定企業視野,一定程度決定企業的發展甚至生死,IT經歷一定要豐富,IT技能要全面(要都干過),包含六個層面:基礎架構、網絡、服務器、運維、開發、數據庫,缺一不可。這六個層面全面了,他才可能將企業需求轉化為可操作的信息系統(還不涉及到錢、時間成本、部門協作等問題)
2)他要懂企業經營管理。企業上信息化,不僅僅是把軟件開發出來,部署到服務器就算成,如果用不起來就是一堆廢銅爛鐵(還是很費電、不斷增加成本的廢銅爛鐵)。所以他要清晰企業經營管理的方方面面,所有顯規則和潛規則,要能辨別有些即使他們叫苦連天,實際并無多大用處的需求,他(cio)的判斷力,就來源于他對企業經營管理的理解和經驗,如果判斷錯誤,后果可能很嚴重。所以,他不但是IT高手,還要是企業經營管理的能手,必須是老司機。
3)老板必須全面信任他。因為他提出很多東西,如果老板不信任,可能就支持不到位,系統本身很容易出BUG錯誤之類,如果不夠信任,系統一出問題,老板心里發毛,很多事情不議或不決,項目很可能就黃了。
3、要對信息系統可控。這個也非常非常重要,但很多人沒有意識到(或沒感覺)。很多企業,選了大牌如SAP IBM 微軟 Saleforce 用友、金蝶等全套方案,看上去很完美了。并不是說這些方案不好,但千萬不要忽視兩個重要問題:
1)企業需求會不斷變化;
2)IT系統本身也需要持續改進。
即使系統上線,如果系統不可控(一開始沒規劃好)會發生什么?即使系統正常上線,半年一年后一定有新需求系統要增加新功能,那怎么辦呢?就找原廠(一定會發生的情節是:你認為這個功能很簡單,但原廠認為已經超出原合同范圍,不要問我怎么知道的),你又要和原廠開始談判,協商新的功能價格,然后走商務流程(規則就是:越大的公司,內部流程越復雜,速度就越慢),擦,原項目經理已經離職了?派新項目經理過來?沒辦法還得配合他把原來的需求文檔全啃一遍,再結合新需求,費心費神不說,因為時間緊,趕緊設計新開發方案,然后開發 測試 。。。就這樣半年過去了,公司錢也花了,活動上的檔期也不對,大家反饋這個新功能還并不好用,老是有很多問題。。。老板很蒙圈,有氣都沒地發去,而且這個過程你沒得選(就為這一個功能換系統代價太高,而且時間也不允許)。這就是系統不可控的后果,所以企業上信息化,一定要考慮是否可控?如果要可控,那么無論是外包還是自建,都一定要培養自己的技術團隊(能全面接管系統開發和運維),花錢養這個團隊一定是值得的(前提是cio管理的好)。
現在我們再來看題主問題,為什么開發軟件會這么貴呢?
我們來看下,開發系統上線要經過什么的過程?
1、需求,需求是系統的基礎,可以說開發一個系統,拿到真實的需求是最困難的,這點張小龍和喬布斯都深有感觸,張小龍曾說過(大意如此):判斷用戶的真需求還是偽需求最困難。舉個很簡單的例子:沒有汽車之前,福特去調研需求:您需要什么樣的交通工具?用戶:我需要一匹更快的馬!如果按用戶需求思維,福特真設計四條腿的機械馬,我想就不會成就福特公司,也不會有當今發達的汽車工業。所以,鑒別真偽需求,顯性需求、隱形需求就很難,何況還可能轉化用戶需求(把馬轉化成汽車)?
2、設計,這是整個系統的靈魂步驟,一個系統設計不過關,必定走不久,未來業務變化,可能又要換系統,拿到需求就要進行
1)業務流程設計(可能涉及到業務流程重組,最費事又可能最反復,也是風險最高的地方);
2)系統架構設計(cs還是bs,私有部署還是云部署?其中架構時是否考慮可拓展的一體化的思想最為關鍵!決定這個系統能支持企業走多遠?。?/p>
3)功能設計(需要什么樣的功能,達到這樣的功能要幾步,分別是什么操作等)
4)程序代碼規范設計(包括庫、類、公用方法和控件的準備)
5)數據庫的設計(要幾個數據庫,這幾個數據庫的關聯性是什么?分別如何存放?每一條數據的來源和走向都要清晰,還要預估一年后表的增長數,服務器的承受能力和方案)
6)還有服務器的部署設計(業務跑公網還是私網?有沒有API接口?服務器的高可用方案?應用的高可用方案?數據庫的高可用方案?)
7)還有網絡方案(公網還是vpn?網絡安全性,vpn的穩定性?斷網的處理方案?)是不是蒙圈了?
3、代碼開發,盡可能保持統一一種語言來寫系統(大項目可能很難做到),盡可能少的人來編寫模塊代碼,需要研發經理統一分配模塊,研發經理來審核各成員代碼,代碼本身也需要統一管理(不管是svn還是tfs),否則項目往后就無法維護。。。如果是互聯網系統,還需要美工、UI和前端代碼,代碼質量基本決定項目質量,尤其是關鍵模塊(高頻操作模塊、或涉及金額、庫存等)。
4、測試,測試人員要充分理解編程思想和業務邏輯,編寫全面的測試用例。盡可能的測出系統bug和問題,反饋給開發修正(測試也分階段和模塊,還有壓力測試,要看項目大小和進度)。
5、培訓,系統上線前系統要做動員和培訓,讓具體操作人員清晰系統操作和管理范圍(這時候因為會改變很多人的操作習慣,還有系統有不完善,可能不配合,所以一定做上線動員,而且是老板做,明確不走系統就走人!)。
6、上線,如果前面步驟都過來了,那么確定上線時間,以及歷史數據的處理方式(一般財務有懂信息的人才),導入數據(可能是庫存,余額等,也要看實施方案,如果雙線并行,可能數據也不用導),然后到點就上新系統(終端、服務器、網絡都要提前配好),建立問題實時反饋通道和快速解決問題的通道(電話、qq、釘釘等都可以),實施人員下放到各使用系統單位,實時監控系統問題,發現系統問題,研發人員在后臺實時修改,快速測試和更新系統。一個月之后把上線數據拿出來財務(過生產、業務數據)分析,沒有大問題就算上線成功。
7、持續改進,快速迭代。(這個非常重要,但最容易忽視,也是企業最容易吃虧的地方)。企業級系統不是上線成功就萬事大吉了!市場在不斷變化,企業也會不斷擴張,需求也在不斷變化,系統本身也會不斷發現BUG要修正,所以系統本身就要求能不斷持續改進(快,比別人更快的更新能力),就要求要有這樣能力的團隊或機制來保障。一句話就是剛才說的關鍵點:對信息系統要可控!
8、上述七個過程,有流水線操作,也可能交叉操作,是一個管理過程,你覺得需要一個什么樣的人才能管理好,需要一種什么的團隊來配合?達到預期目標呢?
所以,題主的問題是為什么軟件開發會這么貴?
看到這里,非常感謝你,相信你也明白了。因為做好好系統開發很麻煩,過程管控復雜,既要求老板懂、要求高智高知高見,也要求懂業務、懂流程、懂管理,還要配合高體力團隊協同的工作啊。
當然,你可以說,外面買一套進銷存系統才五百塊,也能管理我店業務,那你怎么說?所以還是剛才的問題。是的,如果要出行,也沒必要非得自己買車,打車出行有時更方便,那是不是買車就沒有必要了?就像判斷藥物毒性一樣,拋開劑量談毒性都是耍流氓,軟件系統拋開需求談價格也是耍流氓。對一個早點鋪子來講,開通微信支付寶支付就已經是信息化了。
當然,你說我也可以采用Saas方案,就沒這么復雜了,功能也挺強大。是的,這個世界正因為有多種選擇才豐富多彩,選擇自己用起來就好,沒有對錯,只是一體化沒那么好做吧?后面的和其他系統的集成和拓展性也是需要評估吧?一般企業會有多種系統,多種系統都用saas?還是混合?數據如何打通?想想就復雜吧?
全文在手機上編輯,案例都憑記憶(沒有百度),如有有錯漏請諒解。保證良心干貨,如需轉載請聯系我本人同意。