官术网_书友最值得收藏!

推薦序

肯特·貝克(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ā)時能夠更加明確、自信。

主站蜘蛛池模板: 清水县| 公主岭市| 共和县| 榕江县| 通道| 辛集市| 乌兰察布市| 秀山| 万宁市| 鄯善县| 澄城县| 伽师县| 隆林| 临夏市| 商南县| 永靖县| 景谷| 松潘县| 福贡县| 上蔡县| 武义县| 社会| 紫云| 布尔津县| 康保县| 台江县| 集安市| 元朗区| 隆昌县| 瑞昌市| 台中县| 万宁市| 永春县| 宽城| 金华市| 丹江口市| 银川市| 舟山市| 金秀| 德州市| 左贡县|