分析方法的基础 — 2.业务与管理的拆分,破解难题的钥匙
上一篇以企業運營管理為對象,給出了分離原理模型。“拆分”作為分析師的第一位能力,其意義在于當遇到復雜的問題時,如何將相似的要素拆分歸集,并從上向下去理解每類要素的特點、要素間關系,找到不同要素的分析、設計方法。拆分方法正確不但可以縮短理解和分析時間、提升設計和開發效率,而且完成的系統可以獲得高復用性、強應變能力。相反,如果拆分方法不合適,有可能造成對研究對象理解錯誤、使分析和設計變得復雜,且完成的系統缺乏復用性和應變能力。
下面以“業務”與“管理”的分離為例,說明在軟件分析和設計過程中拆分的作用和價值。
一、什么是業務和管理
1. 業務的概念
■業務:指企業為達到某個目標而進行的一系列活動(業務指的是“做事”)。
“業務”一詞原本指的是“做銷售”工作,后來又泛指“非管理”類的工作。業務這個詞在不同的行業、不同的企業、不同的部門、甚至不同的崗位所指的“事”是不同的。下面舉幾個例子幫助理解。
1)非軟件行業
在一般的生產企業中,銷售部門的“業務”是將產品銷售出去,生產部門的“業務”是將產品制造出來。在醫院中,門診部門的“業務”是為患者做診斷,藥劑部門的“業務”是從庫房中取藥交給患者。在學校中,教師的“業務”是向學生們傳授知識,學生的“業務”是從教師那里學習知識等。
2)軟件行業
在軟件行業內,“業務”的概念與一般企業不同,其有兩重的含義:一是對軟件企業內部,二是對軟件客戶。
□對軟件企業內部:除去直接做與編碼相關的工作崗位(包括:技術設計、編程,測試)以外,其它崗位(包括:需求調研/分析、業務架構/設計)的工作,都屬于是“業務”范疇。
□對軟件客戶:將客戶需要進行信息化的工作稱之為“業務”。
2. 管理的概念
■管理:是為實現業務目標而進行的決策、計劃、組織、指導、實施、控制的過程。
(管理是“管事”,“事”指的是業務)
在論述管理的專業書籍中,對管理有很多的定義,比如:管理是在特定的環境下,對組織所擁有的資源進行有效的計劃、組織、領導和控制,以便達成既定的組織目標的過程。
相對于業務來說,管理就是一系列保證業務按照原定計劃達成目標的保障措施。
二、業務與管理的區別
“業務”指的是“做事”,“管理”指的是“管事”,為了更好地理解兩者的定義和區別,下面從廣義上舉幾個例子作參考。
【案例一】道路規劃
某個新建區域需要做道路的規劃,根據規劃的思路可以有兩種設計方式:
1)規劃方式一:先規劃道路,再規劃信號燈
先根據該區域未來可能的人口數量、生活習慣、服務形態、出行方式等各方面的數據,設計出道路的參數,比如:走向、行車道數、車道寬度等,然后再根據道路交叉點周邊的環境預想可能發生擁擠和事故的地方,確定需要的信號類型、數量及位置;
2)規劃方式二:先規劃信號燈,再規劃道路
先定下信號燈的種類、數量和位置,然后再根據這些信號燈的條件去規劃道路的走向、寬度、行車道數等參數;
那個規劃方式合理呢?毫無疑問,方式一是常規的、合理的。理由是:不會因為需要信號燈而去決定如何修路,只會在新建道路需要控制的位置設置相應的信號燈。
業務與管理之間的關系就如同道路(=業務)和信號燈(管理)的關系一樣,不會為管理而去設置業務,只會為保證業務的順利進行而設置相應的管理。所以在研究前,先將業務與管理分離,在理解了業務的基礎之上再考慮需要什么樣的管理方式,這是最佳的分析與設計方式。
圖1 業務&管理=道路&信號燈
同樣,蓋房子的施工工程、組裝汽車的流水線、組織大型的演出活動等都是業務行為,為了保證這些業務工作的質量、速度、數量、時間、安全等,就需要有一套流程、規則、組織、監控器、報警裝置及相應的懲罰制度等來作保證措施,這些保證措施就構成了管理。
【案例二】流水線的安裝
觀察一條啤酒的裝瓶流水線,可以發現與修建道路有相似的地方。
□業務:自動的瓶裝生產線進行的是“業務(做事)”活動,這條生產線本身是用來產生價值的;
□管理:是裝在瓶裝生產線上的監控儀器,這些監控儀器是不直接參加生產、不改變產品形態,也不直接產生價值,它們只是用來保證生產質量、安全的,是“管理(管事)”的,見圖2。
圖2 業務&管理 = 生產線&監控設備
從這個例子可以明確地看出,“業務要素”與“管理要素”的作用和目的確實是不同的,“裝啤酒”與“檢測質量”各自有各自的工作內容和相應的技術、標準,因此這二者應該分別進行研究,然后在通過某種形式組合在一起協同完成裝啤酒的工作。
管理的行為不會改變業務自身的形態、屬性、功能和價值,“檢測”只能找出有問題的啤酒瓶,檢測出的次品價值損失不是因為進行了檢測管理而帶來的。因此,管理的作用只是保證業務可以達成預期的目標(質量、安全、成本等方面)。
三、業務與管理拆分的理由
為什么要對“業務”和“管理”進行拆分呢?
1.易于分析和設計
從上面的說明中,已經知道了“業務”與“管理”的目的是不同的,各自所需要的知識、技術、實行的方法也是不同的,所以要采用的研究、分析、設計和實現的方法都不一樣。
圖3所示的業務流程圖和作用在其上的管理控制的關系,業務流程上的每個節點(工作)在遵守業務標準(生產的工藝工法)的同時,還有接受相應的管理檢查(企業管理規則)的約束,掌握了這些關系,就比較容易進行分析和設計工作了。
圖3 軟件設計中業務與管理的關系
比如,在系統完成后經常會發生需求變化,不得不經常對系統進行維護,通過分析可以發現,系統需求經常變化的主要原因是因為“管理”要求經常變化造成的,而“業務”很少引起系統需求的變化,因此,將業務和管理拆分、然后通過組合的方式讓兩者協同工作,當管理發生變化時,僅改動管理部分即可,不影響業務部分,這就提升了系統架構的穩定性(在系統中業務部分占比在90%以上!)。如果沒有進行拆分,業務和管理兩者耦合在一起,那么業務也會經常隨著管理的變動而變動,系統就不穩定了。
2.原始需求的梳理
另外,在實際的需求調研過程中,客戶并不會按照業務和管理的分類分別向調研工程師說明需求的,獲得的第一手資料中“業務”和“管理”的要素通常都是混在一起的,如圖4(a)所示,因此就需要將它們拆分開來,并識別出那些是屬于業務、那些屬于管理,拆分后的業務和管理經過分析和設計后,再將它們按照系統架構的方法整合在一起,如圖4(c)所示。
圖4 業務與管理
小結:對研究對象拆分的目的就是要搞清楚:
□那些要素是在“做事”,做事的要素構成了業務架構,做事的目的是為“生產”價值;
□那些要素是在“管事”,管事的要素構成了管理架構,管事的目的是為“保證”業務可以生產出預期價值;
■擴展說明
雖然大家從事的業務領域不同,面對的業務和需求也不同,但拆分的概念(分離原理)適用于任何需要信息化的研究對象,在構建非企業管理系統時,同樣也存在著類似于業務和管理這樣“做事&管事”的一對內容,需要利用拆分的思想和方法,尋找并建立適合于該業務領域的分離模型。
通過上述說明是否可以理解為什么要進行業務和管理的拆分了嗎?將業務和管理拆分之后,搞清楚哪些需求是解決“做事”的,哪些需求是解決“管事”的,做事按照業務的要求去做、管事按照管理的要求去做,這樣一來原來因為耦合而感到很復雜的需求,就會變得很容易理解、分析和設計了。
■ 本系列的下一篇:分析方法的基礎 — 3. 業務與管理的特性,分析與設計的抓手
關于業務與管理拆分的詳細說明,請參見《大話軟件工程—需求分析與軟件設計》一書。
總結
以上是生活随笔為你收集整理的分析方法的基础 — 2.业务与管理的拆分,破解难题的钥匙的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java 重定位 —— redirect
- 下一篇: SpringBoot: xxxx for