- 敏捷軟件開發(fā):用戶故事實戰(zhàn)
- (美)邁克·科恩
- 654字
- 2023-09-08 19:33:49
推薦序
肯特·貝克(Kent Beck)
如何確定一個軟件系統(tǒng)應(yīng)該做什么?然后,怎樣和相關(guān)的人溝通這個決定?本書研究了這個復(fù)雜的問題。這個問題很難,因為不同的相關(guān)人,各自的需求也不相同。項目經(jīng)理想要跟蹤進展,程序員想要實現(xiàn)這個系統(tǒng),產(chǎn)品經(jīng)理想要靈活性,測試人員想要度量,用戶想要一個可用的系統(tǒng)。在這些充滿沖突的觀點中,想要達成一個每個人都支持的集體決定,并且維持數(shù)月或者數(shù)年的平衡都是很困難的事情。
邁克·科恩(Mike Cohn)在本書中探討的解決方案,與以前解決這個問題的嘗試方法,需求分析,用例和場景的目的是一樣的。是什么如此復(fù)雜?你寫下你想做的事,然后你照著做。解決方案的層出不窮,表明這個問題并不像看起來那么簡單。這些解決方案的不同在于你寫下了什么,何時寫的。
用戶故事通過兩條信息來啟動這個過程:每個系統(tǒng)需要實現(xiàn)的目標(biāo),以及實現(xiàn)這個目標(biāo)所需要的大致成本。這只需要幾句話,卻能提供其他方法沒有給出的信息。遵循“最后責(zé)任時刻”(last responsible moment)的原則,團隊成員在實現(xiàn)特性之前,才將特性的大部分細節(jié)寫下來。
這個簡單的時刻轉(zhuǎn)換有兩個主要的效果。首先,團隊可以很容易在開發(fā)早期就開始實現(xiàn)“最優(yōu)”的特性,而那時其他特性仍然是模糊的。在添加新特性時,定義每個特性細節(jié)的自動化測試能夠確保已實現(xiàn)的特性繼續(xù)正常工作。其次,在早期對特性進行成本考慮時,可以鼓勵從一開始就優(yōu)先考慮特性的優(yōu)先順序,而不是最后為了滿足交付日期而忙亂地縮減功能。
邁克在用戶故事方面的豐富經(jīng)驗使本書充滿了實用的建議,讓用戶故事成為開發(fā)團隊的利器吧。祝愿大家在做開發(fā)時能夠更加明確、自信。
- Spring源碼深度解析
- CAE分析大系:ANSYS?Workbench結(jié)構(gòu)分析與實例詳解
- SpringBoot揭秘:快速構(gòu)建微服務(wù)體系
- 現(xiàn)代C++軟件架構(gòu):方法與實踐
- 軟件開發(fā)生產(chǎn)率改進:軟件管理的有效領(lǐng)導(dǎo)力與量化方法
- 軟件測試從小白到高手
- 實用軟件工程
- AIDevOps:智能微服務(wù)開發(fā)、運維原理與實踐
- Unity 2017經(jīng)典游戲開發(fā)教程:算法分析與實現(xiàn)
- 大話軟件工程:需求分析與軟件設(shè)計
- 芯片改變世界
- 分布式應(yīng)用系統(tǒng)架構(gòu)設(shè)計與實踐
- 火災(zāi)與逃生模擬仿真:PyroSim+Pathfinder中文教程與工程應(yīng)用
- 云原生測試實戰(zhàn)
- 數(shù)據(jù)壓縮入門