# 軟體開發的重要工作  - 軟體開發的重要工作包括需求截取分析、系統設計、系統實作、系統測試以及專案管理等。 - 在需求分析中,重要的是理解並擷取真實的客戶或使用者需求,避免不同角色對需求的理解出現偏差。 - 使用者故事是一種方法,用簡短的描述來規劃系統為使用者提供什麼功能,著重於以使用者角度撰寫需求。 # 沒有做好需求分析的情況  [PROJECT MANAGEMENT - A TREE SWING STORY](https://pmac-agpc.ca/project-management-tree-swing-story) - 案例中提到的Tree Swing情境強調了需求分析的重要性,客戶端提出的需求在不同角色轉述下可能產生差異,而真實需求可能被誤解。 - 強調了避免這種情況的必要性,因為沒有正確的需求分析可能導致開發出不符合預期的程式。 # 什麼是使用者故事  - 使用者故事是一種簡短的描述,著重於系統為使用者提供什麼功能。 - 包含文字描述和可能的對話,以確定故事的大小和詳細程度。 - 使用者故事以白話、商業的方式撰寫,避免技術層面的描述,站在客戶或使用者的角度思考。 # 使用者故事範例  - 提供了一些合理的使用者故事範例,例如「使用者可以搜尋工作職缺」或「公司可以發布新的職缺」,這些故事以使用者的角度描述系統功能。 # 使用者故事基本準則  - 撰寫使用者故事時,要以對客戶有價值的方式思考,不論是真實客戶或開發團隊自身。 - 寫法上應該以白話方式呈現,內容著重在商業語言(Business Language)而非技術層面。 - 在大型團隊中,可能有產品負責人或需求團隊負責使用者故事的撰寫。 # 故事的大小  - 使用者故事不應過於龐大,一般建議讓一到兩位的開發者在半天到兩週的時間內能完成。 - 大故事有時被稱為「史詩」(Epic),可以將其拆解為更小的使用者故事,便於後續的設計、實作、測試等階段。 - 提到以「Epic」的方式規劃較大、高階的需求,再拆解成小而可實作的故事。 # 故事的詳細程度    - 故事撰寫時強調不需過早確定細節,可加上註記標示待討論的重點。 - 使用者故事可包含註記,指示日後需要團隊討論與確認的部分。 # 使用者故事模板  - 使用者故事模板為 ``` As a <role> I can <activity> so that <value> ``` - 這種模板的廣泛應用有助於清晰描述使用者的需求。 # 定義故事的角色   - 使用者故事中需要清楚定義不同的角色,可使用 Persona 進行補充說明。 - 以集思廣益方式,通過腦力激盪歸納出各種可能的使用者角色。 # 好的故事有 INVEST 屬性 - Independent(獨立的) - Negotiable(可協商的) - Valuable(有價值的) - Estimable(易估算的) - Small(小的) - Testable(可測試的) # 獨立的故事(Independent)  - 警告故事間強烈相依性可能導致管理上的困擾,建議合併相關故事以維持獨立性。 # 可協商的故事(Negotiable Story)  - 故事應該可協商,不應固定,可包含註記待後期討論,避免過早的不必要細節。 # 有價值的故事(Valuable Story)  - 故事應對客戶和使用者有價值,避免寫入過於技術性或不必要的底層機制。 # 故事壞味道  - 敘事太大或太小、互相依賴、過多的鍍金、細節過多、過早的UI介面等可能造成故事品質差的情況。 # 關鍵字 - 需求截取分析: 在軟體開發中,指的是從客戶或使用者提出的需求中,擷取並分析真實的需求,以確保開發的軟體符合預期。 - 使用者故事: 一種簡短的描述方式,以使用者的角度規劃系統為其提供什麼功能,著重在白話、商業層面的撰寫。 - 史詩(Epic): 在需求規劃中,指的是相對較大、高階的需求,可能包含多個子需求,可以進一步拆解為小的使用者故事。 - 產品負責人: 在敏捷開發中,是負責規劃、管理產品需求的角色,通常與開發團隊協作以確保開發符合客戶期望。 - 半天到兩週: 建議的使用者故事大小,表示一到兩位的開發者在這個時間範圍內能夠完成一個使用者故事。 - 需求分析: 在軟體開發中,指的是分析和理解客戶或使用者對系統的需求,是軟體開發過程中的關鍵步驟。 - INVEST 屬性: 一種敘述良好的使用者故事的屬性,包括獨立性、可協商性、有價值性、可估算性、小規模性、可測試性。 - Persona (人物誌): 透過創建虛構人物的方式,描述目標使用者的特徵、需求和期望,有助於更深入地理解和設計使用者故事。 - Independent (獨立的): 故事之間應該盡量避免強烈的相依性,以便更好地管理和開發。 - Negotiable (可協商的): 故事應該是可以協商的,不需要固定不變,可以在後期進行討論和調整。 - Valuable (有價值的): 故事應對客戶和使用者有實質價值,避免不必要的技術性或底層機制。 - Estimable (可估算的): 故事應該具有可估算的大小,使團隊能夠更準確地預測開發時間和資源。 - Small (小的): 故事應該足夠小,易於管理和開發,避免過大的任務。 - Testable (可測試的): 故事應該能夠進行測試,以確保符合預期的功能和需求。 - 商業語言(Business Language): 是指在商業環境中使用的特定語言和詞彙。這種語言通常是一種專業化的語言,用於溝通、交流和描述與商業相關的概念、流程、策略、計劃和報告等。
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up