溝通為王
溝通問題是一個項目成功最重要的因素之一。一個項目可能并沒有什么正式的軟件過程,但是只要團隊成員能夠進行有效的溝通,項目成功的可能性就很大,但是如果項目中缺乏有效的溝通渠道,再優秀,再嚴謹的軟件過程也沒有用。優秀的軟件方法學,總是會在溝通渠道的建立,推動有效溝通上花費大量的精力。我們分析RUP、XP等方法學,都會看到很多這樣的實踐。溝通對一個項目而言是重要的,對一個軟件組織而言就更重要了。從長期來看,內部能夠進行有效溝通的組織能夠得到很好的發展,但是反過來,內部溝通不暢的組織將會出現很多的問題。
在軟件開發過程存在的一個很大的問題就是溝通不暢的問題。事實上,這個問題并不僅僅在一個開發過程中存在,在整個軟件組織內都將長期的存在,并成為阻礙軟件組織發展的一大障礙。這樣的說法可能過于理論化,但是我們只要想想,如果現在的項目中,一個主力程序員離開的話,是否會給項目,甚至組織帶來重大的影響,就能夠理解這段話的含義了。造成這種現象的主要問題是程序是分散在各個程序員手中的。各個代碼塊就像是程序員們的私有財產一樣,神圣不可侵犯。
更為糟糕的是,任何一個程序員都不愿意閱讀他人的代碼,比起理解別人的代碼,程序員們寧可自己重新編寫代碼,這導致另一個嚴重的問題――軟件組織中大部分的工作都是重復的,以至于程序員天天忙于開發代碼,卻難以把精力放在更有價值的地方(關于什么是更有價值的地方,我們在下文會詳細的描述)。
在一些項目中,我們經?吹竭@樣一種開發環境:每個程序員都擁有個人的隔離空間,彼此之間不進行交流,甚至有時候他們整天不說一句話。在和項目中的一位主力程序員進行溝通之后,我們發現了他們的真實想法:
項目非常緊張,團隊成員之間的關系非常的微妙,主力程序員必須要保持自己的主力地位,對他們來說,必須努力寫出優秀的代碼,同時,你還需要承擔項目進度的壓力,并提防著其它的程序員。將程序掌握在手中是自己安全感的來源。壓力如此之大,他們不得不每天工作12個小時以上。程序開發就如同噩夢一樣。
雖然未必所有的團隊都如此不良的開發人文環境,但是或多或少都存在一些不好的環境因素?梢钥隙ǖ恼f,沒有多少人愿意在這樣一個開發環境中工作。這些環境因素都影響了溝通問題的形成。
XP的四大價值觀中的一項就是溝通。XP中的溝通范圍很廣,有開發人員和客戶之間的溝通(我們在需求和故事一章中也提到了溝通問題),有程序員和設計師之間的溝通,有程序員和測試人員之間的溝通。但是本文的重點集中在開發團隊內部,即,如何改進開發團隊內部的溝通質量。
改進溝通的實踐-結對編程
文章來源于領測軟件測試網 http://www.kjueaiud.com/