讀古今文學網 > 程序員必讀之軟件架構 > 第32章 溝通障礙 >

第32章 溝通障礙

如果你正在一個敏捷軟件開發團隊中工作,那就看看周圍。不管是真實還是虛擬的,可能都有一個故事牆或看板,可視化了將要開始的、進行中的和已完成的工作。

為什麼?簡單來說,可視化軟件開發流程是一個引入透明的奇妙方式,因為任何人都能從一個較高層次一眼看清當前的進度。將它與價值流程圖1 之類的技術結合起來,就可以開始設計一些複雜看板來體現團隊的工作方式。我們這個行業已經變得非常善於可視化軟件開發流程。

1 http://en.wikipedia.org/wiki/Value_stream_mapping

然而,我們似乎已經忘了如何對正在構架的軟件進行可視化。我指的不僅是項目完成後的文檔,還包括軟件開發過程中的溝通。

理解軟件架構並不等於能夠表達它。你辦公室牆上的那些架構圖,是反映了正在構建的系統,還是跟代碼結構沒有任何相似之處的概念抽像而已。多年來,我舉辦的架構培訓班已有上千人參與,我可以非常自信地說,可視化一個軟件系統的架構是一種只有極少人具備的技能。很多人都可以畫圖,但那些圖往往有太多的想像空間,也幾乎沒有人使用正規的圖表符號來描述他們的解決方案,這跟我十年前和軟件團隊工作的經驗形成鮮明對比。