企業開發的互聯網轉型

jopen 10年前發布 | 15K 次閱讀 互聯網

  算起來,我從互聯網開發投身企業開發已經有四年多時間了。剛剛進入企業開發領域時心里很是忐忑,雖然也讀過《企業應用架構模式》之類的書,到底 沒有做過正經的“企業開發”,好在業務不算太復雜,所以更多是借著之前互聯網開發的老底子解決問題。而且,這么做確實能解決問題,只是心里還不太放心,總 覺得這不是名正言順的“企業開發”,以后會有問題。

  談到傳統的企業開發,大家通常想到的是“為明確目標(通常由甲方設定)而開發的緊耦合固定系統”,主要元素包括重型框架、長發布周期、嚴格的限 制、海量的文檔、對商用軟件的倚重等等。談到互聯網開發,大家通常想到的是“為不明確或多變目標而開發的松散多變系統”,主要元素包括輕量類庫、迅速迭 代、不斷試錯、簡單交流、開源/免費軟件的廣泛使用。傳統上,企業開發和互聯網開發儼然兩派,你覺得我是雜亂無章的恣意胡鬧,我覺得你是傻大笨粗的因循守 舊,好在雙方“井水不犯河水”,也相安無事。

  企業開發和互聯網開發的這種區別,讓我在以互聯網開發的方式應對企業開發任務時,始終有揮之不去的擔憂。然而工作得越久,事實卻不斷證明這種擔 憂是多余的,或者至少不必高估“企業開發”的正統性。而且,有越來越多的跡象讓我相信,企業開發的互聯網轉向,即在企業開發中越來越多地采用互聯網開發的 方法,是未來的趨勢。按照我的總結,原因大致有以下幾點。

  首先,經濟的發展誕生了越來越多的小企業,而信息化的發展已經讓 IT 成了各種企業的必須,傳統的“企業開發”無法適應這些小企業的需求。前些年大家開個飯館、書店,可能手工記賬即可。現在哪家飯館、哪家書店沒有系統,簡直 是不可想象——哪怕這種 IT 系統是非常簡單的程序。尤其是在電子商務興起之后,中小企業都希望上網展示自己、拓展業務,這時候更少不了系統。對于信息系統,這些小企業最關心的是簡 單、便宜、易用,傳統的重量級、長周期、高投入的“企業開發”完全無法滿足。即便企業業務增長迅速對系統提出了更嚴格要求,這種業務通常也是創新型的業 務,沒有現成的系統系統可用,所以更加可取的是互聯網開發模式下輕量級的、迅速迭代的系統,輔以優秀的架構和精心的設計。

  其次,企業開發已經很難吸引到優秀的人才加盟。早年的軟件開發幾乎就等于“企業軟件開發”,一招一式皆有成為規范可循,而互聯網開發更像是半路 出家,“摸著石頭過河”的產物,長期不為科班所正視。所以之前定義的“好學生”,往往是理論學得扎實、教材讀得仔細、工具用得熟練的人,所以“好學生”往 往能成為企業開發的優秀人才。如今的情況卻大不相同,“好學生”嘴里談的更多也更感興趣的,大多是 MongoDB、Node.js、Ruby on Rails、Go 等等新鮮玩意。別說“老派的”WebService、Struts、Hibernate,甚至就連更“先進”的 .NET MVC、Spring 估計都不能引起他們的興趣。加之傳統從事企業開發的人對技術的保守特性(更愿意采用成熟技術),直接杜絕了大量人才(包括優秀的苗子)進入企業開發領域的 可能性,而沒有新鮮血液補充的企業開發團隊,不說開發新功能,維護的成本都會日益增高。我曾經遇到過客戶仍在使用 Delphi 開發的系統,可惜已經很難找到人維護了。

  再次,移動辦公的應用場景所倚賴的技術離不開互聯網。傳統的企業開發,無論 Java 平臺還是 .NET 平臺,與如今流行的移動開發基本是“絕緣”的。企業開發所使用的 COM、SOAP、WSDL、ActiveX 等等技術,在 iOS、Android 開發者看來,簡直是天方夜譚,即便費勁周折,也不一定能取得好的效果。然而,企業系統分明又面臨著支持移動平臺、移動辦公的壓力,如果固守之前的套路和技 術,只有死路一條。如果企業開發逐漸采用 Ruby on Rails,RESTful 等技術,那么整套系統還有什么必要死守著之前的 SOAP、WSDL 之類呢?

  最后,如今的互聯網已經越來越講究互連互通了,傳統企業開發的“閉環”思維和模式,已經越來越不適應時代的要求。我接觸的很多客戶、合作方,發 現企業系統的一大問題是信息孤島效應。傳統企業開發講究“安全”,所以信息都是閉環,只要內部運行流暢穩定即可。可是,一旦需要與外部進行數據交流(比如 將微博、微信對接到 CRM,將公開市場上的物料信息對接到 MRP),則叫苦不迭。因為沒有合適的對外接口,所以要么就冒很大風險給出權限很大的帳號,要么就只能通過 QQ、郵件、電話等方式人工交換數據。無論如何,執行起來都有諸多問題。企業開發這種為確定目的“量身打造”緊耦合的系統的做法,在互聯網開發的人看來是 不可想象的,在互聯網開發的人腦子里,世界天生是由無數 API 構成的,設計、開放、使用安全合理的 API,就提供了無限的想象空間,無限的交互/合作機會。

  不能互連互通的另一大問題在于,互聯網、云計算,已經為以前麻煩的眾多問題提供了低成本的解決方案。比如困擾許多企業系統的存儲問題,傳統的解 決辦法無非是購買專門的存儲設備,購置費用一大筆不說,支持和維護的支出更是沒有盡頭。但是同樣的問題,在互聯網上已經有非常成熟的解決方案,存儲的價格 相當低廉,很適合存儲海量的非敏感業務數據(如果不信任國內的云服務商,可以存放在亞馬遜的 S3,也可以分幾家存儲)。如果不能采用類似的方案,必然要求企業系統的開發者“親力親為”地解決這種問題,分散了本該聚焦在核心業務上的注意力。

  當然,傳統的企業開發方式里,還是有很多有意義而且值得保留的做法,比如明確的目標設定、詳細的需求管理、規范的進度把握等等。我曾在知乎看到 有人評價說“互聯網有時給人的感覺是太雜亂無章了,有時根本不按規矩來,而要真正做好一件事情,基本的規矩是必須要遵守的”,這種觀點我很認同。但是總的 來說,企業開發從傳統的“企業開發模式”轉向“互聯網開發模式”,是“不得不為”的趨勢。我心中理性的企業開發,應當是在“專心關注核心業務”之外,廣 泛、合理地應用外界各種開發技術和資源的模式。各位身處企業開發領域,但還沒有足夠資本退休的朋友,或許該早早做準備了。

                    <span id="shareA4" class="fl">                            
                        </span>
 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!