企業應用若干非技術性理解要點

本篇文章來源:http://www.ee-forum.org/  

Author: TY,  Source: 新企業應用號(MDApps)

產業互聯網時代的企業應用entapp-5points

個人電腦(PC)時代講“軟件”;移動智能終端領域時代講“應用”:app(application的簡寫)。這兩個詞並不對等,後者更具通用性:無論是獨立達成功能的程序,還是基於網絡/雲等複雜設施通過終端程序提供的功能性服務,或是基於各種智能聯網設備/傳感裝置達成的功能,都是某種形式的信息技術(IT)應用。實際上,至少從SaaS(軟件即服務)興起之時,PC時代通行的將“應用”簡單解釋爲計算機軟件的說法就開始廢棄了;以軟件(包)代表一個應用不適合於互聯網時代。

根據使用對象,所有的應用可以劃分爲企業應用個人應用兩大類。傳統上,企業應用主要表現爲運行在個人電腦、私有服務器和局域網環境中的軟件系統,以軟件包+實施服務的形式提供給企業。隨着產業互聯網時代到來,企業的信息技術基礎設施/環境向互聯網及第二或第三方服務設施遷移,同時終端也由桌面設備拓展到各種移動設備上。這帶來許多深刻的變化。企業應用概念也將因此變得更加重要和適用;但在這個概念的使用上,有一些由來已久歧義或困惑,有必要加以澄清。

回到用戶需求這一根本

IT界對“企業應用”(enterprise applications)的傳統解釋有一種傾向,即將其歸納爲一些技術與複雜性特徵,例如分佈式計算、並行計算、負載平衡、數據庫、數據冗餘、事務處理、對象池,SOA,等等。這種傾向通常伴隨着對其本源的用戶需求特徵的忽視,對開發者帶來誤導。互聯網時代那些經典的個人應用,其系統往往大量具備了上述傳統解釋爲“企業應用”的技術特徵,複雜性與規模甚至遠超傳統的企業應用系統(例如一套大型企業的ERP系統)。按照那些陳舊的觀念去理解或使用企業應用概念越發令人困惑。需要回到用戶需求這一根本,揭示那些常常被IT應用開發者忽略的東西;由此揭示企業應用與個人應用的深刻區別,也彰顯這一概念(迴歸本源之後)的意義,這對於從消費互聯網轉向產業互聯網,有很現實的意義。

誰是企業應用的用戶

個人應用的用戶通常就是直接操作、使用應用功能的人,即使對多用戶系統(比如電子郵件),每個用戶使用的功能是高度一致的。企業應用的情形則複雜得多。企業應用的應用對象是廣義的“企業”(enterprises):它是社會組織,可以是商業或非商業性的,如工廠、貿易公司、政府機構、各種社會團體等。整個企業纔是一般意義上“一套應用”(系統)的用戶,這與個人應用構成明顯的區別。

企業應用的用戶羣體由多種角色構成,他們分別使用應用中的不同功能,並且處於組織的約束之下。相關的角色包括企業應用的擁有者、管理者、具體功能的使用者以及維護/支持者等,處於企業組織的不同層次,既有個人,也可能是組織單元,有時還包括企業外部的角色。對於應用開發/供應商而言,它們都屬於“用戶”。一些管理者甚至基本不接觸具體功能,但企業應用可能要首先滿足他們的期望或要求要求,其次纔是具體功能的操作者。

目標與要求

企業應用的目標與要求不屬於特定的人,而是屬於整個企業。在基本的功能及性能要求之外,企業應用要滿足來自企業內外多種相關者的複雜要求以即時信息(IM)爲例,作爲個人用途,我們不需要乃至排斥任何的第三方干預或監管機制;註冊、增刪朋友、收發什麼東西,什麼時候使用,完全隨個人意志決定。作爲企業應用,一些個人應用不需要甚至拒斥的要素,就變成了必須考慮的重要方面。正因爲如此,一個市面流行的個人IM通常難以滿足來自企業/組織的業務或管理的要求,產品轉型具有超出想象之外的困難,個人應用的原班開發團隊通常很難完成這種轉型(參見後面討論)。

對於一種企業應用,來自用戶羣體或相關者的要求不僅是多方面的,而且非線性疊加,它們形成互相關聯與制約的複雜結構,並且會動態改變。對於一些綜合性管理、業務支持的應用而言,理解應用的需求或可能性,需要理解所有的相關業務乃至整個企業、甚至行業。而如何應對需求的動態變化一直是對企業應用開發最大的,從來沒有得到“解決”的挑戰。

應用方式與環境

從應用方式與環境方面,企業應用需要在個體操作基礎上解決複雜動態關聯的需求,例如事務的劃分及處理、人-人、人-機和機-機協同作業工作流及業務流程以及相關資源配置管理等等,所有這些,都需要被置於整體受控的、有組織的環境之中,同時又可能物理地分散在全世界不同的地區,具有不同的IT環境。支持這些需求,不僅需要多樣性的功能,還需要配置、組織和互操作支持,不是任何單純技術機制例如多用戶併發衝突防止之類可以達成的。

正如在企業應用的傳統解釋中遭遇的,開發者對上述事務、流程與協同等重要的概念的理解,常常墮入技術的窠臼。應該明確地從兩個層面去理解它們:一個是計算機操作的角度,它們涉及到一些相對獨立的計算機作業(任務)的聚合、連接、協作或互操作等;另一個是人的事務層面(包括人-人、人-機交互)。一個很好的例子是對工作流和業務流程兩個概念的區別與聯繫的理解。

企業應用的複雜性往往不是體現在特定功能的實現技術性方面,而是多種功能(每個功能往往簡單甚至相似)的關係或組織上,尤其當這種需要這些關係是動態改變且需要按組織的要求管控時。許多企業應用開發者因爲發現了前一半的特點(單元功能簡單性),斷言企業應用開發“沒技術含量”,卻無法認識和從技術上解決後一半的問題(有效的組織與動態改變)。對複雜的企業應用系統的開發,後者纔是真正的難題。

適管理性需求

適管理性(fitness for management)是企業應用開發者廣泛忽略的一個要點。我們將適管理性界定爲產品與服務滿足顧客對其進行管理的需求的程度。它是品質的一部分,是適用性的一個方面。儘管這一性質存在於所有產品和服務,但對企業應用它尤爲重要。例如,個人應用也存在適管理性,但其差別可以很恰當地用企業和個人對管理的要求類比。適管理性的實現往往比具體功能複雜,因爲它不僅僅是一些專門的管理功能/接口,還體現在各種功能的實現、提供或組織方式等方面。

應用系統開發者對適管理性無知的一個經典的例子是常見的系統權限管理設計。軟件設計師總是把它作爲所謂系統管理員(應用企業IT管理角色)專屬功能的一部分。然而,從管理的立場上看,其所涉及的功能、資源(數據等)權限的分配,類似於誰幹什麼,文件控制權限怎樣分配,是相應業務的主管們的基本工作——是誰的職責範圍內就該由誰安排,並且儘可能地減少中間環節。然而,在管理軟件應用實踐中,因爲類似的安排必須通過IT維護人員實現,相應的專門功能也是以IT人的眼光爲IT人設計的,從而使應用系統的功能/資源分配與管控成爲伴隨系統使用全過程的持續難點,達成及時、合理配置的實際困難大大超出那些功能設計者的想象(他們往往也未真正體驗或關心過這一點)。

開發團隊要求

在個人(消費)互聯網時代,技術架構師與功能設計(編程)者本身基本上就是最高明的用戶。他們用自己的想象力和對應用的可能性的超前理解創造出許多前所未有,現在成爲了經典的應用。對許多成功的例子,開發者的發明首先不是一種技術或一些程序,而是一種用途,一種新的、基於IT設施的人類活動方式。然而,面對擁有大量既有的複雜業務活動與要求的企業,替他們做出這種發明就困難得多了。技術架構師或程序設計者同時精通應用業務往往是不切實際的要求。這對於開發者團隊的配置帶來深刻的變化。對於許多企業應用項目,尤其是涉及複雜業務的綜合性需求,能夠全面深入地理解業務需求同時精通IT應用的可能性的兩棲人才變得至關重要。相對於真正意義上的技術架構師,我們將這種角色稱爲應用架構師(application architect)。他們不是根據現有的業務去分析出應用功能需求(因爲新的應用本不存在),而是根據對業務本身的目標甚至其變化的可能性或趨勢的深入理解(這一點,大多數實際業務人員本身並非很清楚)來創造新的業務方式,其中包括計算機應用的功能。這種工作,不同於傳統軟件工程領域的需求分析或需求工程,我們稱之爲“實質性需求分析與研究”,或者簡單稱爲“需求研究”。

小結

在上面的分析中,提出了若干企業應用的重要特點(特別對照於個人應用);在技術導向的IT界,它們往往被忽視,從而導致了企業應用開發和推廣應用中的許多基本問題甚至失敗。上面的討論涉及了理解企業應用的五個基本方面或要點:

  • 用戶性質:對企業應用,“用戶”是整個企業,包含管理/決策者、功能操作者、系統維護者等多種不同的有組織的角色。
  • 組織目標:企業對應用的目標及要求是高度複雜的,它來自企業內外多種相關者,形成互相關聯與制約的複雜結構,並且會動態改變。
  • 事務、流程與協同:企業應用是人-機交互的開放系統,不僅需要支持開放、動態的不同區域與層次、類型作業者羣體的協同作業,包括事務/任務劃分、流程的跟蹤、編排、規劃和管控,相關資源配置等。
  • 適管理性:好的企業應用,應該從部署、應用方案、運行的過程與結果、操作的歷史、操作者/資源的分派與管控等方面都需要提供專門的、面向直接管理責任者的管理功能。適管理性的實現往往比單純的業務功能更加複雜。
  • 開發團隊與應用架構師:應用架構師對目標企業的業務及潛在的應用功能需求進行實質性研究,在此基礎上設計新的業務方法和應用功能,是業務與IT的連接者。
發佈了36 篇原創文章 · 獲贊 9 · 訪問量 17萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章