摘要:介紹軟件開發中團隊的特點以及管理方式,分析軟件開發過程中團隊在溝通過程中存在的問題,指出應該如何通過建立和規范軟件開發團隊的溝通機制促進團隊內部溝通,提高軟件開發項目的質量和效率,同時對學生團隊在軟件開發中出現的一些問題提出見解。
關鍵詞:軟件開發;團隊管理;團隊溝通;溝通機制
伴隨著全球信息化時代的到來,軟件開發的分工越來越明確,軟件開發中團隊的合作占據著越來越重要的地位,然而傳統軟件開發管理模式中開發效率低和管理落后等缺點也隨之暴露出來。軟件開發中團隊的溝通是團隊進步的前提,是項目開發成功與否的關鍵因素。如何最大限度地提高團隊的協作能力,在團隊成員之間建立良好的溝通機制,直接決定著項目的成功與否。
1、軟件開發團隊
1.1 高效團隊的特點
1)分工明確。在大型項目的開發中,一個項目會被分為許多小的模塊,不同的模塊由不同的成員負責。小組成員的文化素養和知識水平存在差異,而高效的團隊會充分考慮這種差異,按照每個人的實際能力分配不同的任務。
2)協同能力強。一個團隊不僅強調個人的勞動成果,而且強調團隊的整體業績。團隊的榮譽建立在個人榮譽之上,項目中的個人要有無私奉獻的精神,能夠發揮自己的長處并展示自己的優點,同時敢于指出其他成員的缺點。這樣,整個團隊才能做到取長補短,相互協作、相互溝通,共同進步。
3)員工培訓經常化。我們都知道,要想提高個人能力,學習是一個必不可少的方面。加強員工的思想工作可以提高員工的職業道德,培養員工愛崗敬業的精神;加強員工的技術培訓則可以使員工不斷學習新知識和新技術,提高團隊的核心競爭力。
4)人際關系和諧向上。按照標準定義,人際關系是指人與人在交往過程中建立的心理上的直接聯系。人際關系在團隊中極為重要,團隊成員之間要遵循平等、相互包容、理解、信任的原則。
5)薪酬體系完備。市場行情直接影響著薪酬的標準,如果一個企業沒有完善的薪酬體系,那么就會造成員工的流失,對企業的經濟效益和發展目標產生影響。在團隊中,不同成員的工作能力不同,試想如果一個成員一天到晚忙得不可開交,而有的員工卻閑的無事可做,那么這必然會打擊這個成員的積極性,在極端情況下,如果這名員工辭職,那么企業不僅流失了人才,而且名聲也會受到影響。
6)溝通渠道良好。營造積極而良好的溝通氛圍可以促進員工向好的方向發展,員工得到信任,就會將這種積極的情緒投入到工作中,并且將這種積極向上的情緒傳遞給周圍的員工。溝通渠道良好可以讓員工之間進行及時的交流,幫助員工疏導不良情緒。如果交流不能得到正確的疏導,那么員工的不良情緒很可能會蔓延到工作中,對項目開發造成負面的影響,因此要正確地疏導員工的不良情緒。員工將積極的情緒相互傳遞,同時又正確地疏導負面情緒,這對項目開發的作用是巨大的。
7)團隊目標明確。心理學家馬斯洛曾說過,杰出團隊的顯著特征便是具有共同的愿望與目的。不同的人看待問題的角度和目標不同,便會造成個人目標與團隊目標的差異。如果團隊想要保持高效的運作,那么團隊成員就必須要明確團隊的目標,這樣團隊成員才可以融入團隊,同時團隊也可以為員工的發展指明方向。
1.2 軟件開發團隊管理
團隊管理的基本目標就是讓所有成員能夠有條不紊地工作,在預定的時間內完成項目的開發工作,并且保證項目的質量。規范化的團隊管理可以達到事半功倍的效果,而混亂無章的管理則往往達到事倍功半的效果,我們以這樣一個管理的小故事來說明。去過寺廟的人大概都知道,一進廟門,首先看到的是彌陀佛,他笑臉迎客,但在他的背面,則是黑口黑臉的韋陀。相傳在很久以前,他們并不在同一個寺廟里,而是掌管不同的廟。彌勒佛熱情快樂,所以來寺廟的人非常多,但是他整天丟三落四,不好好管理自己的賬務,導致他依然入不敷出。相反,韋陀是個管理賬務的好手,但是整天陰森遮臉,特別嚴肅,使得來上香火的人特別少,導致最后斷絕香火。佛祖在查香火的時候發現了這個問題,就把他們倆放在同一個寺廟里,彌勒佛負責公關,笑迎來自四面八方的香客,于是香火大旺,而韋陀鐵面無私,錙銖必較,因此由他負責賬務,嚴格把關。在兩人的合作下,寺廟呈現出一片欣欣向榮的景象。其實,用人高手的眼里沒有無用之人,他們總能把人用得恰到好處。良好而正確的團隊管理方式,總能使團隊處于高效的運作狀態中。
團隊管理方式是影響團隊的重要因素,核心在于溝通、分工、合作、共同進步,以形成一個方向明確、工作能力卓越的團隊。如果團隊內部管理機制混亂,那么整個團隊便會形成1+1<2的局面;反之如果管理有序,那么各成員便能充分發揮自己的優勢,從而達到事半功倍的效果。任何團隊都存在領導和被領導的關系,這是一個不可規避的問題。團隊的領導直接影響著團隊的管理方式,團隊的領導首先在分工上要充分考慮員工的差異,合理地分配資源;其次要經常組織討論,增強員工之間的默契,加強團隊成員之間的合作,如果員工之間彼此相互信任,很有默契感,那么合作起來就會很愉快;最后就是要樹立權威,使得分配的任務能夠被很好地執行。管理不是一味地管理別人,而是要管自己和管他人。管住自己就是要讓自己按照要求辦事,不做超越自己本分的事;管理別人只是一種方式,而不是目的,總的來說還是為項目服務。
2、軟件開發團隊溝通存在的問題
2.1 團隊內部的溝通
溝通是我們在社會生活中遇到的基本問題。人與人要想達到真正的溝通,并非一件容易的事,我們用以下一個關于溝通的案例來說明。一個秀才去買柴火,看到一個賣柴的年輕人,便上前去說道:“荷薪者過來!”年輕人是個文盲,聽不懂秀才的話,但是聽到“過來”兩字就過去了;秀才接著問:“其價如何?”年輕人還是聽不太懂,就聽到了“價”,便告訴秀才價錢;秀才又接著說“外實而內虛,煙多而焰少,請損之”,意思就是“你的柴火外表是干的,里頭卻是濕的,如果燒起來,煙會很多而火焰會很小,請你降低價錢吧”,這次賣柴的人完全聽不懂秀才的話,就擔著柴走了。這個案例告訴我們與人溝通的技巧,即很多時候我們與人溝通并不需要那些華而不實的語言,用簡潔易懂的語言就足夠了,這樣才能讓團隊成員充分了解你的意思。
2.2 團隊與外部的溝通
項目團隊內部和團隊與外部之間的信息交流不足,不但會影響一個團隊的績效,而且還可能會導致項目決策的失誤和項目的失敗。一個團隊的成功與否,在很大程度上跟與客戶交流的程度有關。團隊在和外部進行交流的時候經常出現許多問題;與客戶進行交流的時候,很多團隊喜歡把一些雜亂無章的數據給客戶看,問客戶很多專業問題,最后導致項目失敗。
其實,我們如果一開始就以口頭及書面的形式與客戶進行交流,那么就能夠讓客戶加深對我們的印象。事實上,我們每次與客戶接觸,總會給客戶帶來某種意義上的合作信息,這些信息可以表明我們對問題解決方案的一些看法,推進我們解決問題的進程,暗示在項目實施方案中可能存在的一些障礙,從而引出更多有關項目的信息,但是我們不要忘記這種溝通應該是相互的,不僅要訴說,還要傾聽客戶的心聲。
另外,我們還要注意和客戶溝通的有效性。比如,我們在團隊開發中經常會遇到這種情況,項目開發已經進行了一大半,卻發現自己做的和客戶想要的差之甚遠。這時候我們如果繼續進行下去,就會導致項目失敗;如果返工,那么勢必影響工期,造成成本的提升。在進行項目開發前,與客戶溝通是一個非常重要的環節,只有充分了解客戶的需求,才能保證項目朝著一個正確的方向進展。
3、軟件開發團隊溝通機制
3.1 溝通的內涵
管理學中對溝通是這樣定義的:溝通是信息憑借一定的符號載體,在個人或群體中從發送者到接受者進行傳遞,并獲取理解的過程。對于溝通,著名的管理學家彼得·德魯克提出溝通的4個法則:①溝通是一種感知(是否感悟);②溝通是一種期望(是否期待);③溝通產生要求(要求接受);④信息不是溝通(信息是中性的)。這4個法則很好地詮釋了溝通的含義,可以用來作為溝通內涵的準繩。
如果把溝通的層次關系看作一個金字塔,那么溝通可以分為圖1所示的幾個層次。金字塔最低層是溝通;這種“溝通”是廣義上的溝通,是人類與生俱來的能力,這種本能和吃飯穿衣一樣,是一種基本的需求。排在金字塔第2層的是人際溝通,這種溝通是人類經驗性、個體性,的基本行為,是先天和后天相結合的產物,是建立在后天不斷學習基礎上的,這種行為最明顯的特征就是個體性。排在第3層的是組織溝通,組織溝通具有科學性、有效性和理性特征。科學性體現在每個團隊組織都有自己的組織架構、組織目標、組織風格、組織文化;有效性體現在團隊追求高效率和高效果;理性體現在團隊的任務能與團隊成員的實際水準相符合,團隊成員能夠正確地看待一些實際問題,并運用正確的手段切實有效地解決這些實際問題。排在金字塔最高一層的是成員溝通,之所以把成員溝通放在最高層,是因為組織是由各個成員構成的,各個成員的溝通直接決定著組織的溝通,成員之間的溝通存在于上級與下級、平級之間。
雖然團隊盡量避免成員之間的矛盾,但是團隊成員之間的矛盾是客觀存在的,也是不容忽視的,因此高效軟件團隊必須采取積極有效的措施去化解矛盾,其中最好的辦法便是溝通。在一個團隊中,項目經理要盡量保證各個成員利益的最大化,使團隊成員齊心協力;在團隊開發的過程中要充分考慮大家的意見,盡量達到團隊努力即可完成目標的程度。’團隊成員的業績也是他們矛盾的起因,因此要實施好業績考核,不能實行平均主義,要獎賞分明,這樣才能服眾,如果賞罰不均,那么可能會降低成員積極性。
為什么需要溝通?對于這個問題,主要原因在于個體不是獨立存在的,而是相互依賴的,任何一個個體都不能脫離群體而獨立生存,在這個大的環境下,成員之間就需要溝通。項目開發過程中溝通的作用就更重要了,良好的溝通既有利于團隊樹立明確的目標,又有利于成員相互信任并更好地掌握相關技能。
怎樣溝通?這里所說的溝通是狹義上的溝通,即主要存在于項目組與客戶、項目成員之間的溝通。對于如何溝通,眾說紛紜,很多專家和學者都提出了自己的意見,主流觀點就是學會用心傾聽,學會換位思考。
3.2 如何建立有效的溝通機制
管理溝通的本質就是溝通者能夠建立在對方的立場上去思考問題,是主體和客體之間的換位思考。團隊成員的職稱不同,因此成員之間存在著下級與上級、同級與同級之間的溝通,這時候的溝通就與管理掛鉤。基于管理的溝通機制如圖2所示。
項目總經理是項目的設計者。對于一個大的項目,項目總經理會將其分成幾個大的模塊,然后再分給不同的小組進行開發;接下來項目經理又會在小組內部分解該小組需要開發的模塊,并分別讓不同的成員完成。一個大的項目就是這樣被細分的,各個項目小組整合完本組的項目以后,上交給項目總經理,項目總經理把各組上交的項目進行整合,這樣,一個項目就完成了。
在項目中,各層之間存在著溝通。首先,項目總經理和項目經理之間存在溝通,這個溝通直接決定項目的成敗和走向。這個溝通層面上的管理就是委托型管理,即項目總經理和項目經理充分論證了項目的可行性,并把各個項目模塊分給不同的小組去開發。其次,項目經理和項目小組成員之間存在溝通,項目經理會將模塊細分,根據小組成員的實際水平和能力,將細分的不同模塊分配給小組成員,這時的溝通就變成了指導型溝通,項目經理要和小組成員進行詳細溝通并征求他們的意見,以確保成員能夠嚴格按照需求開發項目模塊,而小組成員則要定時向項目經理匯報項目的實際進展。第三,小組成員之間存在溝通,這種溝通是經常性的,主要是幫扶型溝通,小組成員在溝通的時候應該“開放”自己,避免在項目開發過程中出現盲區。最后,項目總經理和小組成員之間存在溝通,這種溝通是跨級溝通,有利于項目的總設計者很好地了解團隊的實際情況以及對項目進行指導。溝通的有效性是衡量管理溝通的重要指標,溝通的成功與否主要取決于任務的下達者所提供的信息和任務的執行者所理解的信息是否一致,因此項目經理在下達命令時要確保達到這一指標。
這種溝通機制建立在層層負責、層層管理的基礎上,有效地提高了項目開發效率和調動團隊的積極性,充分挖掘項目開發成員的潛力,使其能夠很好地融入到團隊中。
4、學生軟件開發團隊的溝通和管理
學生團隊是指學校中學生自發組成的團體或者學生通過學校組織的方式成立的團體。相對專業的軟件團隊,學生軟件開發團隊有以下4個特點。
1)復雜性。學生群體是由不同的學生組成的,有相同年級的,也有不同年級的,流動性大,溝通不便。
2)約束性。學生團隊大部分都是由學生基于興趣愛好自發成立的,不像企業那樣有規章制度的約束,對學生的約束力不是很大。
3)教育性。學生團隊中學生的知識水平有差異,然而團隊的組織者在開發項目時很難兼顧團隊中的所有學生,導致某些學生缺乏必要的知識;同時這種知識差異也會帶來溝通上的問題。
4)實踐性。學生團隊獲取的知識大部分來自書本和老師,對企業開發不了解,在軟件的開發和認知方面比專業團隊差。
然而,學生團隊也有著自身的優勢:首先,團隊中的成員都是學生,對新鮮事物充滿好奇,對新知識的接受能力強;其次,學生團隊的資源獲取面廣,學校圖書館以及優秀的專業老師都是學生獲取知識的渠道;最后,學生團隊的成本低,不像企業那樣需要為團隊成員的工作支付薪酬,而是只需少量的經費,甚至不需要經費就能正常運作。
針對學生團隊的特點,筆者指出促進學生團隊管理的有效方法,同時對團隊成員之間的溝通問題提出一些見解。學生軟件團隊溝通機制如圖3所示。
1)學生團隊管理的核心就是能夠協同工作,協同工作的前提就是實現團隊成員之間的資源共享。只有達到了資源共享,信息才能在團隊之間進行有效的傳遞,資源共享包括書籍的共享、搜索到的資源的整合等。
2)營造良好的團隊學習氛圍可以使成員更高效、更舒適地進行工作。
3)要想明確團隊的發展目標就必須制訂規范有效的計劃,這個計劃可以通過團隊成員投票的方式來制訂。由集體共同制定的目標,更具有代表性和廣泛性,有利于大家共同遵守,同時也體現了團隊的民主和公平。
4)如果把軟件團隊的管理看作一臺機器,團隊的溝通就好比這臺機器的發動機。如果溝通良好,這臺發動機的工作效率就會很高。軟件團隊成員由一群不同班級和年紀的學生組成,為了實現有效的溝通就必須讓這些成員盡快相互熟悉,可以通過團隊成員進行自我介紹和團隊小游戲等方式讓大家相互了解。
5)團隊成員可以對團隊建設提出一些寶貴的意見,有利于團隊發現并解決問題。
6)團隊成員之間可以定期進行知識討論,把自己的一些經驗分享給其他成員,也可以共同討論一些技術性難題,提出不同的解決方案供其他成員參考。
5、結語
項目是一個開放的復雜系統。如果項目團隊要科學地組織和控制項目,就必須有良好的信息溝通。軟件項目溝通的核心是管理溝通,管理溝通就是要充分地保證項目信息能夠及時有效的傳播、存取并最終得到處理。項目內部信息的溝通直接關系到項目團隊的目標、功能和組織結構,對于項目的成功與否有著重要意義。