軟件的性質決定了人的重要作用,因此有效的溝通顯得尤為重要。
一、文檔很重要嗎?
傳統的軟件開發過程強調文檔的溝通作用,他要求每個階段都要產生詳細的文檔,他希望通過文檔不同的涉眾可以更好地理解系統的內容,了解系統的進展。
然而,文檔真的能起到預期的效果嗎?
事實證明,能真正潛下心來,認真閱讀文檔的人并不多。如果一個人能夠潛下心來閱讀那些枯燥的文檔,我們完全有理由相信,他是一個富有專研精神的人。然而,現實生活中這樣的人其實并不多,更不可能要求所有的涉眾都具備很強的專研能力。因此,文檔的命運可想而知了,通常,他們被費力地寫出來,然后成了擺設。
因此,我們說,不要指望文檔有太多的效果。
二、工件或工作產品
目前被廣泛使用的Rational統一軟件開發過程(RUP),并不強調文檔,而是強調工件(artifact),工件指模型、模型元素、文檔、源代碼和可執行程序。RUP更強調組織內部利用模型工具使用模型進行交流。這樣也充分發揮了UML的優勢和作用。
敏捷開發過程強,這里以XP為例,強調代碼的重要作用,主張代碼即設計。這種思想雖然有些極端,但在實施過程中仍然會利用UML進行建模,只不過未必是正式的,可能只是一張草圖。因此,我們說,實施XP實際上也是需要建模的,只是形式上更隨意。
所以,敏捷的工作產品其實和RUP的工件沒有本質上的差別,他們的共同點是,文檔的作用在溝通交流中的作用已經明顯下降。
三、有效的溝通方式-面談
這在管理學上是一條很普通的定律,但隨著科技的發展,電話,電子郵件的廣泛使用,面談反而被人們輕視了。因為只有在面對面的交流過程中,我們才能獲得更多的信息,語言,肢體,表情和語氣所傳達的信息。而通常表情和肢體語言所傳達的信息往往更準確。一個人可能會說謊,但同時他的肢體語言可能會暴露他內心的秘密。
對于軟件團隊成員之間,有效的溝通和交流可以提高工作的積極性。尤其是一定要讓每個成員知道團隊的工作目標,每個成員在這個團隊中處于什么樣的位置,他的工作對于團隊有怎樣的重要作用,大家共同需要面對的問題,重要的是要讓他知道,你知道他的各種優點。所有的這些信息,很難想象不通過面談能很好地完成。
四、有效的溝通讓生命更精彩
加強有效的溝通,不僅僅是可以使軟件項目進行的更順利,同時,也可以提高員工的歸屬感,責任感,讓他們積極主動地來完成團隊的使命。
為什么中國的兩彈一星比世界上任何一個的研制都更快,那時的狀況是資源缺乏,憑借著的是使命感,榮譽感,強大的精神食糧比任何的物質都更重要。
盡管,在經濟發達的,人們可以更好地強調享受生活,但是,精神的充實,完成使命的成感仍然是每個人都需要的精神食糧,沒有這些,生命一樣不會輝煌。