我們為什麼選擇工作流

2021-05-11 04:17:04 字數 1662 閱讀 7454

一直感覺很難對那些從未接觸過工作流的同學們解釋清楚。

還記得有乙個活動中,有人提問:「工作流到底是做什麼的?」回答的同志希望根據具體的例項解釋一下,就反問他:「你們公司的報銷流程是怎麼走的?」結果提問的同志直接說:「直接找財務啊。」引得下面一陣喧嘩:「不用領導簽字就可以隨便報銷啊。」

那個提供的同志心裡一定感覺很無辜:「我也不知道公司的請假流程應該找誰啊,大家每次都直接給財務了。」其實對於小公司來說,裡邊工作的人本來不多,可能都是報銷這種事情都是這樣兩步完成了,可實際上真實的流程應該是這樣:

大家對圖中的環節估計不會有什麼異議,只是對於直接拿發票找財務報銷的人來說,中間的核實部分變成了完美的黑盒,他不了解,也沒有必要去了解報銷的整個過程,站在當事人的角度,他只要最後知道這次報銷能拿到多少錢就可以了。

對 於乙個公司的內部事務來說,這樣就最好的,員工沒有必要去了解每個環節是如何進行的,但是在為這種公司進行軟體開發時無疑要面臨著掉進陷阱的危險。假設你 只對員工進行需求調研,他會只給你發票的單據,告訴你報銷流程就是找財務。如果再去找財務進行需求調研,他會告訴你只要看一下沒問題就可以報銷了,最有可 能略過,也可能是最關鍵的特別情況需要經過老闆審核的步驟,這個步驟可能是5000元以上必須經老闆過目,也可能是特殊事項需要老闆簽字,但是因為公司日 常不會出現很多這種情況而被人們無意識的忽略掉,有可能到程式開發到中段時才突然想起來,然後就需要把流程重改。

說到這裡,那麼使用了工作流就可以避免出現這類需求變更問題嗎?

答 案是否定的,軟體開發時的需求變更常常是因為客戶對本身業務要求和業務流程的不熟悉所導致的,軟體開發的過程常常伴隨著流程的梳理和細化,這也是為什麼很 多程式設計師都說:「這個專案做完了,我比他們公司裡的人都懂業務了。」其實不是你比他們還懂業務,真正辦公的時候你還是會被各種情況衝的頭昏腦脹,但是因為 你在軟體開發的過程中對各個部門之間的依賴和關聯進行了完全的梳理,所以對各個部門之間的資料流和業務流了解的更為通透。

話 說回來,工作流雖然不能解決因為客戶對本身業務的深化而造成的需求變更問題,但是它確實可以把這個風險提前,我們知道,風險總是越早解決越有利,因為當我 們一張張單據化為流程圖時,客戶也能夠更好的參與到流程的解讀中來,通過流程圖可以加快業務的深化,提早暴露出之前沒有考慮到的問題,便於我們盡快的盡早 的解決。

那麼我們直接用visio不就可以了?何必使用工作流呢?

答案是 visio也可以,只要可以限制圖形中的語義,不要讓客戶任意發揮,就完全可以實現工作流的效果。為什麼要限制語義呢?因為只有流程圖可以直接對映為開發 完成的程式,對流程圖的細化才是真正有意義的,否則客戶畫了一張完全無法用程式實現的圖形,我們該怎麼辦呢?工作流一般都提供了自己定義的一套語義,大多 都是以xml格式儲存的,只要以此為基礎畫出的流程圖都是可以轉換為實際程式的,再加上與客戶的溝通,讓客戶和程式設計師對流程中每個環節的理解保持一致,就 可以盡量避免理解上的偏差,減少修改和返工現象。

但是工作流的學習曲線太高了,原本程式中我只需要設定幾個狀態位就可以解決問題,值得興師動眾的配上工作流嗎?

對 這個問題的回答還需要對實際情況進行分析,小型系統中,你只需要製作乙個cms,不同的管理員負責不同版塊內容的審批,這種邏輯簡單,流程固定的需求確實 沒有必要使用工作流,使用了工作流反而會加大開發和維護的複雜度,使用狀態位模擬fsm有限狀態機也完全可以實現。但是在複雜的業務情況中可能存在著同步 並行,多路決策,迴圈遍歷等情況,這種情況下使用狀態位就無法滿足客戶的業務需求,因此隨著業務需求複雜度的上公升,我們必然需要選擇功能更強大的**來解 決這一系列的問題。

為什麼我們需要工作流

每乙個資訊化開發人員,在接觸到工作流的時候,都會有這麼乙個疑問 我用一般的方法可以實現,為什麼還要用工作流?我曾經也問過這個問題,不過現在稍微有點明白了。別著急要答案,看過下面的例子,或許你也就明白一些了。這是乙個簡單的業務 訂貨流程 1 客戶提交採購訂單 2 業務員執行訂單處理 3 如果缺貨,轉工...

我們為什麼需要工作流

這是我的 基於wf設計業務流程平台 的題外篇 以下是這系列的文章列表,寫的很痛苦,但我會繼續寫下去 基於wf設計業務流程平台 架構 基於wf設計業務流程平台 許可權體系 基於wf設計業務流程平台 特定群體與特定人 基於wf設計業務流程平台 參與者與任務列表 基於wf設計業務流程平台 功能列表 基於w...

我們為什麼需要工作流

這是我的 基於wf設計業務流程平台 的題外篇 以下是這系列的文章列表,寫的很痛苦,但我會繼續寫下去 基於wf 設計業務流程平台 架構 基於wf 設計業務流程平台 許可權體系 基於wf 設計業務流程平台 特定群體與特定人 基於wf 設計業務流程平台 參與者與任務列表 基於wf 設計業務流程平台 功能列...