巴士因子是軟體開發中關於軟體項目成員之間信息集中及共享度的一個衡量指標。一個項目至少失去若干關鍵成員的參與(“被巴士撞了”,指代職業和生活方式變動、婚育、意外傷亡等任意導致缺席的緣由)即導致項目陷入混亂、癱瘓而無法存續時,這些成員的數量即為巴士因子。
基本介紹
- 中文名:巴士因子
- 外文名:Bus factor
- 學科:軟體工程
- 定義:衡量成員之間信息集中及共享度
- 有關術語:軟體開發
- 來源:工商管理
簡介,軟體開發,軟體團隊成員,
簡介
在軟體開發中,軟體項目的巴士因子是指對某些信息集中於某一個人,或少數幾個人的一個不那么尊重的度量指標。設“巴士因子”=N,如果有N個人被巴士撞到,無法工作,就會導致項目混亂以致於無法繼續。即指為了使一個軟體開發維護完全無法進行下去,需要有多少個團隊成員被車壓死。所謂“被巴士撞到”只是個比方。也可以是某個人換了工作、生了孩子、改變了生活方式或生活狀況(中了彩票決定不再工作),其影響都是一樣的。
對關鍵成員的詮釋為“對項目不可或缺”,即其掌握的項目信息(例如設計、源碼、知識)並不被眾多其他成員所熟悉、共享。在一個巴士係數很高的項目中,就算某個人突然不參與工作,也會有很多其他個人掌握相關的項目信息而足以接替他的位置。
軟體開發
軟體開發方法是軟體工程理論的重要內容之一,在軟體開發方法中,對於開發軟體時“做什麼”和“如何做”,給出了明確的、詳細的回答。人們在不同時期為了解決各種不同的軟體開發問題,推出了多種不同的軟體開發方法,並且每種軟體開發方法還有靈活多樣的表現形式。軟體開發是根據用戶要求建造出軟體系統或者系統中的軟體部分的過程。軟體開發是一項包括需求捕捉、需求分析、設計、實現和測試的系統工程。軟體一般是用某種程式設計語言來實現的。通常採用軟體開發工具可以進行開發。軟體分為系統軟體和套用軟體,並不只是包括可以在計算機上運行的程式,與這些程式相關的檔案一般也被認為是軟體的一部分。 軟體設計思路和方法的一般過程,包括設計軟體的功能和實現的算法和方法、軟體的總體結構設計和模組設計、編程和調試、程式聯調和測試以及編寫、提交程式。
軟體團隊成員
軟體項目經理
軟體項目經理作為軟體企業最基層的管理人員,負責分配資源、確定優先權、協調與客戶之間的溝通,儘量使項目團隊一直集中於正確的目標。項目經理還要建立一套工作方法,以確保項目工作的完整性和質量。這就要求項目經理擁有領導、決策、組織、控制和創新等方面的能力。
系統分析員
在一個研發項目中,系統分析員主要從事需求獲取和研究,他們是項目中業務與技術間的橋樑,其工作是通過與客戶進行交流,了解客戶的業務以及客戶對系統的需求和期望,圍繞新的系統,協助客戶建立新的業務流程。然後,根據新的業務流程,設計系統的功能,編寫軟體需求說明書,詳細描述系統的功能。最後,利用各種手段和方法,使客戶理解即將建立的系統,並予以確認。擔任系統分析員的人員應該善於簡化工作、善於協調,並且具有良好的人際溝通和書面溝通技巧。擔任系統分析員的人必須具備業務和技術領域知識,需要熟悉用於獲取業務需求的工具,同時還要掌握引導客戶描述出需求的方法。
系統設計員
系統設計員的工作是根據軟體需求說明書進行構架設計、資料庫設計和詳細設計,負責在整個項目中對技術活動和工件進行領導和協調。構架設計要確立每個構架視圖的整體結構,視圖的詳細組織結構、元素的分組以及這些主要分組之間的接口。資料庫設計工作是定義表、索引、視圖、約束條件、觸發器、存儲過程、表空間或存儲參數,以及其他在存儲、檢索和刪除永久性對象時所需的資料庫專用結構。詳細設計則是詳細定義系統每一個功能的實現方式和方法。
開發人員
負責按照項目所採用的標準來進行單元開發與測試,開發人員依據資料庫設計和詳細設計進行單元模組的代碼編寫和測試,然後將各單元模組集成到更大的子系統中。項目研發團隊的開發人員需要能夠迅速並準確地理解系統設計員的設計文檔,並能快速地進行代碼開發和單元測試。
測試人員
測試系統設計員是測試中的主要角色,該角色負責對測試進行計畫、設計、實施和評估。測試人員依據系統分析員編寫的軟體需求文檔和系統設計員編寫的軟體設計文檔編寫測試計畫和測試案例,然後測試人員根據測試計畫和測試案例對開發人員提交的經過初步單元測試的系統進行各種更嚴格的測試,最後形成測試報告並反饋給開發人員進行修改。