【轉】企業開發的困境與變局

原文:企業開發的困境與變局


文 / 劉江

算起來,《程序員》已經有幾年時間沒有大篇幅討論企業軟件開發這個話題了。這其實挺奇怪的。要知道,按類別來分,國內從事企業軟件開發的技術人員是最多的,從CSDN和《程序員》聯合舉辦的“2011軟件開發者年度調查”結果來看,這個數據超過三分之一(互聯網將近30%,嵌入式/工控16.3%)。更讓人奇怪的是,企業軟件從我們視野里消失,卻幾乎沒有人注意到。

令人尷尬的事情還沒有完。幾年前我為Martin Fowler的企業軟件開發名著《Patterns of Enterprise Application Architecture》做英文注釋版時,就注意到企業軟件或者企業應用這個業內已經司空見慣、耳熟能詳的名詞本身,居然沒有特別明確的定義。時至今 日,這一情況仍然沒有改變。最靠譜的維基百科Enterprise Software英文詞條里,雖然內容豐滿了許多,但還是沒有給出令人信服的定義……

共識當然也是有的,企業軟件針對的是企事業單位、政府等機構(因為并非只針對企業,所以我習慣用企業級這樣的術語,但在實際使用中似乎區別不大)而非面向個人尤其是普通消費者,支撐著機構業務各階段的運作,支持機構內外人員之間的溝通和協作。

但共識似乎也僅此而已。同一個Gartner網站的術語表里,enterprise applications詞條中強調企業內的所有核心業務流程和各個步驟,而enterprise application software中卻將辦公套件、即時通信、電子郵件甚至內容管理系統等都納入進來。從本期封面報道中的其他文章也可以看到,即使是資深的業內人士對企業 軟件的理解也不盡相同。

行業與技術的發展,也在改變許多原有的觀念。Martin Fowler對企業應用的定義更強調其數據的復雜和數量,可是現在企業應用的數據從量上來說,已經遠遠無法與互聯網相提并論。有人認為企業應用是相對于互 聯網和個人軟件的,那Salesforce、Yammer等SaaS和PaaS該劃為哪一類呢?淘寶、支付寶、去哪兒等面向商家的支付、計費、業務流程等 功能,又該算哪一類?

企業軟件開發的困境

更尷尬的,是企業軟件的現狀。

在國內,企業軟件中除OA和財務軟件外,總體上都是復制國外成功經驗發展起來的,原創性本來就不足。在經歷了較快增長之后,近年來行業進入了瓶頸 期,發展停滯,困擾企業的許多固有老問題一直得不到解決。起步科技總裁馬科對本行業有一個很形象的說法:“像裝修行業”。他在今年《程序員》9月刊《怎樣破解企業管理軟件的困局》 一文中,列舉了企業軟件的幾大問題:整體混亂,低水平競爭,缺乏足夠的質量保證;開發效率低,周期長,應變能力差,往往計劃趕不上用戶需求變化;缺乏統一 的標準,各個開發廠商開發的應用系統往往平臺不一,數據格式不一,各自為政,各不相通,無法共享資源;整個行業缺乏創新,技術落后,工具原始,人才流失嚴 重。

21世紀IT技術的主要變革

八百客副總裁李淼也表示,目前行業處于一種軍閥混戰、割據的發展階段,新的在線企業軟件領域中大部分廠商也都是在市場上瘋狂砸錢,業績并不理想,而且由于產品同質化嚴重,一些實力較弱的會被拖垮。

對此,在外企和國企都有過不少從業經歷的惠普架構師汪洋感觸很多,他認為國內很多所謂的企業軟件項目其實都達不到“企業級”的標準,對可靠性、靈活性、重用性、可維護性考慮甚少,架構粗糙,缺乏必要的可行性和技術風險分析。

鼎基偉業COO楊軍也同意整個企業軟件市場疲軟,他特別指出2011年國內的商業智能市場是生存困難的一年,無論產品廠商還是實施商、甚至咨詢商均 面臨著不小的困難,對市場中從事低端實施的企業更是如此。行業巨頭之一的東南融通因“造假案”而摘牌退市,直到公司大規模裁員,瀕臨絕境,對市場來說是一 個沉重的打擊。

即使放大到全球,企業軟件相關話題也已經被邊緣化很久了。

2007年底,影響力很大的技術博客Robert Scoble發表了“為什么企業軟件喪失了吸引力”(Why enterprise software isn’t sexy)一文,引起了一場論戰。這篇文章的緣起,恰恰是因為蓋茨在一次圓桌訪談中對主流媒體只報道消費類互聯網而無視企業級軟件不滿。

最初,來自企業軟件圈子的反擊似乎很給力,企業軟件要關心的就是安全、穩定、可擴展等不吸引人的特性嘛,你Scoble真是個外行。這對在微軟、 NEC和RackSpace等企業IT領域工作多年的Scoble來說當然很不公平。只要涉及企業軟件,他的文章經常能成為媒體焦點,你見過這樣的外行 嗎?

但很快,企業軟件用戶體驗差、需要改進在論戰等中漸漸成為雙方的共識。以《IT不再重要》和《云計算大變革》等著作聞名的Nicolas Carr撰文指出,真正外行的很可能是自己,用戶不喜歡用的產品肯定將面臨巨大的顛覆危機。

其實企業軟件在互聯網開發人員眼中早已經成為笑談。Ruby on Rails的創造者David Heinemeier Hansson在2005年底就發表過一篇引起熱議的文章,其中對2006年做出這樣的預測:

企業一詞將成為軟件開發者與用戶之間的罵人話。企業軟件廠商的成本繼續上升,而質量繼續下降。這些軟件的使用者(他們想要的是簡單、輕便、易用的工具)會對軟件購買者(他們想要的是臃腫的功能列表)造反。

這將使企業軟件廠商的用戶開始流失到更易用、成本更低的解決方案,這些方案可以滿足80%所需(剩下的20%根本不值十倍乃至百倍的價格)。

到2006年底,企業這個詞就等同于笨重、昂貴、過時。

Palantir是PayPal創始人Peter Thiel等創辦的面向政府和金融企業的信息分析公司,其產品被用于反恐和網絡犯罪防范以及經濟刺激計劃的責任審計。公司的CEO Alex Karp在去年的訪談中表示,2005-2009年間在硅谷你要是創辦企業軟件公司,就好象是招了一幫工程師在城市中心搞馬戲團那么搞笑,要知道那時候“企業”可是一個臟字兒……

除了價高、開發周期長、用戶體驗等明顯弱項之外,傳統上企業軟件曾經代表著更先進的技術,更好的安全性、穩定性、性能、可伸縮性等的。但時過境遷, 現在以互聯網為代表的消費應用,在用戶和數據量激增的壓力下,各項技術也漸漸趕超乃至處于領先(我親耳聽到一位國內大型互聯網企業的高級工程師對兩家知名 國際IT軟硬件提供商的資深技術經理說:你們的產品和解決方案已經根本滿足不了我們的需要,我們所要處理的數據量你們連見都沒有見過……)。很明顯的 趨勢是,最新的熱點技術包括云計算核心的Hadoop、NoSQL等基本上完全來自互聯網。

企業軟件落后了。

企業軟件的問題何在?

iPhone和iPad在企業世界攻勢迅猛的今天,再來看2007年的那場論戰,會發現企業應用和消費者應用之間巨大的用戶體驗的確是問題的要害。 當時軟件開發殿堂級人物Ed Yourdon發表的觀點最經得起時間的考驗:企業軟件的易用性與安全、可擴展和性能并不是互斥的,Mac上的企業軟件就往往比Windows上的好;直 接用戶的話語權將越來越大,他們會從瀏覽器、手機開始作出自己的選擇,CIO和丑陋難用的企業軟件將在博弈中最終輸掉。

企業軟件落后的原因,究其根本是一個社會問題。Robert Scoble最初文章已經指出:企業軟件之所以媒體不太關心,是因為除了CIO外一般人雖然是用戶,但根本沒有話語權。記者和博客寫文章是為了有更多讀者 來瀏覽,然后廣告主才會買單,寫企業軟件?只有幾個CIO看啊。

由于產品研發主要圍繞企業中負責采購的CIO/經理(可能并不真正懂技術),而非真正的最終用戶,所以產品、企業之間的競爭都是畸形的。只要采購經 理能交差,產品貴一些不要緊,維護成本高一些不要緊,難用一點不要緊,甚至白花了錢、沒啥用處也不要緊。功能全、未來的承諾、buzzword是他們看重 的東西。這種中間層的存在,直接導致了對用戶體驗的忽視,技術落后,流程陳舊,人才流失,進入了惡性循環

互聯網應用之所以有較好的用戶體驗,是因為能夠向數以百萬計的用戶直接而快速地發布產品,能夠快速獲得對產品研發至關重要的反饋,同時公司能夠保持敏捷和創新的文化,敢于打破陳規。此外,用戶容易切換,競爭激烈,也是重要的驅動力。

就在2007年論戰之前不久,時任《紐約時報》網站設計總監的Khoi Vinh也發表過一篇文章抨擊企業軟件缺乏基本的用戶體驗設計,簡直是怪胎,大部分軟件中甚至一些非常簡單的操作都很難用。

美國第一任CIO Vivek Kundra也曾抱怨在辦公室里昂貴的企業軟件用得郁悶,而回到家用起Twitter、Facebook就神清氣爽,這很可能是他推動Cloud First戰略,大力采用許多Web 2.0和SaaS服務的初衷之一。

曾擔任Oracle產品營銷副總和SAP總經理的Dennis Moore指出,除了產品的用戶體驗設計外,企業本身不合理的業務流程也是使軟件難用的重要原因,而這是企業軟件公司很難通過研發和實施解決的。傳統企業往往害怕和抗拒變革,改進業務流程阻礙很大。

國內的情況更加復雜。由于信息化水平低,很多企業軟件應用還處于非常原始的階段。八百客副總裁李淼透露,國外企業軟件廠商的競爭能力很強,它們能只 提供一個平臺產品,剩下的開發全靠客戶自己。而國內客戶則不具備這樣的能力,需要廠商開發應用給客戶提供。他舉例說,八百客的客戶中98%沒有 CIO,70%的客戶連Excel表還用不好,在這種情況下,要求他們走自己開發的道路,確實非常困難。而惠普的汪洋更指出了國內企業軟件企業的諸多問 題。公司急功近利,更多的是在趕項目進度,“應用破破爛爛,功能馬馬虎虎,性能差”的軟件項目屢見不鮮。在這種大環境下,技術人員地位往往不高,多數干技 術不到10年就開始轉型非技術崗位,而國外很多技術人員都是終身制,這意味著我們最多用10年的時間去做一個事情,而別人用一生在做,其中的技術積累和沉 淀差別巨大。人員水平良莠不齊,能力和經驗缺乏,也使開發流程不完善,敏捷等先進方法不易推行。此外,國內公司總體上規模小、實力弱,也是造成失敗案例較 多的原因。

而解決這一痼疾,孕育著巨大的商機。種種跡象表明,企業軟件正面臨涅槃重生。

企業軟件的變局

近幾年來,興起了云計算、移動、社會化、海量數據(Big Data)和IT消費化這五大趨勢(企業軟件專家Dion Hinchcliffe稱之為Big Five),對企業軟件影響巨大。大變局已經開始。

在國外,Marc Andereessen和Peter Thiel等當今硅谷最有影響的投資人和思想者,都認為企業軟件市場大有可為,并投入了大筆資金。

Aaron Levie是面向企業提供云存儲和內容管理服務的新銳公司Box.net的創始人,該公司已經擁有眾多財富500強客戶。他去年9月曾撰文“Enterprise Software Is Sexy Again”,一面回應Scoble三年前的話題,一面宣告新時代的到來。

他發現,2009年以后,許多硅谷創業者和工程師們開始雄心勃勃地進軍企業市場,誕生了一批帶有互聯網基因的新興企業軟件公司。除了市值已達140 多億美元的先驅Salesforce之外,Facebook創始人之一Dustin Moskovitz創辦的在線協作平臺Asana,已經上市的企業社會化平臺Jive,人力資源平臺Workday,在線呼叫中心LiveOps,代收費 已經超過10億美元的客戶訂閱與支付平臺Zuora,估值逼近10億美元的Palantir等等都是其中的代表。

微軟、IBM、Oracle、SAP等主導的企業市場相對互聯網來說的確是更大的市場,預算非常驚人,高達幾千億美元,僅美國政府每年在IT上的開 支就高達800億。相比之下,Google、Yahoo!、Facebook等眾多互聯網企業所賴以生存的重要收入來源 ——美國網絡廣告市場總值僅242億。

新興的企業軟件公司未必會直接與借傳統C/S模式發展起來的企業軟件巨頭對抗,但云是一種天然民主化的驅動力,消除了來自供應商的所有不自然的渠道、銷售和分銷優勢。有了云,機構的任何用戶都是潛在的買主——自下而上的技術采納正逐漸取代自上而下的部署。

新興的企業軟件公司所要解決的是十年前不存在或者無法解決的問題。今天的企業,有海量的數據要分析和管理,有各屬不同角色的員工要共同協作,有分布 在全世界的潛在客戶要營銷,有許多業務問題要實時地解決。他們需要更強大的技術迎接這些挑戰。與SharePoint三年才出一個版本,而且少量的補丁都 會讓IT人員麻煩不已相比,互聯網的敏捷研發和發布顯然有巨大的優勢。

同時,新的企業服務將通過免費增值(Freemium)商業模式以互聯網規模運營,與最流行的消費應用一樣迅速獲得成百萬的用戶,創業公司也有前所未有的機遇。比如,企業微博Yammer每個季度的收入都在翻番。

新的企業軟件公司的文化與消費互聯網公司更像。他們不去組建強悍的銷售團隊,而是專注于產品,將其作為獲取用戶的最佳方法按使用和訂閱的計費模式 取代了傳統的許可模式,用戶真正使用之后,才付費,這也促使企業軟件公司開發用戶需要而且真正使用的產品,而不是能賣得更好的產品。

對于國內的情況,起步科技馬科認為,現在是中國企業軟件行業的機遇期。沒有哪個國家這些年里新增了這么多企業,而且以高速在發展,市場環境、商業模 式都在發生快速變化,中國企業軟件行業有可能創造一些前所未有的變革。但企業軟件開發者要抓住這一機遇,必須以開放、積極的心態,擁抱變化,向互聯網學 習。不僅學習技術,也要學習商業模式。他的觀點我非常認同。

八百客李淼將國內企業軟件的變化總結為四點:數據集中化平臺化,產品高度集成,可以根據需求隨時修改;快捷化,就是越來越傻瓜化,比如移動版、語 音識別、菜單的簡潔化、功能的簡單化等;扁平化,公司不再像日本那樣有十幾層架構,而會像美國現在普遍采用的四層結構那樣,基層和CEO 之間,只隔著兩個人,這將大大改進管理,因為不干活的人越來越少了。

傳統企業軟件公司正面臨Clayton Christensen創新者窘境的嚴峻考驗。但SAP、IBM等在自己的企業內部與產品中也有很多企業2.0理念的成功實踐。大變局之下,挑戰與機遇共存。Box.net公司的經驗值得大家借鑒:

  • 讓客戶感覺自己是公司的一部分——這一點所有企業軟件公司都應該向Zappos學習;
  • 收入取決于客戶的成功與使用——如果人家不用,你的產品就一文不值;
  • 開發人們每次使用時都會興奮的產品——這做起來難,忘起來容易;
  • 快速前進,保持朝氣,不斷創新——自滿必然導致優秀人才和客戶的流失;
  • 真正解決企業的大問題——問題越大,回報越大。

?

?

觀后:

???? 身為企業開發的一員,我深感與用戶的隔閡,UI的陳舊,技術的落后,數據規模的稀缺,人才的流逝,因循守舊,抑制創新。問題多多。

???? 所以企業級開發必須主動擁抱變化,擁抱互聯網。

轉載于:https://www.cnblogs.com/prime/articles/2270456.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/380066.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/380066.shtml
英文地址,請注明出處:http://en.pswp.cn/news/380066.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

c# 類對象和實例對象_C#類和對象能力問題 套裝4

c# 類對象和實例對象1) What are the correct statements about given code snippets? using System;public class Example{virtual private int X;private int Y;static void Main(string[] args){Console.WriteLine("Hello World");}}Hello WorldHelloWorldSyntax…

linkBar組件學習--設置linkBar子項的豎直間距.

效果&#xff1a;代碼&#xff1a; <?xml version"1.0" encoding"utf-8"?><!--http://blog.flexexamples.com/2008/04/20/setting-the-vertical-spacing-between-items-in-a-linkbar-control-in-flex/ --><mx:Application xmlns:mx"…

AES算法

算法簡介 AES本質是一種對稱分組密碼體制&#xff0c;采用代替/置換網絡。每輪由三層組成&#xff1a;線性混合層確保多輪之上的高度擴散&#xff0c;非線性層由16個S盒并置起到混淆的作用&#xff0c;秘鑰加密層將子秘鑰異或到中間狀態。 AES加密數據塊和秘鑰長度可以是128比…

C——結構體

例題1&#xff1a;(使用結構體) 輸入兩個學生的學號、姓名和成績&#xff0c;輸出成績較高的學生的學號、姓名和成績 解題思路&#xff1a; (1)定義連個結構相同的結構體變量student1,student2; (2)分別輸入兩個學生的學號、姓名、和成績&#xff1b; (3)比較兩個學生的成…

web.config配置文件詳解

<?xml version"1.0"?> <!--注意: 除了手動編輯此文件以外&#xff0c;您還可以使用 Web 管理工具來配置應用程序的設置。可以使用 Visual Studio 中的“網站”->“Asp.Net 配置”選項。 設置和注釋的完整列表在 machine.config.comments 中&#xff0c…

離散數學群論_離散數學中的群論及其類型

離散數學群論半群 (Semigroup) An algebraic structure (G, *) is said to be a semigroup. If the binary operation * is associated in G i.e. if (a*b) *c a *(b*c) a,b,c e G. For example, the set of N of all natural number is semigroup with respect to the operat…

IDA使用方法-----1

0x01 啟動IDA new&#xff1a;反匯編一個新文件go&#xff1a;運行&#xff0c;直接進入IDAPrevious&#xff1a;載入一個我們以前編譯過的程序 如果不想每次都看到這個對話框&#xff0c;可以取消該對話框底部的Display at startup&#xff08;啟動時顯示&#xff09;&#x…

郵箱驗證JS代碼

方法一,用JSfunction finish_onclick() { var username document.getElementById("username");var pwhidden document.getElementById("pwhidden");if(username.value"") { alert("請填寫您的企業郵箱地址&#xff01;");username.f…

objdump命令詳解

objdump命令是用查看目標文件或者可執行的目標文件的構成的gcc工具。 選項 --archive-headers -a 顯示檔案庫的成員信息,類似ls -l將lib*.a的信息列出。 -b bfdname --targetbfdname 指定目標碼格式。這不是必須的&#xff0c;objdump能自動識別許多格式&#xff0c;比如…

Java——異常(try...catch...finally)

public class Demo5_Throwable {public static void main(String[] args) {try{System.out.println(1/0);}catch(Exception e){System.out.println(e.getMessage());//獲取異常信息,返回字符串&#xff1b;System.out.println(e.toString());//獲取異常類名和異常信息&#xff…

Python程序反轉給定數字(2種不同方式)

Take input number from the user and print its reverse. 從用戶處獲取輸入號碼并打印其反面。 Example: 例&#xff1a; Input:12345Output:54321Here, we are implementing program to reversing a given number using 2 different ways. 在這里&#xff0c;我們正在實施程…

外匯期貨學習專帖(轉)

一篇好文,值得深思! (轉) 我的一些所看所想,和大家聊聊 ; d: R ^6 c* A2 e X" y8 y4 Bhttp://www.fx998.cn 說來慚愧,很久以前,俺在期貨公司混事,95年以前國內期貨公司從外盤棉花到咖啡....,外匯期指到原油.都能*作.是一派欣欣向榮之景.95年之后,按國家規定都轉了內…

《Pro ASP.NET MVC 3 Framework》學習筆記之四【領域模型介紹】

主題&#xff1a;應用領域驅動開發(Applying Domain-Driven Development) Domain Model是MVC程序的"心臟"&#xff0c;其他的一切&#xff0c;包括Controllers和Views僅僅是用來跟Domain Model交互的一種方式&#xff0c;ASP.NET MVC并沒有限制使用在Domain Model上面…

Java——集合框架(List)

集合框架&#xff08;List的三個子類的特點&#xff09; A&#xff1a;List的三個子類的特點 ArrayList&#xff1a; 底層數據結構是數組&#xff0c;查詢快&#xff0c;增刪慢。 線程不安全&#xff0c;效率高。 Vector&#xff1a; 底層數據結構是數組&#xff0c;查詢…

一步一步學pwntools(適合新手)

序 pwntools是一個二進制利用框架。官方文檔提供了詳細的api規范。然而目前并沒有一個很好的新手教程。因此我用了我過去的幾篇writeup。由于本文只是用來介紹pwntools使用方法&#xff0c;我不會過于詳細的講解各種二進制漏洞攻擊技術。 Pwntools的“Hello World” 棧溢出無…

關于J2EE中死鎖問題的研究(1)

大多數重要的應用程序都涉及高度并發性和多個抽象層。并發性與資源爭用有關&#xff0c;并且是導致死鎖問題增多的因素之一。多個抽象層使隔離并修復死鎖環境的工作變得更加困難。 通常&#xff0c;當同時執行兩個或兩個以上的線程時&#xff0c;如果每個線程都占有一個資源并請…

python變量分配內存_Python | 聲明任何變量而不分配任何值

python變量分配內存Since, Python is a dynamic programming language so there is no need to declare such type of variable, it automatically declares when first time value assign in it. 由于Python是一種動態編程語言&#xff0c;因此無需聲明此類變量&#xff0c;它…

UVA 10004 - Bicoloring

模擬染色&#xff0c;因為只有兩種顏色&#xff0c;所以分別用 0、 1 代表這兩種顏色&#xff0c;然后從0開始深搜&#xff0c;如果 每個點都能染上色&#xff0c;且相鄰兩點的顏色不同&#xff0c;則符合要求。 #include<stdio.h>#include<string.h>#define MAXN …

標志寄存器:CF、PF、AF、ZF、SF、TF、DF、OF

注&#xff1a;下面說到的標志寄存器都是縮寫&#xff0c;C就是CF&#xff0c;其他也一樣 標志寄存器&#xff1a;C、P、A、Z、S、T、D、O的內容只會是0或1&#xff0c;0表示假&#xff0c;1表示真 O&#xff1a;溢出標志 一個寄存器如果存放的值超過所能表示的范圍&#xf…

揭秘:銷售人員26個致命弱點

銷售人員有許多積極的態度需要學習&#xff0c; 同時也有許多不良的習慣應該避免&#xff0c;以免影響個性及專業能力。仔細看看這些缺點&#xff0c;反省你自己&#xff0c;還需要改善的畫&#xff0c;直到你給自己一百分為止。找一位深知你的好 友&#xff0c;讓他誠實地給你…