敏捷開(kāi)發(fā)模型.ppt_第1頁(yè)
敏捷開(kāi)發(fā)模型.ppt_第2頁(yè)
敏捷開(kāi)發(fā)模型.ppt_第3頁(yè)
敏捷開(kāi)發(fā)模型.ppt_第4頁(yè)
敏捷開(kāi)發(fā)模型.ppt_第5頁(yè)
已閱讀5頁(yè),還剩42頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、1,1,課程名稱:軟件工程 主講教師:丁潔 系 部: 計(jì)算機(jī)系,敏捷開(kāi)發(fā)模型,敏捷是什么? SCRUM 開(kāi)發(fā)流程 用戶故事,非敏捷 - 瀑布式開(kāi)發(fā),軟件開(kāi)發(fā)的經(jīng)典模型,瀑布模型的主要缺陷: 程序的維護(hù)成本會(huì)越來(lái)越高(需要很多人) 團(tuán)隊(duì)氛圍壓抑(感受不到激情) 不方便做需求變更(引起客戶不滿),生活中的問(wèn)題,需求,設(shè)計(jì)階段的問(wèn)題,敏捷是什么?,是一種從90年代開(kāi)始逐漸引起廣泛關(guān)注的一些新型軟件開(kāi)發(fā)方法。 XP ( Extreme Programming )極限編程 Scrum,Scrum 是什么?,Scrum是英語(yǔ)中橄欖球運(yùn)動(dòng)的一個(gè)專業(yè)術(shù)語(yǔ),表示“爭(zhēng)球”。 特指一種敏捷開(kāi)發(fā)的模型。,2020/1

2、2/9,9,Scrum特點(diǎn),自我管理的團(tuán)隊(duì) 以“sprint”為周期迭代的產(chǎn)品開(kāi)發(fā) 以一系列“產(chǎn)品 Backlog”即產(chǎn)品或項(xiàng)目的將做(To-do)列表,記錄了產(chǎn)品需求 沒(méi)有特定的工程實(shí)踐慣例 在以生成規(guī)則創(chuàng)造的敏捷開(kāi)發(fā)環(huán)境交付產(chǎn)品 是其中一種“敏捷方法”,2020/12/9,10,SCRUM 開(kāi)發(fā)流程,SCRUM 開(kāi)發(fā)流程是敏捷開(kāi)發(fā)的一種,以英式橄欖球爭(zhēng)球隊(duì)形 (Scrum) 為名,基本假設(shè)是開(kāi)發(fā)軟件就像開(kāi)發(fā)新產(chǎn)品,無(wú)法一開(kāi)始就能定義 Final Product 的規(guī)程,過(guò)程中需要研發(fā)、創(chuàng)意、嘗試錯(cuò)誤,所以沒(méi)有一種固定的流程可以保證項(xiàng)目成功。 Scrum 將軟件開(kāi)發(fā)團(tuán)隊(duì)比擬成橄欖球隊(duì),有明確

3、的最高目標(biāo),熟悉開(kāi)發(fā)流程中所需具備的最佳典范與技術(shù),具有高度自主權(quán),緊密地溝通合作,以高度彈性解決各種挑戰(zhàn),碓保每天、每個(gè)階段都朝向目標(biāo)有明確的推進(jìn),因此 SCRUM 非常適用于產(chǎn)品開(kāi)發(fā)項(xiàng)目。,2020/12/9,11,SCRUM 開(kāi)發(fā)流程,SCRUM 開(kāi)發(fā)流程通常以 30 天為一個(gè)迭代周期,每個(gè)迭代周期叫做一個(gè)Sprint,由客戶提供新產(chǎn)品的需求規(guī)格開(kāi)始,開(kāi)發(fā)團(tuán)隊(duì)與客戶于每一個(gè)階段開(kāi)始時(shí)挑選該完成的規(guī)格部份,開(kāi)發(fā)團(tuán)隊(duì)必須盡力于 30 天后交付成果,團(tuán)隊(duì)每天用 15 分鐘開(kāi)會(huì)檢視每個(gè)成員的進(jìn)度與計(jì)劃,了解所遭遇的困難并設(shè)法排除,決定第二天的任務(wù)安排 . SCRUM較為有特色的,是它特別強(qiáng)調(diào)開(kāi)發(fā)

4、隊(duì)伍和管理層的交流協(xié)作。每天,開(kāi)發(fā)隊(duì)伍都會(huì)向管理層匯報(bào)進(jìn)度,如果有問(wèn)題,也會(huì)向管理層要求幫助解決。,2020/12/9,12,Scrum總體骨架,2020/12/9,13,順序 vs. 重疊開(kāi)發(fā)過(guò)程,Scrum并非以一段時(shí)間集中完成一個(gè)過(guò)程,.而是將所有過(guò)程中必須的每一部分集中在這段時(shí)間內(nèi)完成,需求,設(shè)計(jì),代碼,測(cè)試,2020/12/9,14,敏捷開(kāi)發(fā)-迭代計(jì)劃,最新版本,驗(yàn)收測(cè)試,發(fā)布計(jì)劃,迭代計(jì)劃,開(kāi)發(fā),項(xiàng)目周期,用戶故事,三要素:角色,功能,價(jià)值 按“作為一個(gè),可以,以便”樣式和思路寫成的用戶需求,就是用戶故事。 樣式是技法層面的東西,它保證了無(wú)需太多思考,用戶故事中即包含角色、功能、價(jià)

5、值這三個(gè)要素。,角色,角色切記不要總是寫“作為一個(gè)用戶”,而是要把用戶區(qū)別對(duì)待。這樣才能更好地理解他們使用什么功能,如何使用,為何使用。,項(xiàng)目案例1,比如“作為一個(gè)開(kāi)發(fā)人員,可以登錄批量編輯頁(yè)面,以便高效率地編輯多個(gè)故事”就是一個(gè)危險(xiǎn)的舉動(dòng),因?yàn)槿绻卸鄠€(gè)程序員同時(shí)這么做,存儲(chǔ)的時(shí)候會(huì)發(fā)生沖突(這個(gè)頁(yè)面后來(lái)被刪除了)。但“作為一個(gè)項(xiàng)目經(jīng)理,可以登錄迭代計(jì)劃首頁(yè),同時(shí)編輯多個(gè)迭代的信息”則是可行的,因?yàn)轫?xiàng)目經(jīng)理一般就有一個(gè),而且這個(gè)功能使用次數(shù)很少,即使有多個(gè)人有權(quán)限使用,偶然發(fā)生沖突的損害,與平時(shí)效率提高相比,也微乎其微。 所以把角色特化出來(lái)后,更容易理解 功能的價(jià)值和風(fēng)險(xiǎn)。,功能,功能即用戶

6、能親自執(zhí)行的操作。 應(yīng)區(qū)分用戶操作和產(chǎn)品功能之間的關(guān)系,因?yàn)楫a(chǎn)品功能可能也提供了用戶所需的價(jià)值,但卻極可能不便于操作。,項(xiàng)目案例2,使用手機(jī),聯(lián)系方式上在“撥出”之外,總是有一個(gè)“編輯撥出”,是為了能在前面加撥17951之類的IP電話前綴。 如何寫成用戶故事? “作為一個(gè)用戶,可以使用編輯撥出在撥打長(zhǎng)途前輸入IP前綴,以便節(jié)省話費(fèi)。” 不過(guò)這個(gè)功能從來(lái)沒(méi)用過(guò),因?yàn)樘M(fèi)勁。實(shí)際使用中要么我會(huì)把外地電話錄入的時(shí)候就加上17951。,項(xiàng)目案例3,使用另外一款A(yù)ndroid手機(jī),安裝了360,它有一個(gè)自動(dòng)IP功能。 如何寫成用戶故事? “作為一個(gè)用戶,可以在撥打長(zhǎng)途的時(shí)候自動(dòng)使用IP撥出功能,以便節(jié)省

7、話費(fèi)?!?這個(gè)功能每月可以節(jié)省不下20塊錢,如果有一天收費(fèi),也會(huì)有客戶購(gòu)買??梢?jiàn)這個(gè)用戶故事編寫成功。,價(jià)值,價(jià)值是完成操作后,客戶所得到的價(jià)值。 價(jià)值里邊,常常要帶有一點(diǎn)褒義詞,或有一些吸引人的內(nèi)容,比如前面的“高效地”“節(jié)省話費(fèi)”。 “用例就是那個(gè)你能賣掉的東西?!庇脩艄适乱彩怯脕?lái)被賣掉的東西,看不到價(jià)值的就不是用戶故事。 比如上面的360的用戶故事寫得就比較好,估計(jì)如果有客戶沒(méi)裝360,立刻就去裝了。,敏捷開(kāi)發(fā)中的用戶故事采用的語(yǔ)法模式看似簡(jiǎn)單,卻蘊(yùn)含著深刻的思想。 “作為一個(gè),可以,以(以便)”不同于一般專注于功能的需求條目描述方法,三個(gè)把角色、功能、價(jià)值躍然紙上。然而使用不當(dāng),卻有可

8、能形似而神不似。,項(xiàng)目案例4,網(wǎng)絡(luò)游戲的排行榜功能 “作為一個(gè)玩家,可以通過(guò)顯示排名,以便讓自己在服務(wù)器中的地位獲得認(rèn)可?!?這個(gè)功能可以激發(fā)玩家的“斗志”,鼓勵(lì)購(gòu)買道具,是個(gè)不錯(cuò)的想法,但實(shí)現(xiàn)起來(lái)卻有技術(shù)問(wèn)題:服務(wù)器中的玩家太多了,實(shí)時(shí)查看排名非常不現(xiàn)實(shí)。另一個(gè)問(wèn)題是小蝦米們其實(shí)對(duì)自己的排名不太關(guān)心,即使關(guān)心,也不會(huì)為了提升排名去購(gòu)買道具,只有一批(也有上百個(gè))頂級(jí)大佬才會(huì)真正受此蠱惑。,如何修改這個(gè)用戶故事?,“作為一個(gè)排名靠前的付費(fèi)玩家,可以通過(guò)顯示排名,以便讓自己在服務(wù)器中的地位獲得認(rèn)可(以刺激消費(fèi))?!?提示:每周重新排名一次,而且只顯示TopXXX (很像csdn的“排名兩萬(wàn)以外”

9、)。,這個(gè)用戶故事給我們的啟發(fā),當(dāng)然,對(duì)小蝦米們也有刺激消費(fèi)的方法,比如打怪掉落了一個(gè)很棒的道具,卻要花錢買打孔材料和鑲嵌寶石,即使用保健因素而非激勵(lì)因素讓他們消費(fèi),那是另外一個(gè)故事了。 “用戶”這個(gè)詞太籠統(tǒng)了,如果他們的“價(jià)值觀”差別很大,就要分別為他們寫故事,才能吸引他們使用功能,達(dá)成價(jià)值觀。,項(xiàng)目案例5,權(quán)限查詢功能 “作為管理員,可以查詢所有用戶的權(quán)限,以了解所有用戶的權(quán)限”。 一種很常見(jiàn)的寫之無(wú)味不寫不行的故事,因?yàn)楹孟窆δ?價(jià)值。其實(shí)管理員不會(huì)平白無(wú)故地查看所有用戶權(quán)限的,多半有其目的:有人反映自己訪問(wèn)不了某個(gè)文件,有個(gè)項(xiàng)目死活加不上新用戶,有人剛剛離職,有三個(gè)外包團(tuán)隊(duì)的人需要在最

10、近三個(gè)月在項(xiàng)目中作為成員一起工作 知道這些就好多了,當(dāng)點(diǎn)擊“權(quán)限”這個(gè)tab后,多半不會(huì)出現(xiàn)“所有用戶的權(quán)限”(倘若想想有10000人的企業(yè)),而是繼續(xù)出現(xiàn)幾個(gè)子鏈接:查詢個(gè)人權(quán)限,項(xiàng)目成員,人員離職,限時(shí)權(quán)限(外包人員管理),這個(gè)用戶故事給我們的啟發(fā),當(dāng)然,這需要一大堆故事了,但如果一個(gè)給客戶帶來(lái)明確價(jià)值操作友好的產(chǎn)品正是我們所追求的,我們極有可能選擇開(kāi)發(fā)其中最高價(jià)值的幾個(gè),然后再留下之前那個(gè)“萬(wàn)能”但又什么都干不太好的。 功能不等于價(jià)值,要理解用戶操作功能的業(yè)務(wù)目的,不要隨意拋出萬(wàn)能的功能。,項(xiàng)目案例6,殺毒軟件的防打擾功能 “作為一個(gè)用戶,可以選擇認(rèn)可所有相似操作,以便同意或禁止連續(xù)的相

11、似操作?!?這看起來(lái)也是個(gè)很不錯(cuò)的功能,但筆者曾經(jīng)在安裝軟件的時(shí)候用到這個(gè)功能,盡管選擇了“認(rèn)可所有相似操作”,窗口仍然跳個(gè)不停,直到后來(lái)仔細(xì)查看彈出的信息,原來(lái)在軟件安裝過(guò)程中要進(jìn)行很多“不相似”的操作:修改注冊(cè)表,創(chuàng)建C盤目錄,向system32中拷貝dll而這個(gè)殺毒軟件在處理的時(shí)候,連注冊(cè)表不同位置的修改都認(rèn)為是“不同的操作”。,如何修改這個(gè)用戶故事?,要改好這個(gè)故事,就要從最后的客戶價(jià)值入手。比如如果安裝軟件是最常見(jiàn)的需要“認(rèn)可所有相似操作”的過(guò)程,就可以寫一個(gè)這樣的故事: “作為一個(gè)用戶,可以在安裝軟件時(shí)選擇認(rèn)可本次安裝操作,以便一鍵完成正常的安裝操作。”,這個(gè)用戶故事給我們的啟發(fā),

12、“客戶價(jià)值”是要從客戶的角度來(lái)理解的,否則極可能跑偏。,Sprint 計(jì)劃會(huì)議,計(jì)劃會(huì)議要有足夠的時(shí)間,最好至少8個(gè)小時(shí) 取出部分產(chǎn)品需求做成sprint需求,并寫成索引卡 確定并細(xì)分每一個(gè)索引卡的故事(Story) 進(jìn)行工作認(rèn)領(lǐng)(不是分配) 確定每日站立會(huì)議的時(shí)間和地點(diǎn) 確定好演示會(huì)議和回顧會(huì)議的日期,場(chǎng)景展示 - 計(jì)劃紙牌,場(chǎng)景展示 - 故事看板,站立會(huì)議,10-15分鐘 遲到將接受懲罰 自問(wèn)自答三個(gè)問(wèn)題 昨天做了什么 今天要做什么 遇到了什么問(wèn)題 更新燃盡圖,場(chǎng)景展示 - 燃盡圖,2020/12/9,36,迭代結(jié)果的驗(yàn)收,團(tuán)隊(duì)需要演示所完成的迭代工作 典型的做法是使用演示形式展示新功能或

13、者底層架構(gòu)的實(shí)現(xiàn) 非正式的 2小時(shí)的提前準(zhǔn)備 不需要正式演示文檔 整個(gè)團(tuán)隊(duì)都需要參加 邀請(qǐng)所有關(guān)注產(chǎn)品的人參加,Sprint開(kāi)發(fā)周期,使用好任務(wù)看板 需求,設(shè)計(jì),開(kāi)發(fā),測(cè)試,維護(hù) 注意燃盡圖 不要使用軟件取代看板 可以選擇性的和XP的某些方式結(jié)合 測(cè)試驅(qū)動(dòng)開(kāi)發(fā) 結(jié)對(duì)編程,場(chǎng)景展示 - 任務(wù)看板,演示會(huì)議,演示是跨團(tuán)隊(duì)的,會(huì)產(chǎn)生不同團(tuán)隊(duì)之間的交流 不要關(guān)注太多的細(xì)節(jié),以主要的功能為主 讓老板和客戶看到 非常的重要,絕對(duì)不可以被忽略,回顧會(huì)議,時(shí)間在1-3個(gè)小時(shí) 找最舒適的地方(要有回顧看板) 開(kāi)始的時(shí)候輪流發(fā)言,而不是主動(dòng)發(fā)言 記錄問(wèn)題,總結(jié),并討論改進(jìn)的方法,放在回顧看板上 每人三個(gè)磁鐵,將最重要的2-3個(gè)改進(jìn)點(diǎn),成為下

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論