中小型軟件開發項目一般都具有任務急、工期短的特點,要在確保滿足時間、質量、成本和效益的情況下交付給客戶滿意軟件產品, 必須保證團隊與客戶、團隊成員之間能良好的溝通與協作。溝通與協作是團隊開發活動的基礎,它貫穿于軟件開發的整個生命周期。是軟件開發項目速度、成本、效率的關鍵。
隨著Web服務技術和面向服務的體系結構(SOA)的發展,要求軟件開發必須從使用本地豐富的內部應用資源向聯接外部廣泛分布的服務資源過渡。
這一轉變卻正面臨一些新的困難,新時期的軟件開發必須回答如下三個問題:如何使包裝為Web服務的軟件資源協同工作、如何在技術演進的過程中保持平臺的中立性、如何在當前動蕩的Internet時代適應需求的變化?
通過與這三個問題相對照,不難發現:傳統的軟件開發方法難以重用和協同軟件資源,難以保持平臺的中立性,也難以滿足變化的需求。因此,迫切需要一種能夠克服這些困難的新方法,那就是——協作開發。
今天的大多軟件工作能否獲得成功,取決于團隊的協作,而不是個人的突出表現,特別是在中小型軟件企業當中,創建并維護一個高績效的團隊,以產生潛在的杰作是非常重要的一項工作。團隊成員彼此都影響著整個團隊的成功,他們必須要向著一個共同的目標而合作。
孤軍作戰已經成為歷史
幾年前,“軟件開發是一項團隊活動”是Rational提出的口號之一。可以說,直到今天,這個標語更為正確了,個體開發者在單獨完成一個重要項目的時代已經成為過去了。
然而,簡單地將一些人分配給某項目并不意味著你擁有了一個團隊。要想創建一個有效的工作組,團隊成員必須相互“檢入”且配合。敏捷開發中提到,團隊成員應當可以認識到彼此的優點和缺點,并相互配合以取得成功。
多年來,人們僅將軟件局限在應用工具的狹小區域,這種片面的理解致使人們很難聯想起大規模的軟件工業。因而,軟件開發往往與編寫程序等同起來,而調研分析、建模、測試、部署和全局管理等工作卻被忽略。
這種局面在一些中小型軟件開發項目當中非常明顯,特別是對任務認識的片面性也體現在對軟件開發角色的劃分上,程序編寫者(開發人員)是主力軍,代表了一切。如此以來,在開發工作中就呈現“獨木難支”的局面。
可見,今天的軟件開發已不單是一種技術或工具的應用,抑或一種靈感的迸發。資源的調配、協作的布局、流程的設置在軟件開發中占據越來越重要的地位。技術、工具、人和管理方法以開發對象為核心,要達到水乳交融的境界。
在潛心經營軟件開發工具多年后,IBM Rational力求通過整合將軟件開發的要素粘合在一起,提供一種功能強大的平臺,促進軟件工藝的發展。
從角色入手管理團隊
雖然充分的協作開發具有很多優勢,但這在事實運行當中卻存在很多問題,例如,對于一個管理者而言,一類挑戰是在既有協作團隊中增加新的成員。有些小公司起步于一個核心團隊。當公司發展壯大時,該核心團隊需要吸收新的成員,這時,就有可能發生一些沖突。結果可能是,新成員會被驅逐出來或者核心團隊成員選擇放棄并離開公司。
以下有幾個方法,可以避免出現類似的情況。
首先,當新成員加入一個團隊時,請確保他們的個性與本團隊相匹配。
第二,不要聘請超級明星。盡管他們可能帶來好的效果,但是你想要他們做的大部分工作可能對于有經驗的人們而言已是重復工作,而且也不能夠充分他們的才能。
第三,或許最重要的是,當團隊中加入新成員時,為他們指派一些可以幫助他們掌握竅門并理解文化的良師。這將有助于他們更快地融入團隊并產生一種歸屬感和成就感。
從項目當中的角色管理入手,也是提高協作開發效率的一項重要舉措,IBM Rational所倡導的整合開發平臺,是將與軟件開發相關的所有人員凝聚在一起,通過一套整合的流程和全面的質量控制機制,形成一個功能強大的開發平臺。
高品質軟件是多道工序錘煉的結果,創造高品質軟件的開發平臺必須整合完成所有這些工序的角色,以使其傾力協作。角色的整合建立在清晰的角色定位之上,從開發實踐中IBM Rational定義了項目經理、系統分析人員、架構設計師、開發人員、測試人員、部署人員六大角色,他們的工作環環相扣,形成一個缺一不可的團體,每一個角色都能在開發平臺上找到自己的位置,并能獲取適合自己的工具。
溝通與協作不僅指開發團隊的內部成員之間,,也包括開發團隊與用戶、客戶之間的互動。在軟件開發的全過程中, 溝通與協作是一切活動的基礎,它將會扮演越來越重要的角色,而采用專業的平臺與工具,不僅將會讓團隊的溝通寫作更加有序、高效,更能夠保證整個軟件項目的質量與客戶滿意度。