如何解決企業(yè)IT問(wèn)題?
如何解決一個(gè)具體的企業(yè)信息化問(wèn)題呢?怎么樣給自己的公司或者客戶設(shè)計(jì)一個(gè)企業(yè)應(yīng)用,服務(wù)目標(biāo)用戶呢?本篇文章提供了四種解決企業(yè)IT問(wèn)題的基本途徑,為你做出解答。
解決企業(yè)IT問(wèn)題的基本途徑
如何解決一個(gè)具體的企業(yè)信息化問(wèn)題?要為自己的公司或者客戶設(shè)計(jì)一個(gè)企業(yè)應(yīng)用,服務(wù)目標(biāo)用戶,該怎么做呢?
解決企業(yè)信息化問(wèn)題有幾個(gè)完全不同的途徑,并非每個(gè)途徑都需要從頭開(kāi)始設(shè)計(jì)企業(yè)應(yīng)用,使用一些現(xiàn)成的、實(shí)用的方案會(huì)讓你事半功倍,減少無(wú)謂的設(shè)計(jì)和開(kāi)發(fā)工作,提升交付的質(zhì)量;有一些場(chǎng)景則可能需要從零開(kāi)始,獨(dú)立建立架構(gòu),進(jìn)行設(shè)計(jì)開(kāi)發(fā);還有一些需求場(chǎng)景可以混合使用多種方案,搭建合適的橋梁,從而滿足需求。
我們可以把滿足企業(yè)IT需求的基本途徑概括為如下幾種:
- 按需原生開(kāi)發(fā);
- 使用和對(duì)接 SaaS 產(chǎn)品;
- 基于開(kāi)源軟件和平臺(tái)開(kāi)發(fā);
- 混合和實(shí)用模式。
1. 按需原生開(kāi)發(fā)
按需原生開(kāi)發(fā)是指企業(yè)不得不根據(jù)應(yīng)用要解決的問(wèn)題,進(jìn)行完整的產(chǎn)品架構(gòu)設(shè)計(jì)和應(yīng)用設(shè)計(jì),利用某一種集成開(kāi)發(fā)環(huán)境和編程語(yǔ)言完成所有的業(yè)務(wù)前后端開(kāi)發(fā)。
當(dāng)然,在這種情況下,企業(yè)也需要獨(dú)立管理軟件運(yùn)行所需要的IT基礎(chǔ)設(shè)施。
這種途徑代價(jià)很高,需要依賴(lài)擁有多種技能的設(shè)計(jì)開(kāi)發(fā)人員,交付周期長(zhǎng),而且需要建立專(zhuān)門(mén)的團(tuán)隊(duì)來(lái)跟進(jìn)應(yīng)用的長(zhǎng)期迭代。雖然應(yīng)用在開(kāi)發(fā)完成后會(huì)逐步完善和穩(wěn)定下來(lái),但這個(gè)過(guò)程通常需要幾個(gè)月甚至幾年的時(shí)間。
在實(shí)踐中,如果沒(méi)有穩(wěn)定的設(shè)計(jì)研發(fā)團(tuán)隊(duì)長(zhǎng)期跟進(jìn)某套IT系統(tǒng),它的可用性便會(huì)隨著時(shí)間的推移而降低,因?yàn)樵趯?shí)際環(huán)境中,很少有業(yè)務(wù)是一成不變的。
另外,隨著應(yīng)用設(shè)計(jì)水平的提升,客戶的要求也會(huì)在無(wú)形中提升,因此這也對(duì)應(yīng)用的迭代升級(jí)提出了要求。就像我們現(xiàn)在使用五年前設(shè)計(jì)開(kāi)發(fā)的產(chǎn)品,總是覺(jué)得不夠好用,哪怕這套系統(tǒng)在當(dāng)時(shí)已經(jīng)達(dá)到了很高的水平。
企業(yè)在決定是否需要進(jìn)行原生開(kāi)發(fā)時(shí),可以根據(jù)以下條件判斷:
1. 應(yīng)用本身解決了企業(yè)核心業(yè)務(wù)流程的高價(jià)值問(wèn)題,而不是周邊性質(zhì)的小問(wèn)題,否則帶來(lái)的產(chǎn)出很可能抵不過(guò)投入。比如一個(gè)金融服務(wù)企業(yè)可能需要原生開(kāi)發(fā)客戶賬務(wù)處理和風(fēng)險(xiǎn)控制應(yīng)用,但對(duì)于一般的招聘和人事管理業(yè)務(wù)可能更適合選擇既有的產(chǎn)品方案或者基于平臺(tái)開(kāi)發(fā)產(chǎn)品方案。
2. 應(yīng)用要解決的問(wèn)題和所采用的問(wèn)題解決模式有明顯的獨(dú)特性,而不是那種很多企業(yè)已經(jīng)解決了的問(wèn)題,為后者進(jìn)行原生開(kāi)發(fā)很可能是在重復(fù)造輪子。
3. 除了以上兩個(gè)明顯特征,對(duì)于特定的問(wèn)題來(lái)說(shuō),還可以檢驗(yàn)市場(chǎng)上是否有主流的軟件產(chǎn)品已經(jīng)可以很好地解決之。
通常,使用已有的產(chǎn)品方案必然會(huì)犧牲一定的靈活性和個(gè)性,這時(shí)就需要權(quán)衡利弊,做出合理的決策。
如果利弊相當(dāng),則一般應(yīng)該優(yōu)先從已有的產(chǎn)品方案開(kāi)始,通過(guò)實(shí)際的使用進(jìn)行評(píng)估。即便將來(lái)依然需要自建應(yīng)用,使用已有產(chǎn)品的過(guò)程也可以幫我們降低試錯(cuò)成本。
按需原生開(kāi)發(fā)的最小化人員組合:
要開(kāi)發(fā)出高質(zhì)量的企業(yè)應(yīng)用,每個(gè)環(huán)節(jié)都很重要。盡管也有極少數(shù)的全能型人才,但我們依然青睞專(zhuān)業(yè)化的分工,因?yàn)閷?zhuān)注聚焦能夠提高工作的質(zhì)量和效率。
一個(gè)完善的企業(yè)應(yīng)用設(shè)計(jì)團(tuán)隊(duì)?wèi)?yīng)該盡量包含以下專(zhuān)業(yè)成員和角色:
- 業(yè)務(wù)分析師:負(fù)責(zé)從產(chǎn)品設(shè)計(jì)的角度搜集、分析和歸納業(yè)務(wù)需求,將其撰寫(xiě)為業(yè)務(wù)需求文檔(BRD),并保證其始終反映了需求的變更。業(yè)務(wù)需求文檔不需要過(guò)于技術(shù)化,也必不涉及實(shí)現(xiàn)細(xì)節(jié),但它要將 IT 應(yīng)用待解決的業(yè)務(wù)問(wèn)題、背景、價(jià)值和風(fēng)險(xiǎn)描述得非常清晰。它是業(yè)務(wù)需求方和應(yīng)用開(kāi)發(fā)方之間的橋梁。
- 產(chǎn)品經(jīng)理:負(fù)責(zé)將業(yè)務(wù)需求文檔轉(zhuǎn)換為產(chǎn)品需求文檔(PRD),將需求按照某種邏輯進(jìn)行橫向的模塊拆分,并按照實(shí)現(xiàn)步驟進(jìn)行縱向拆分(通過(guò)多個(gè)迭代版本依次實(shí)現(xiàn))。PRD有更加規(guī)范的組成部分和格式要求,在本書(shū)后面的章節(jié)中會(huì)提供更多的PRD局部范例。
- 架構(gòu)師:如果涉及非常復(fù)雜的數(shù)據(jù)結(jié)構(gòu),應(yīng)當(dāng)由專(zhuān)門(mén)的軟件架構(gòu) 師來(lái)負(fù)責(zé)數(shù)據(jù)結(jié)構(gòu)和業(yè)務(wù)邏輯的設(shè)計(jì)。他要負(fù)責(zé)設(shè)計(jì)應(yīng)用所對(duì)應(yīng)的數(shù)據(jù)實(shí)體關(guān)系圖(Entity Relationship Diagram)和流程圖。因?yàn)閿?shù)據(jù)結(jié)構(gòu)涉及更多的軟件技術(shù)背景,所以在實(shí)際分工中,也可能是開(kāi)發(fā)團(tuán)隊(duì)成員來(lái)承擔(dān)架構(gòu)師的工作。
- 前端(交互)設(shè)計(jì)師:根據(jù)定義好的PRD(產(chǎn)品需求文檔)繪制產(chǎn)品前端界面設(shè)計(jì)稿,并在其中填充范例數(shù)據(jù)。根據(jù)實(shí)際需要,設(shè)計(jì)稿可能是框線圖,也可能是高保真的靜態(tài)稿,甚至有時(shí)需要用專(zhuān)門(mén)的軟件制作可以交互的演示稿。企業(yè)應(yīng)用通常比較復(fù)雜,交互環(huán)節(jié)眾多,所以在很多情況下,產(chǎn)品團(tuán)隊(duì)會(huì)選擇投入產(chǎn)出比較高的框線圖模式。如果設(shè)計(jì)團(tuán)隊(duì)擁有完備的交互范式庫(kù),那么這個(gè)設(shè)計(jì)環(huán)節(jié)將會(huì)順利很多。
因?yàn)楸疚木劢褂谄髽I(yè)應(yīng)用的設(shè)計(jì)過(guò)程,所以不便對(duì)開(kāi)發(fā)、測(cè)試和運(yùn)維流程展開(kāi)介紹。但是我們應(yīng)該對(duì)自建一個(gè)完整企業(yè)應(yīng)用的復(fù)雜度有所預(yù)估。
即使完成了獨(dú)立的產(chǎn)品設(shè)計(jì),后面還要有后端工程師、前端工程師、測(cè)試工程師、運(yùn)維工程師等多個(gè)專(zhuān)業(yè)崗位來(lái)保證它的高質(zhì)量交付。
一個(gè)完全自建、按需原生開(kāi)發(fā)的企業(yè)應(yīng)用是非常昂貴的,因此在選擇這個(gè)途徑之前需要慎重衡量投入成本和產(chǎn)出。
2. 使用和對(duì)接 SaaS 產(chǎn)品
解決企業(yè)IT問(wèn)題的第二個(gè)途徑是使用現(xiàn)有元的軟件產(chǎn)品,尤其是按需使用的SaaS模式軟件。
對(duì)于年?duì)I收在五億元人民幣以?xún)?nèi),人數(shù)在1000人以下的中小型企業(yè),選擇現(xiàn)有軟件產(chǎn)品是主流方案。
為了找到滿意的SaaS產(chǎn)品,企業(yè)首先需要明確自己的問(wèn)題所對(duì)應(yīng)的門(mén)類(lèi)。
如果你需要滿足一個(gè)具體的企業(yè)信息化需求,不妨先看看是否有完美匹配的市場(chǎng)化的成熟產(chǎn)品。
比如,某企業(yè)希望解決采購(gòu)過(guò)程中供應(yīng)商管理的分級(jí)流程問(wèn)題、貨物驗(yàn)收和付款流程的有序性問(wèn)題、報(bào)價(jià)搜集規(guī)范化問(wèn)題以及招標(biāo)過(guò)程自動(dòng)化問(wèn)題,與第1章的內(nèi)容對(duì)照,會(huì)發(fā)現(xiàn)這些問(wèn)題幾乎都對(duì)應(yīng)了現(xiàn)代企業(yè)管理軟件的某個(gè)門(mén)類(lèi),屬于運(yùn)營(yíng)和財(cái)務(wù)管理領(lǐng)域的交集。
現(xiàn)成的SaaS軟件產(chǎn)品有顯而易見(jiàn)的好處,那就是開(kāi)箱即用。客戶無(wú)須進(jìn)行煩冗的定制開(kāi)發(fā)和IT部署,也不需要詳細(xì)撰寫(xiě)自己的需求說(shuō)明書(shū),直接開(kāi)通云端賬號(hào)就能夠開(kāi)始使用(對(duì)于復(fù)雜的企業(yè)應(yīng)用,用戶培訓(xùn)可能是必不可少的)。但是它也有顯而易見(jiàn)的缺點(diǎn)——作為通用軟件,它無(wú)法迎合每個(gè)客戶的需求。
這時(shí)就需要用戶企業(yè)做出權(quán)衡,SaaS軟件產(chǎn)品無(wú)法滿足的那些需求是不是必不可少的?如果無(wú)法回避,是否可以通過(guò)API來(lái)進(jìn)行局部的擴(kuò)展開(kāi)發(fā),而不是完全重新設(shè)計(jì)?
一般而言,SaaS軟件產(chǎn)品都可以提供完善的 API,而且SaaS軟件自身的特性組合也會(huì)根據(jù)客戶的實(shí)際需求進(jìn)行增加。所以,理論上來(lái)說(shuō),用戶企業(yè)的共同需求很快會(huì)得到廠商的重視,并被加入升級(jí)版本的開(kāi)發(fā)計(jì)劃中。
3. 基于開(kāi)源軟件和平臺(tái)開(kāi)發(fā)
基于某個(gè)比較成熟的開(kāi)源軟件進(jìn)行定制開(kāi)發(fā)(行業(yè)俗稱(chēng)“二次開(kāi)發(fā)”)是一種比較折中的方式,它在保持靈活度的同時(shí)控制了開(kāi)發(fā)成本。
除了傳統(tǒng)意義上的開(kāi)源軟件,中間件和云計(jì)算時(shí)代出現(xiàn)的PaaS 模式也都能起到類(lèi)似的作用。它們旨在幫助企業(yè)應(yīng)用開(kāi)發(fā)者降低開(kāi)發(fā)成本,提高交付速度。
在企業(yè)應(yīng)用領(lǐng)域,比較知名的開(kāi)源產(chǎn)品如下表所示:
企業(yè)應(yīng)用領(lǐng)域的開(kāi)源商業(yè)模式和其他領(lǐng)域的開(kāi)源經(jīng)典模式略有不同,并非所有的開(kāi)源廠商都會(huì)免費(fèi)提供產(chǎn)品,也就是說(shuō),開(kāi)源不等于免費(fèi),商業(yè)用戶在獲得可修改的源代碼的同時(shí)依然有義務(wù)支付授權(quán)費(fèi)用。
雖然開(kāi)源軟件能夠節(jié)省設(shè)計(jì)和開(kāi)發(fā)的時(shí)間,但選擇任何一個(gè)開(kāi)源平臺(tái)都需要設(shè)計(jì)與開(kāi)發(fā)人員對(duì)這個(gè)平臺(tái)充分熟悉。而且,任何一個(gè)開(kāi)發(fā)平臺(tái)都不可能提供完全自由的設(shè)計(jì)空間,應(yīng)用的實(shí)現(xiàn)受制于開(kāi)源軟件的框架和特性基礎(chǔ)。
這也是為什么大部分開(kāi)源產(chǎn)品構(gòu)筑的應(yīng)用都具有雷同的界面和功能。對(duì)于部分追求效率和可靠性的企業(yè)應(yīng)用開(kāi)發(fā)者來(lái)說(shuō),這未嘗不是好事。
在某些企業(yè)應(yīng)用領(lǐng)域,比如BPM(業(yè)務(wù)流程管理)和BI(商業(yè)智能),基于某個(gè)平臺(tái)進(jìn)行開(kāi)發(fā)恐怕是不可避免的,因?yàn)楹苌儆衅髽I(yè)愿意從頭構(gòu)筑這些應(yīng)用的基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)和邏輯,它們實(shí)在是過(guò)于復(fù)雜了。而且,隨著商業(yè)自動(dòng)化、智能化的要求越來(lái)越高,幾乎所有的復(fù)雜企業(yè)應(yīng)用門(mén)類(lèi)都有專(zhuān)業(yè)化分工的需求。
在商業(yè)軟件世界里,雖然廠商不提供源代碼,也不能通過(guò)修改源代碼進(jìn)行二次開(kāi)發(fā),但客戶依然可以通過(guò)自定義數(shù)據(jù)、自定義流程和自定義規(guī)則等用戶數(shù)據(jù)來(lái)搭建滿足自己需求的具體應(yīng)用。所以,在選擇企業(yè)應(yīng)用產(chǎn)品的時(shí)候,到底是選擇一個(gè)應(yīng)用,還是選擇一個(gè)應(yīng)用開(kāi)發(fā)平臺(tái),有時(shí)候界限是模糊的。
4. 混合和實(shí)用模式
除了以上介紹的這三種途徑,企業(yè)也可以綜合使用這三種方式來(lái)滿足自己的IT需求,這是一種非常務(wù)實(shí)的做法。
即便像阿里巴巴這樣的巨型企業(yè),也不可能完全獨(dú)立開(kāi)發(fā)所有的應(yīng)用,當(dāng)然更不可能通過(guò)購(gòu)買(mǎi)現(xiàn)有的軟件產(chǎn)品來(lái)滿足自己的全部需求。
在使用混合模式時(shí),企業(yè)集成門(mén)戶(EA)和單點(diǎn)登錄(SSO)是最常使用的 IT 框架,因?yàn)橛脩舢?dāng)然不愿意在使用混合解決方案的過(guò)程中出現(xiàn)混亂,員工也不可能通過(guò)多個(gè)孤立的賬號(hào)來(lái)使用多個(gè)系統(tǒng)。而且,企業(yè)希望這些組合起來(lái)的應(yīng)用最終能夠被準(zhǔn)確地分發(fā)、授權(quán)和收回。當(dāng)然,在選擇這些起到整合IT應(yīng)用作用的系統(tǒng)時(shí),也要決定是進(jìn)行獨(dú)立開(kāi)發(fā)還是使用現(xiàn)有平臺(tái)。
作者:任向暉,明道、梅花網(wǎng)創(chuàng)始人
本文節(jié)選自任向暉著作《現(xiàn)代企業(yè)應(yīng)用設(shè)計(jì)指南》,京東購(gòu)買(mǎi)地址:https://item.jd.com/12437829.html
未經(jīng)出版社書(shū)面許可,禁止個(gè)人及平臺(tái)轉(zhuǎn)載,謝謝合作
題圖來(lái)自Unsplash,基于CC0協(xié)議
非常不錯(cuò),學(xué)習(xí)了
干貨走印象