• 沒有找到結果。

個人性向、工作內容、工作複雜度對雙人式編程績效之影響

N/A
N/A
Protected

Academic year: 2021

Share "個人性向、工作內容、工作複雜度對雙人式編程績效之影響"

Copied!
7
0
0

加載中.... (立即查看全文)

全文

(1)

行政院國家科學委員會專題研究計畫 成果報告

個人性向、工作內容、工作複雜度對雙人式編程績效之影響

計畫類別: 個別型計畫

計畫編號: NSC94-2416-H-004-057-

執行期間: 94 年 08 月 01 日至 95 年 07 月 31 日

執行單位: 國立政治大學資訊管理學系

計畫主持人: 李有仁

報告類型: 精簡報告

處理方式: 本計畫可公開查詢

中 華 民 國 95 年 7 月 31 日

(2)

行政院國家科學委員會專題研究計畫成果報告 個人性向、工作內容、工作複雜度對雙人式編程績效之影響

The Effect of Personality Types, Job Contents, and Job Complexity on Pair-Programming Performance 計畫編號:94-2416-H-004-057 執行期限:94 年 8 月 1 日至 95 年 7 月 31 日 主持人:李有仁教授 國立政治大學資訊管理系(所) 中文摘要 資訊軟體產業從 80 年代早期開始就一直在台灣成長。根據資策會報導,台灣的軟體產業在 2002 年為台灣帶來將近 5,258 億台幣(大約 150 億美元)的收入。 這接近台灣硬體產業的 3 分之 1。 由於網路使用和移動通信的普及,台灣電腦軟體的需求在過去幾年來,已經大幅的增加。 不 久之後資訊服務業的收入將超過硬體產業。 因為軟體應用能降低企業營運的費用, 增加企業的 競爭優勢, 並且改進政府的行政效率, 所以增加軟體開發成果的品質和提高生產力,對於台灣 政府維持良好的國家經濟是十分重要的。 其它開發中國家(例如印度,朝鮮和中國)最近已經強 烈威脅我們的軟體服務業。 越來越多美國和歐洲的公司已經把他們的資訊服務產業移轉到這些 國家。 將來,很多在台灣的公司可能會遵循此種模式。因此,很多台灣的軟體開發公司,為了 增進其品質和生產力,都必須要加強他們的軟體開發能力。但是,大多數這些公司是中小型企業, 並沒有資源這樣做。可能適用的解決辦法之一,就是開始使用極端編程(extreme programming, XP) 的原則和實務。XP 在美國對於幫助改進編程專案的質量和生產力,且不會浪費大量資源是眾所 周知的。它是除了被美國軟體工程學院(SEI)所推廣之昂貴的 CMMI 認證外的另一種選擇。本項 計劃的目的就是調查 XP 的實務之一,也就是雙人式編程(pair programming)實務。本研究小組在 真實的編程計劃中,進行嚴謹的實驗和收集分析所需的數據。 這項計劃試圖探索下列研究問題︰ 不同個性的搭配對一個 XP 團隊之工作表現有何影響? 工作的複雜度或是作業內容是否要求特 別個性之人員才能讓工作有效地進行? 人員個性,作業內容和工作複雜度的相互作用會怎樣影 響工作效能? 透過這項計劃,我們希望能發現在雙人式編程環境中,團員分配的原則。 由於這 些原則,我們的軟體廠商,無論它是大型企業或者是小型企業,都能改進軟體的品質和生產力。

(3)

2

Abstract

Information software industry has been growing in Taiwan since the early 1980s. According to the report of Institute for Information Industry, Taiwan’s software industry in 2002 generated NT$525.8 billion (about US$15 billion) revenue. This approximates one third of the hardware industry in Taiwan. The demand for computer software in Taiwan has been dramatically increased during the past few years due to the popularity of Internet usage and mobile communications. Soon the revenue of information service industry will surpass that of hardware industry. As software applications can reduce the cost of business operations, increase the competitive edge of a business, and improve the efficiency of a government, increasing the quality and productivity of software development projects is vital to Taiwan Government for maintaining healthy national economy. Our information service industry has recently been threatened by the other developing countries such as India, Korea, and China. More and more American and European companies have outsourced their information services to these countries. In the future, many companies in Taiwan might follow suit. Therefore, many software development organizations in Taiwan must improve their software development capability in order to increase their and quality productivity. However, most of these organizations are small and cannot afford to do so. On plausible solution is to start applying the extreme programming (XP) principles and practices to their projects. XP is known to help improve the quality and productivity of programming projects in the U.S. without large consumption of resources. It is an alternative to the resource-demanding CMMI certification being promoted by the Software Engineering Institute in the U.S.

The purpose of this project is to investigate one of the practices of XP, namely, the pair-programming practice. It conducts a series of experiments with project teams in real-life programming projects and collect data for analyses. This project is trying to address the following research questions: How does the mix of personality types in an XP team influence the job performance? Does the job complexity or contents call for a particular type of personality to carry out the project effectively? How does the interaction of personality type, job contents, and job complexity affect the job performance? Through this project, we are hopeful in identifying the principles of team assignment in pair-programming environment. With these principles, our software companies, be it large or small, could improve the software quality and productivity. This in turn would strengthen our competitive edge against our foreign competitors and sustain the engine that drives our nation’s economic growth.

Keywords: Software quality, project management, project productivity, extreme programming, pair

(4)

一、導論

由於網際網路和行動溝通的興起,使得電腦軟體的使用需求量大增,同時線上遊戲以及數位 台灣計劃 (e-Taiwan Project) 已造成 ICT (information communication and technology) 之應用與頻 寬大量需求,此項需求使得系統整合及系統發展相關產業跟著成長。舉個而言,數位化政府 (e-government) 和數位化銀行 (e-banking) 計劃正是系統整合開發的推手。此外,隨著南港軟體 園區的建立,更是政府推動軟體產業的最佳實證。這表示資訊服務產業未來將可能超越資訊硬體 產業,成為資訊相關產業之主流。由於企業引進資訊系統,可以大幅降低營運成本與提昇競爭能 力;政府更可以藉由資訊系統,提昇行政效能,進而創造更為建全的國家經濟。因此為了有效擴 展資訊服務產業,我國政府不但需要培育資訊人材以回應環境所需,更需要全面提昇國內軟體業 的開發能力。在台灣大多數軟體公司之規模仍然不大,也無法負擔太多的投資成本來提昇開發能 力,但從國家的角度來看,我們已經逐漸落後許多開發中的國家,例如印度、韓國、以及中國。 為了適度調整這樣的情況,政府必須提出更多的動機,停止用價格來評定軟體合約,以便全面提 昇整體軟體開發層次。根據資策會資訊市場情報中心所做的調查報告中指出,我國的軟體產業在 工程能力和技術支援比較強,而在流程及專案管理能力上則比較弱,特別是在開發流程的部分。 軟體開發流程嚴然經歷了幾個時代演進,從 1950 年代開始標榜著個人化編程方法、1960 年代盛 行的首席編程員方法 (chief programmer approach)、1970 年代的結構化開發方法、1980 年代的快 速開發方法、1990 年代的螺旋式迭代開發方法、到現今 2000 年代的極限軟體製程方法 XP (eXtreme Programming approach),這些方法都帶領著不同時代軟體開發技術的演進。但每一種軟 體開發方法,都是因應不同時代軟體開發環境而發展出來的,而應用於現今台灣軟體發展環境 時,企業究竟如何選擇適合的軟體開發方法仍有待探討。 現行軟體開發專案大多遵循嚴謹的開發流程,希望抑制各種可能影響專案成功的變因,然而 此種軟體開發流程觀念只注重如何將程式排上生產線,對於因專案參與人員所造成的問題卻視而 不見。為了因應此現況,新興的軟體工程開發方法逐歩形成,此種開發方法的主要精神在於將整 個開發工作分成數個小單位,在這些小單位上進行規劃、實作,然後反覆進行逐步推進至下一個 階段,稱之為敏捷軟體工程 (Agile Process)。敏捷聯盟 (Agile Alliance) 所提出的敏捷軟體開發 宣言 (Manifesto for Agile Software Development) 為集敏捷軟體工程觀念大成,而 XP 為其中一 種,除此之外尚有 SCRUM、Crystal、Feature Driven Development、ADP (Adaptive Software Development) 等。 敏捷軟體工程 (Agile Process) 的重要觀念:「充分溝通」與「擁抱變化」,充分的表達了其精 神。而極限化編程 (XP) 也是其中之一,XP 的目標為「開發團隊可以快樂積極地製作出使用者 想要的系統」,讓開發團隊和使用者都能發揮極限化的效能,一起貢獻心力完成整個系統。此種 輕量級 (light weight) 開發方法極為適合台灣的軟體開發環境。企業要引進新的軟體開發方法, 最先需要考慮的問題即是:「究竟引進新的開發方法之後,能為公司節省多少成本以及創造多少 效益」。簡單地說,惟有證明此種開發方法能提昇公司的軟體開發能力,才是最大的貢獻。企業 為了要確保軟體品質以及提昇軟體開發流程的產能,首先必須採用良好的軟體開發流程管理技 術。XP 將整個開發流程歸納成 12 個實務作法(practice),其中又以雙人式編程 (Pair-Programming) 最為重要,Kent Beck 曾在他的書中表示:「XP 的成功可以歸因於實行雙人式編程」(Beck & Andres, 2005),由此可知雙人式編程之於 XP 的重要性不言可喻。因此我們將專注於建置一個良好的雙 人式編程環境,以取得最大的效益。Gorla and Lam (2004) 在其研究中探討如何建立一個高效能 的軟體開發團隊,其成果可以發現,個人特性組合較為平衡的團隊其效能較為優異。本研究將延 伸上述之研究,應用於組織雙人式編程環境,期望能提昇雙人式編程效能。

大多數軟體專案的進行皆以成本及時程為基本考量,但軟體是由人所撰寫,對於參與開發人 員的不同所造成之差異卻視而不見。因此我們認為,除了眾多有助於提昇專案效能的指標外 (團

(5)

4 否仍會如何影響編程工作效能?不同的工作內容或是不同的工作複雜度是否需要特定的個人特 性組合才能實現工作效能?個人特性、工作內容以及工作複雜度的交互組合如何影響編程工作效 能?這些問題將會影響專案是否能順利進行,因此我們設立下列四點研究目的: 1. 找出會降低編程績效的個人特質組合。 2. 在不同的工作內容和工作複雜度下,尋找最佳的雙人式編程個人性向組合。 3. 評量在雙人式編程環境中,每一位編程人員是否覺得比較有信心。 4. 發展一套實務準則可用於組織雙人式編程環境。 二、研究分析 (一) 實驗設計

本研究使用三個變數進行實驗設計,分別是個人性向(personality type),工作內容(job contents), 以及工作複雜度(job complexity)。針對這三項變數我們做了以下的設計:

1. 個人性向配對選擇:從之前的文獻中 (Gorla & Lam, 2004) 我們可以發現,影響編程效能的 個人性向主要來自二個變數,一個變數是社會互動能力 (Social interaction),另一個則是資訊 收集能力 (Information gathering)。因此本研究以這二個變數為基礎,設計出不同的個人性向 配對。社會互動能力主要區分為外向 (extravert) 以及內向 (introvert),資訊收集能力則分為 直覺 (intuition) 以及感知 (sensing) 二種分類,經由交叉組合可以產生出四種基本性向分別 是 外 向 - 感 知 (extravert-sensing) 、 外 向 - 直 覺 (extravert-intuition) 、 內 向 - 感 知 (introvert-sensing)、內向-直覺 (introvert-intuition);表 4 列出四種基本型態互相配對的六種 可能情況,同時減去相同個人性向配對的所有配對組合,本研究之主要內容希望可以找出最 適合的配對組合,因此將不考慮相同個人性向之配對組合。 2. 工作內容分類:不同的工作內容所需要的溝通能力不同,因而我們希望可以從功能需求內 容,將所有功能分為二種分類,分別為內部 (internal) 工作及外部 (external) 工作,若工作 內容屬於使用者操作介面或為需要與使用者互動之功能則將此功能歸類為外部介面功能;相 反的若此功能屬於系統內部維護功能,則將其歸類為內部介面工作。 3. 工作複雜度分類:不同工作複雜度會對編程人員造成不同的壓力,因此我們在工作複雜度的 衡量變數上將其分為二類,一種是複雜度高而另一種則為複雜度低。本研究預計採用測試案 例做為判斷複雜度高的依據,若某一功能經由使用者認可的測試案例 (test case) 數量大於十 個則將此功能歸類為複雜度高,若小於等於十個則將此功能歸類為複雜度低。 (二) 公司背景 A 公司成立於 1994 年,目前公司員工大約有 50 位,主要業務為提供專業軟體開發及系統整 合服務。其客戶層大多數為台灣電子產業之知名大廠;近年來網際網路興起,該公司致力於提供 企業 E 化服務,目前為客戶導入之系統大多數為電子網站 (Web-Enabled) 系統。本研究挑選 A 公司為實驗標的,其原因如下: 1. 該公司擁有許多專案實作經驗,其編程人員技術能力具一定水準,導入雙人式編程環境,技 術能力差距的影響可減少。 2. 該 公 司 在 實 作 專 案 的 經 驗 中 , 已 發 展 出 許 多 標 準 規 範 , 例 如 , 程 式 開 發 標 準 (Coding Standard) 、 統 一 的 架 構 (Web enabled) , 標 準 而 彈 性 的 程 式 框 架 (Model-View-Control Framework)..等等。因此可以減少不同專案轉換過程中,所需要的技術探索時間。 3. 該公司目前以專案方式為其他公司開發各種網站系統,其專案進行的方式,主要為傳統軟體 開發流程 (瀑布式- Waterfall),為了確保其軟體品質及專案內容符合客戶之需求,必須投入 大量的人力於軟體測試;以往的經驗中可以發現,測試人員與編程人員大約必須投入相同的 資源。導入 XP 將可有效縮短其開發時程,提高軟體品質,所以該公司對雙人式編程環境之 建置有相當大的期望,願意全力配合進行實驗。

(6)

(三) 假說檢定 本研究之假說檢定係就以上各節對各研究變項統計分析之結果,用以了解研究假設與研究分析結 果是否相符,茲分項敍述如下: H1:外向或內向個人特質組合會直接影響編程績效的表現 H11:外向的人在內部介面功能的工作上表現比較差。 檢定 11: 兩個都是外向的人在內部介面功能的工作表現上比較差,一個外向與一個內向的人在內 部介面的工作表現上則沒有顯著的差異。 H12:內向的人在外部介面功能的工作上表現比較差。 檢定 12: 兩個都是內向的人在外部介面功能的工作表現上沒有顯著的差異,一個內向與一個外向 的人在內部介面的工作表現上則沒有顯著的差異。 H13:兩個都是外向或內向的人組合,在工作上的表現會比交叉組合差。 檢定 13: 兩個都是外向的人組合在工作表現上比較差,兩個都是內向的人組合在工作表現上沒有 顯著的差異。 H2:感知或直覺個人特質組合會直接影響編程績效的表現 H21:直覺的人在內部介面功能的工作上表現比較差。 檢定 21: 直覺的人在內部介面功能表現沒有明顯的差異。 H22:感知的人在外部介面功能的工作上表現比較差。 檢定 22: 兩個都是感知的人在外部介面功能表現會比較好,其中有一個是感知的人在外部介面功 能表現則沒有顯著的差異。 H23:兩個都是感知或直覺的人組合,在工作上的表現會比交叉組合差。 檢定 23: 感知與直覺交叉組合表現並沒有明顯差異。 H3:經由雙人式編程環境,個人工作滿意度會比較高。 檢定 3: 參與雙人式編程環境,有 69%人認為其工作滿意度會比較高。 H4:經由雙人式編程環境練習,個人績效的表現會比較好。 檢定 4: 參與雙人式編程環境,沒有顯著證據證明其個人績效會比較好。 三、結論與建議 本研究以 A 公司正在進行之專案內容為個案,探討建構雙人式編程環境所應考慮的因素,其因 素包括工作內容、工作複雜度及個人性向之組合。依第四章之研究結果以及對研究假說加以驗證 後,做成結論及建議。 一、研究結論

本研究延續前人之研究,利用 MBTI 量表測量編程人員個人性向,根據 Gorla 和 Lam (2004) 的 建議,以社會互動能力 (Social interaction) 為組合條件,進行雙人式編程環境之建立;研究結果 顯示,若兩人之組合皆為外向的個人性向時,面對不同的工作內容及工作複雜度,其編程效能明 顯偏低。但若將其中一人換成內向的個人性向時,其編程效能就會明顯的提高。此項結論同時也 符合前人研究所提之建議,Gorla 和 Lam (2004) 的建議,若軟體開發團隊的個人性向越平衡,則

(7)

6 作,其編程效能會降低,因此應該多安排需求較為確定之功能,編程績效才會提高。 根據 Gorla 和 Lam (2004) 研究報告中,提到另外一個明顯影響軟體開發團隊的指標是資訊收集 能力 (Information gathering)。但本研究發現此項指標在雙人式編程環境下,對於編程效能的影響 並不顯著。會造成此種差異,我們認為在於環境設定的不同,要實行雙人式編程環境,先期必須 將使用者需求確立,且經過適度的切割,所以編程人員進行編程工作時,不管是在使用者需求或 是技術能力需求上,都已經具備基本的知識及能力,所以本研究分析結果在這項指標並沒有明顯 的差異。 在不同工作內容的表現上,本研究發現,探討外部介面工作時,雙人式編程搭配組合中,至少必 須要有一人是屬於外向的,這樣會有助於確認使用者需求功能之相關溝通工作,但若兩人都是外 向時,則反而會招致反效果;也就是說,若兩人都擅於溝通則編程績效將會降低。探討內部介面 功能時,則至少必須有一人是屬於內向的,這樣有助於編程工作進行時,提昇編程績效。 本研究亦發現,在不同的工作複雜度表現上,工作複雜度高的工作,社會互動能力 (Social interaction) 較為明顯,因為工作複雜度高,代表功能的複雜也代表技術能力的複雜,所以編程 人員在這些工作上遇到的挑戰也會比較多,若溝通能力有問題,則無法達到功能需求,所以需要 良好的社會互動能力搭配。至於工作複雜度低的功能則社會互動能力的顯響則沒有顯著的差異。 雖然本研究並沒有將編程人員資歷列入研究變項,但我們仍然透過問卷調查,分析相關影響。從 分析結果可以發現,資淺編程人員參與雙人式編程環境之後,其工作滿意度明顯會有提昇,而資 深編程人員則沒有明顯的提昇。這樣的結果表示,資淺編程人員經由雙人式編程訓練之後,不僅 能加速其編程能力,且有助於提昇對自我肯定;而資深編程人員也可以藉由這樣的訓練,加速經 驗及技術的傳承。所以雙人式編程環境的建置,可以成為公司內部人員在職訓練的良好選擇。 二、雙人式編程組合之實務上建議 綜合以上之分析討論,本研究整理出下列建議,以做為建置雙人式編程環境實務上人員搭配組合 之實務建議。 1. 雙人式編程環境之效益:實施雙人式編程有助於提昇組織內個人編程技能之成長,並且加速 學習效率,同時也能提高個人之工作滿意度。 2. 個人性向於編程績效之影響:雙人式編程中之個人性向配對,確實會影響編程績效;從社會 互動能力 (Social interaction) 來看,外向和內向之搭配編程效能較高,而二個都是內向的搭 配則居次,最差的搭配則是兩者都是外向。從資訊收集能力 (Information gathering) 的配對 來看,本研究並沒有發現明顯的差異,主要因為本研究個案之資訊較為充足,因此沒有產生 明顯的差異,所以若面對專案資訊較為缺乏時,仍然必須要考慮此能力之配對。 3. 工作複雜度之影響:雙人式編程環境較適用於工作複雜度高之工作,反之,對於工作複雜度 低則影響不大。 4. 工作內容之影響:若工作內容必須與外部進行溝通時,則配對之中必須要有一位編程人員是 屬於外向的,才能得到比較好的績效。若工作內容屬於系統內部維護工作,則個人性向之影 響較小,但在任何一個配對之中,至少必須要有一位內向之編程人員,才能維持一定之編程 績效。

參考文獻

相關文件

由於較大型網路的 規劃必須考慮到資料傳 輸效率的問題,所以在 規劃時必須將網路切割 成多個子網路,稱為網 際網路。橋接器是最早

(2)同一雇主自同一或不同計 畫工程內之甲工程調派外 籍工作者至同一或不同計 畫工程內之乙工程工作人 數與乙工程原有聘僱之外

(B)可使用 object pool 重複利用已經初始化且可使用的物件,以避免經常銷毀再重新配置。(C) 可利用遊戲空檔(如暫停、切景時)主動呼叫 GC,以增進遊戲體驗。(D)在

a 顧客使用信用卡在線上付款時,只要輸入其卡號及有效期

學校中層管理者是一個召集人,責任包括個別學科的教 學、對同工的計劃及工作的支持、資源管理、評核及記

雜誌 電台 數碼廣播 期刊 漫畫 電影 手機短訊 圖書 手機通訊應用程式 即時通訊工具 網路日誌(blog) 車身廣告 霓虹燈招牌 電子書

Wi-Fi 定位即利用無線網路來傳遞信號,根據各種網路參數和算法可以找出使用

由於 Android 作業系統的開放性和可移植性,它可以被用在大部分電子產品 上,Android 作業系統大多搭載在使用了 ARM 架構的硬體設備上使裝置更加省電