敏捷軟件開發(fā)方法與實踐

出版時間:2010-5  出版社:西安電子科技大學(xué)出版社  作者:桑大勇,王瑛,吳麗華 編著  頁數(shù):208  
Tag標(biāo)簽:無  

前言

自1968年“軟件危機”【Naur et al 1969】一詞出現(xiàn)以來,軟件產(chǎn)業(yè)從業(yè)者和學(xué)者一直在探討如何將傳統(tǒng)行業(yè)中的工程方法應(yīng)用于軟件行業(yè),希望軟件的開發(fā)過程以一種受控、可預(yù)測的方式進(jìn)行,并因此出現(xiàn)了軟件工程這一學(xué)科。40多年來,軟件從僅僅應(yīng)用于國防軍事和航空航天等高端領(lǐng)域,逐漸滲透到幾乎所有的產(chǎn)業(yè),甚至已經(jīng)像水和空氣一樣成為人類日常生活和工作不可或缺的元素。相應(yīng)地,軟件開發(fā)領(lǐng)域相繼出現(xiàn)了許多不同的開發(fā)過程和模型,從瀑布式模型、螺旋式模型,到CMMI軟件能力成熟度評估和改進(jìn)框架等。這些過程模型和框架無一例外地都是基于“完美的結(jié)果產(chǎn)生于精確控制的過程”這個理念,對軟件開發(fā)生命周期中的計劃與執(zhí)行都十分重視,“按計劃、不超預(yù)算、實現(xiàn)了預(yù)定的需求規(guī)格范圍、產(chǎn)出物的質(zhì)量可接受”,成了一種公認(rèn)的、軟件開發(fā)項目成功的標(biāo)準(zhǔn)。對于最早利用計算機軟件的國防軍事和航空航天等復(fù)雜的、需要大量預(yù)先設(shè)計的應(yīng)用領(lǐng)域來說,上述模型或項目成功標(biāo)準(zhǔn)依然成立。但是就數(shù)量上來說,在今天,更多的軟件項目是服務(wù)于面對市場激烈競爭氛圍的企業(yè)。能否快速響應(yīng)市場的變化、調(diào)整自己的經(jīng)營和管理方式,是決定一個企業(yè)能否生存和發(fā)展的根本因素,在這種情況下,已有的軟件開發(fā)過程和模型就顯得有些滯重,從而造成企業(yè)的信息化系統(tǒng)研發(fā)經(jīng)常不能滿足其日新月異的經(jīng)營方式所需。為此,從20世紀(jì)90年代中后期開始,在企業(yè)應(yīng)用軟件開發(fā)的圈子里,陸續(xù)出現(xiàn)了一些輕量級的開發(fā)方法【Fowler 2004】,這些方法以企業(yè)業(yè)務(wù)價值最大化為目標(biāo),快速適應(yīng)企業(yè)的業(yè)務(wù)變化,并盡量縮短企業(yè)信息系統(tǒng)從規(guī)劃到初次投入使用的時間周期。在2001年的一次學(xué)術(shù)討論會上,這些方法的創(chuàng)作者和擁護(hù)者們總結(jié)了這些方法的共性,發(fā)表了敏捷宣言,并將這些方法統(tǒng)一到“敏捷”這一面旗幟之下[Agilemanifesto 2001】。最近十幾年來,很多敏捷軟件開發(fā)方法的成功案例,終于使之從“草根一族”漸漸走入了主流軟件開發(fā)方法學(xué)的廳堂:CMM/CMMI的核心發(fā)起單位——卡耐基一梅隆大學(xué)的SEI,也專門有研究報告,以論證敏捷方法和CMMI的兼容性和互補性[Glazer et al 2008】;兼并了著名的軟件工程工具廠商Rational的業(yè)界大鱷IBM,也宣稱推出自己的敏捷軟件開發(fā)解決方案[IBM 2009]。國內(nèi)敏捷軟件開發(fā)的起步雖然較歐美晚,但在經(jīng)濟全球化的今天,敏捷熱潮也逐漸從國外傳到國內(nèi),尤其是隨著業(yè)界領(lǐng)導(dǎo)廠商之一的ThoughtWorks公司進(jìn)入中國市場,以及一貫致力于敏捷方法推廣的IT專業(yè)媒體網(wǎng)站InfoQ中文站的開通,使得敏捷方法在中國也正以燎原之勢快速地傳播。通過其官方網(wǎng)站不難看出,國內(nèi)最大的軟件企業(yè)華為公司也已經(jīng)開始采用這種方法【Huawei 2009】。

內(nèi)容概要

本書第1章闡述了敏捷軟件開發(fā)方法出現(xiàn)的歷史背景、敏捷宣言、敏捷原則及最新動態(tài):第2章介紹了常見的敏捷軟件開發(fā)方法及其相互間的簡單比較;在第3章至第5章中,作者結(jié)合自己的敏捷項目開發(fā)經(jīng)驗,融合其他方法,介紹了敏捷軟件交付模型以及部分敏捷項目管理和開發(fā)實踐;第6章從組織變革實施模型的角度分析了軟件開發(fā)組織(全企業(yè)或企業(yè)中的一些部門)如何進(jìn)行敏捷轉(zhuǎn)型;第7章介紹了在分布式開發(fā)環(huán)境和團(tuán)隊中如何采用敏捷實踐。 本書的目標(biāo)讀者包括軟件行業(yè)從業(yè)人員、高等院校軟件工程專業(yè)本科生和研究生以及對敏捷軟件開發(fā)感興趣的教學(xué)研究人員。

書籍目錄

第1章 敏捷軟件開發(fā)方法的歷程 1.1 敏捷方法的出現(xiàn)  1.1.1 軟件開發(fā)簡史  1.1.2 敏捷方法是歷史的必然 1.2 敏捷聯(lián)盟與敏捷宣言  1.2.1 個人與溝通勝過過程與工具  1.2.2 可工作軟件勝過面面俱到的文檔  1.2.3 客戶協(xié)作勝過合同談判  1.2.4 響應(yīng)變化勝過遵循計劃 1.3 敏捷原則  1.3.1 敏捷的十二項原則  1.3.2 敏捷實踐和原則與傳統(tǒng)方法的比較 1.4 敏捷方法動態(tài)  1.4.1 敏捷領(lǐng)導(dǎo)力運動  1.4.2 敏捷成熟度模型第2章 敏捷軟件方法族 2.1 Scrum方法  2.1.1 理論方法與經(jīng)驗方法  2.1.2 Scrum——經(jīng)驗式過程框架  2.1.3 Scrum流程與實踐 2.2 極限編程方法  2.2.1 XP的過程模型  2.2.2 XP的價值觀、原則和實踐  2.2.3 XP2的一些變化 2.3 Crystal方法 2.4 特性驅(qū)動開發(fā)方法  2.4.1 FDD中的角色和職責(zé)  2.4.2 FDD開發(fā)過程 2.5 精益軟件開發(fā)  2.5.1 豐田生產(chǎn)系統(tǒng)與精益生產(chǎn)  2.5.2 精益軟件開發(fā)原則和工具 2.6 適應(yīng)性軟件開發(fā) 2.7 動態(tài)系統(tǒng)開發(fā)方法  2.7.1 DSDM項目生命周期階段的四個步驟  2.7.2 DSDM的原則 2.8 敏捷統(tǒng)一過程  2.8.1 AUP的四個總體階段  2.8.2 AUP規(guī)程及在各階段的工作  2.8.3 增量式發(fā)布  2.8.4 AUP的原則 2.9 各種敏捷方法的簡單總結(jié)第3章 敏捷項目交付模型 3.1 敏捷軟件交付模型 3.2 項目規(guī)劃  3.2.1 本階段工作概述  3.2.2 統(tǒng)一不同涉眾的目標(biāo)和愿景  3.2.3 確定項目初始范圍  3.2.4 制定初始發(fā)布計劃 3.3 迭代開發(fā)  3.3.1 項目啟動 迭代O  3.3.2 迭代開發(fā)過程 3.4 發(fā)布前的用戶驗收測試  3.4.1 發(fā)布前驗收測試的必要性  3.4.2 用戶驗收測試的分類及實施第4章 敏捷管理實踐 4.1 項目范圍管理  4.1.1 引例  4.1.2 項目管理三角形  4.1.3 需求變更管理  4.1.4 敏捷范圍管理 4.2 每日站立會議(Stand-up)  4.2.1 Stand-up及其作用  4.2.2 Stand-up的常用實踐  4.2.3 Stand-up的常見問題 4.3 項目進(jìn)度跟蹤  4.3.1 發(fā)布進(jìn)度跟蹤  4.3.2 迭代進(jìn)度跟蹤 4.4 迭代回顧  4.4.1 回顧的作用  4.4.2 迭代回顧過程——海星圖法  4.4.3 其他回顧方法 4.5 項目風(fēng)險管理  4.5.1 風(fēng)險識別  4.5.2 風(fēng)險評估  4.5.3 風(fēng)險應(yīng)對  4.5.4 風(fēng)險管理檢查 4.6 促進(jìn)信息交換的工作空間  4.6.1 作戰(zhàn)墻  4.6.2 開放式工作室第5章 敏捷開發(fā)實踐 5.1 敏捷需求分析  5.1.1 傳統(tǒng)需求分析和敏捷需求分析的對比  5.1.2 敏捷需求劃分的單位  5.1.3 敏捷需求分析的時機和細(xì)化過程  5.1.4 敏捷需求分析中的文檔 5.2 設(shè)計與編碼實踐  5.2.1 簡單設(shè)計  5.2.2 重構(gòu)  5.2.3 持續(xù)集成  5.2.4 測試驅(qū)動開發(fā)  5.2.5 演進(jìn)式設(shè)計 5.3 測試  5.3.1 開發(fā)沙箱測試  5.3.2 自動化驗收測試  5.3.3 探索測試  5.3.4 冒煙、Sanity與回歸測試第6章 軟件開發(fā)企業(yè)的敏捷轉(zhuǎn)型 6.1 采用敏捷與敏捷轉(zhuǎn)型 6.2 企業(yè)轉(zhuǎn)型決策分析  6.2.1 轉(zhuǎn)型動因分析  6.2.2 判斷敏捷是否是企業(yè)所需  6.2.3 選擇變革方式 6.3 企業(yè)變革模型  6.3.1 Lewin變革模型  6.3.2 Kotter變革實施模型 6.4 轉(zhuǎn)型的實施過程  6.4.1 產(chǎn)生緊迫感  6.4.2 建立強有力的領(lǐng)導(dǎo)聯(lián)盟  6.4.3 確立轉(zhuǎn)型愿景  6.4.4 溝通轉(zhuǎn)型愿景  6.4.5 排除障礙  6.4.6 計劃并奪取短期勝利  6.4.7 鞏固成果并深化變革  6.4.8 變革成果制度化第7章 分布式環(huán)境下的敏捷實踐 7.1 分布式敏捷和案例項目簡述 7.2 敏捷方法面臨的困難  7.2.1 溝通障礙  7.2.2 語言與文化背景差異  7.2.3 缺乏控制  7.2.4 缺乏信任  7.2.5 現(xiàn)場業(yè)務(wù)分析師的強勢 7.3 一些改進(jìn)性實踐  7.3.1 溝通改進(jìn)  7.3.2 保持項目狀態(tài)可視  7.3.3 增進(jìn)信任  7.3.4 減少轉(zhuǎn)手工作  7.3.5 額外的客戶聯(lián)系  7.3.6 更詳細(xì)的需求文檔  7.3.7 持續(xù)的過程調(diào)整參考文獻(xiàn)

章節(jié)摘錄

插圖:4)聚焦團(tuán)隊工作方向根據(jù)Stand.up對過去24小時工作狀況的總結(jié),結(jié)合項目的最新狀態(tài),團(tuán)隊需要確定今后24小時內(nèi)的工作重點,并將每個人的工作重心統(tǒng)一到一個方向上,避免個別團(tuán)隊成員因個人的興趣或?qū)Ξ?dāng)前工作重點理解的不準(zhǔn)確而將時間浪費在非當(dāng)前最重要的事情上。5)加強團(tuán)隊建設(shè)項目團(tuán)隊通過每天的Stand-up溝通信息,分享彼此所遇到的困難并相互協(xié)助,共同克服,同時每個人都主動向團(tuán)隊作出自己為項目成功所付出努力的承諾,這非常有助于團(tuán)隊增進(jìn)團(tuán)結(jié),提升凝聚力,甚至比任何其他形式的、專門用來進(jìn)行團(tuán)隊建設(shè)的活動還有效。6)外部涉眾的隨機檢查點高級經(jīng)理、項目投資人或項目外對項目狀況感興趣的人都可以作為聽眾列席Stand-up,這樣做能夠有效減少專門的、費力的項目狀況通報會。不過,一般來說,即便高級經(jīng)理和項目投資人參加了每次的Stand-up,項目還是需要正式的項目報告,如項目總體進(jìn)度等還是需要從更宏觀的、Stand-up不能覆蓋的高度進(jìn)行總結(jié)和報告。只不過項目報告的周期可以拉長,范圍和形式可得到簡化。

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    敏捷軟件開發(fā)方法與實踐 PDF格式下載


用戶評論 (總計1條)

 
 

  •   書的質(zhì)量不好,封皮磨損嚴(yán)重而且有卷起來的角。
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網(wǎng) 手機版

京ICP備13047387號-7