你畫的流程圖,全組人都能看得懂嗎?

  • 2019 年 10 月 21 日
  • 筆記

自媒體行業有一句不知道是誰說的名言:用戶有圖就不會看文字,有視頻就不會看圖。雖然這裡反應出了現代人的一些浮躁,但也從側面說明在溝通效率方面,視頻優於圖片,圖片優於文字。而平時大家又都在抱怨前人沒有留下文檔,自己又不寫文檔。用視頻來記錄文檔製作成本太高,而用文字記錄文檔有沒人看,所以使用圖表來描述文檔就顯得經濟實惠一些。

畫過的流程圖沒人看,多數是因為閱讀的人看不懂。這就像籃球比賽中的傳球一樣,傳球失誤多半責任是傳球人的動作不規範導致。文檔也是一樣,閱讀的人看不懂,多半是文檔作者描述問題不清晰。所以針對流程圖我們需要有一套標準化的定義。

先貼一個流程圖,大家看看能否理解需求。

  • 圓角矩形表示程序開始或結束

  • 矩形表示單據的狀態

  • 帶箭頭的線表示數據流向

  • 菱形表示數據流向的判斷

程序員報銷審批,金額大於等於1000,提交單據後需要經理審批,金額小於1000直接由財務審批,經理通過後需要財務審批。「經理待審批」和「財務待審批」這兩種單據的狀態一定對應各自的操作頁面,用矩形表示。「經理審批通過」這是一個數據流向,對應「經理待審批」這個頁面的「通過」按鈕的事件,用帶箭頭的線表示。程序員提交的報銷金額是否大於等於1000這個判斷就是數據流向的判斷,用菱形表示。

什麼情況下需要畫流程圖

如果業務流程中只有一個步驟的審批,那就不用畫流程圖,畢竟流程簡單看代碼也花不了多少時間。大於一步的審批就一定要畫流程圖。

畫流程圖的注意事項

  • 帶箭頭的線上一定要註明操作數據的過程,比如「審核通過」。
  • 線與線不要交叉。
  • 不要多條線使用一個箭頭。
  • 流程圖一定要有開始和結束的圓角矩形框,讓讀者第一眼就能看出數據的整體,這也是做事的規矩,有始有終。

記得我的初中數學老師講坐標系的畫法,他說畫坐標系一定要寫x,y和0,如果誰只畫了一個十字架,即使題作對了也不給分。

  • 流程圖的「開始」要畫在上面,「結束」要畫在下面,正常的數據流向要自上而下,例如「審核通過」,異常的數據流向可以自下而上,例如「審核拒絕」。因為人的潛意識都是自上而下的,都是希望得到肯定回答的。所以請順着人類的潛意識思維描述需求。
  • 流程圖可以有多個結束,但是只能有一個開始。
  • 流程圖儘可能在一屏顯示,或者能夠打印在一張A4紙上,如果一張圖中內容過多,建議拆分為多張流程圖。

流程圖工具

  • visio,微軟出品,僅限windows。
  • wps,可導出jpg、png等圖片格式,導出svg、pos格式需會員充值。
  • www.processon.com 瀏覽器在線編輯,可導出圖片格式和svg、pos格式文件,但免費模式想加最多只能創建9張流程圖。
  • Gliffy Diagrams 谷歌瀏覽器插件,只能導出圖片格式和自研的gliffy文件。

註:svg和pos文件是流程圖通用格式文件

畫流程圖有啥用

  • 流程圖是溝通的利器。在釘釘上一張圖能說明白的事就不用浪費太多的口舌來解釋。
  • 流程圖是離職交接的利器,有了流程圖可以避免上家公司接手的同事追殺到你們家。
  • 流程圖還是需求變更的利器。產品經理要改需求,只要看看流程圖上改了哪些矩形,就知道這次變更需要改哪些頁面;流程圖上改了哪些線,就知道這次要改哪些按鈕的代碼邏輯。
  • 流程圖就是需求。因為現在的需求你和神都了解細節,等過了2個月就只有神能了解細節了。我開發的功能,未來新人或者其他部門的人對此有疑惑他們只能來問我,如果自己開發的功能自己都說不明白,那tm就尷尬了。

寫在最後一

大學的軟件工程老師說過,只要需求文檔確定,大家的工作就需要低頭寫代碼。工作之後我一直認為這是理論脫離實踐的笑話。直到我深入研究流程圖才發現,流程圖就是對應着代碼,菱形有幾個向下指的箭頭,那麼頁面是就有幾個與之對應的按鈕(也可能是單選框)。

寫在最後二

如果產品不畫流程圖,咱們技術就畫。與產品經理碰撞後一定要敲定一個最終版的流程圖用於開發編碼,因為沒人會看那冗長的文字版需求。最後貼一個酸奶爸爸之前畫的流程圖,臭顯擺一下。