出版時間:2010-3 出版社:清華大學 作者:(美)畢特納//思朋斯|譯者:羅景文//羅燦鋒//張弘毅 頁數(shù):356
Tag標簽:無
前言
軟件開發(fā)經(jīng)歷了一個漫長的發(fā)展過程。“在黑暗中摸索”的年代里,我們墨守著沿襲傳統(tǒng)項目管理方法的舊模型,即首先指定需求,然后將其“凍結(jié)”,直到結(jié)束前都不再改動需求。雖然開發(fā)周期十分清晰,即計劃工作,然后再按計劃工作,但其結(jié)果卻亂作一團。問題常變得撲朔迷離,軟件開發(fā)組織聲稱成功完成了任務(wù),并演示是根據(jù)需求規(guī)范交付的。但從商業(yè)的角度來看,系統(tǒng)必然是失敗的,而且這在交付時會變得顯而易見。為什么呢?因為事情并非是一成不變的。所有大型軟件開發(fā)項目都會持續(xù)相當長的時間,它們勢必受到外界環(huán)境變化的影響:新技術(shù)的涌現(xiàn)、新競爭對手的出現(xiàn)、經(jīng)濟驅(qū)動力量的變化等。有時在外界壓力的驅(qū)使下追求創(chuàng)新,而外界壓力并非始終恰好落在軟件開發(fā)周期范圍內(nèi)。在今天的快節(jié)奏世界里,如果您完全照搬最初的需求構(gòu)建系統(tǒng),事必會構(gòu)建出一個錯誤的東西,導致自己在市場競爭中一敗涂地。雖然也存在執(zhí)行不當?shù)膯栴}(根本原因可能也是原始需求模棱兩可),但是一個經(jīng)過無數(shù)次討論總結(jié)出的結(jié)論是:即使執(zhí)行過程完美無缺,也可能不會成功,原因是最初的方法足以導致所有管理者一敗涂地。顯然,我們需要一種新方法,這種方法應(yīng)該著重于取得商業(yè)方面的成功,而不只是軟件開發(fā)方面的成功。現(xiàn)在,如果以順應(yīng)變化的能力來確定一個軟件開發(fā)組織是否成功,我們將對這個問題有一個新的看法。變化會在需求中體現(xiàn)出來,因此軟件開發(fā)組織所面臨的最根本問題是處理需求波動的能力。此外,需求變化會隨機出現(xiàn),而且變化范圍和出現(xiàn)時間由外界因素決定。也許您的項目節(jié)奏和周期井井有條,但需求的變化可能與項目的進展不同步。就像生活中無法加以控制的其他事情一樣,您需要采取應(yīng)對之策。有句話擲地有聲: “要么順應(yīng)變化,要么被逼上絕路!”本質(zhì)上,這正是迭代開發(fā)關(guān)注的問題。它是軟件開發(fā)對“交付有價值的軟件系統(tǒng)”這一根本商業(yè)問題做出的回應(yīng)。是的,“系統(tǒng)”是一個移動靶。我們放棄了將這個靶子釘死在墻上的不明智想法;我們努力地跟蹤它并擊中靶心。迭代開發(fā)是一種較新的方法,它從20世紀80年代開始起步。到了20世紀90年代,采用該方法的公司發(fā)現(xiàn)它比舊方法能夠更好地交付價值。事后看來,迭代開發(fā)的發(fā)展歷程似乎一帆風順,但實際上,迭代方法與其他技術(shù)進步一樣,經(jīng)歷了一條坎坷不平的發(fā)展之路,其中一些方法如曇花般短暫地盛開后迅速凋謝了,有很多方法經(jīng)試用后終被拋棄。留下的方法是吸收許多項目的經(jīng)驗的結(jié)晶,我們要向那些先驅(qū)管理者和堅持使用該方法的管理人員致敬,感謝他們給后來者留下了一套可靠的現(xiàn)代軟件開發(fā)項目管理方法。歷經(jīng)了數(shù)十年的發(fā)展,總要停下來反思和總結(jié)一番。思想領(lǐng)袖們危襟正坐,苦苦地總結(jié)學到的精髓。
內(nèi)容概要
迭代過程已經(jīng)得到了廣大軟件開發(fā)人員的普遍認可,它有助于降低風險和投資,管理變化,提高生產(chǎn)率,開發(fā)出更有效、快捷的解決方案。但是傳統(tǒng)的項目管理技術(shù)不能很好地適應(yīng)迭代項目,而且新的迭代管理技術(shù)還很少有文檔支持。本書提供了一個很好的解決方案:它為任何迭代項目提供規(guī)劃、組織、評估、人事招聘和管理方法,是一本非常實用的參考指南?! 〉_發(fā)領(lǐng)域的領(lǐng)銜專家KurtBittner和lan Spence向讀者介紹了一種經(jīng)過驗證的、可伸縮的方法來同時增加開發(fā)的敏捷性和可控性,從而滿足了開發(fā)人員、管理人員和商家的需求。他們的技術(shù)容易理解,也易于和任何迭代方法同時使用,這些方法包括關(guān)系統(tǒng)一過程、極限編程、Microsoft解決方案架構(gòu)等?! 〔还苣菆F隊帶領(lǐng)人、程序管理員、項目經(jīng)理、開發(fā)人員、贊助商,還是用戶代表,本書都能使您受益匪淺?! ”緯饕獌?nèi)容: •理解迭代項目成功的關(guān)鍵驅(qū)動者 •利用“時間盒”來定義項目周期、評估結(jié)果 •使用統(tǒng)一過程的階段來推動所管理的迭代開發(fā)項目 •掌握迭代項目管理的核心概念,包括分層和演化 •創(chuàng)建項目的路線圖,包括版本計劃 •發(fā)現(xiàn)風險管理、評估、組織和迭代計劃的關(guān)鍵模式 •理解什么必須重點控制,什么可以安全委托 •平滑地轉(zhuǎn)移到迭代過程 •擴展迭代項目管理的方法,應(yīng)用到不同規(guī)模的項目中 •統(tǒng)一軟件投資和商業(yè)需求 不管您是否喜歡用RUP、OpenUP還是其他敏捷過程來進行軟件開發(fā),本書都能降低軟件改進過程中的困難和成本,它提供了一種簡單的、非入侵的途徑來改進質(zhì)量,并且不會使您和您的團隊不知所措。
作者簡介
Kurt Bittner在IBM軟件開發(fā)解決方案的策略部門工作。在其24年的職業(yè)生涯中,他成功地在多個行業(yè)和領(lǐng)域使用了軟件開發(fā)的迭代方法。他是IBM關(guān)系統(tǒng)一過程原始開發(fā)團隊中的一員,并與Ian Spence合著了《用例建?!?清華大學出版社引進并出版)。
書籍目錄
第Ⅰ部分 迭代項目管理原理 第1章 什么是迭代開發(fā) 1.1 迭代與科學方法 1.2 迭代的含義 1.2.1 迭代是一個獨立的微型項目 1.2.2 迭代有一組獨特的活動 1.2.3 每次迭代的結(jié)果都在“發(fā)布版本”中 1.2.4 迭代開發(fā)的特點 1.3 迭代體驗 1.3.1 站在核心開發(fā)團隊的角度分析迭代 1.3.2 站在客戶的角度分析迭代 1.3.3 站在管理團隊的角度分析迭代 1.4 小結(jié) 第2章 迭代項目的特性 2.1 迭代開發(fā):最大化項目成功的機會 2.1.1 定義項目成功標準 2.1.2 成功和迭代項目 2.1.3 成功與迭代:收集項目成功的證據(jù) 2.2 一個成功的迭代項目的主要特征 2.2.1 可驗證的、可客觀度量的過程 2.2.2 避免“特征蠕變” 2.2.3 持續(xù)增加功能 2.2.4 不斷提高質(zhì)量 2.2.5 持續(xù)降低風險 2.2.6 控制變更 2.2.7 越來越精確的估算 2.2.8 越來越高昂的熱情、士氣、協(xié)作和團隊工作 2.2.9 致力于一種正確的商業(yè)解決方案 2.3 小結(jié) 第3章 控制迭代項目 3.1 制約項目的變量:范圍、質(zhì)量、時間和成本 3.2 利益相關(guān)方:項目成功的真正驅(qū)動者 3.3 控制單個迭代 3.3.1 時間盒 3.3.2 范圍盒 3.3.3 控制迭代指南 3.4 從總體上控制項目 3.4.1 階段和里程碑的重要性 3.4.2 迭代、階段和里程碑 3.5 統(tǒng)一過程階段 3.5.1 初始階段 3.5.2 精化階段 3.5.3 構(gòu)建階段 3.5.4 移交階段 3.5.5 階段和里程碑的可選視圖 3.5.6 對統(tǒng)一過程生命周期的常見誤解 3.6 客觀度量成果:在項目生命周期內(nèi)控制迭代 3.7 度量和迭代:項目的反饋控制 3.7.1 度量和階段 3.7.2 通過度量控制項目 3.8 小結(jié) 第4章 為迭代項目管理做好準備 4.1 交付價值:成功的關(guān)鍵之處 4.1.1 迭代專注于交付價值 4.1.2 用例:統(tǒng)一迭代開發(fā)方法 4.1.3 期望成果、風險、場景和迭代規(guī)劃 4.2 迭代項目的團隊建設(shè) 4.2.1 團隊技能和態(tài)度 4.2.2 領(lǐng)導團隊 4.2.3 架構(gòu)的職責:奠定一個堅實的基礎(chǔ) 4.2.4 與擴展團隊一起工作 4.2.5 迭代態(tài)度和價值觀 4.3 改變考慮規(guī)劃的方式 4.3.1 傳統(tǒng)規(guī)劃理念 4.3.2 為什么將傳統(tǒng)的規(guī)劃理念應(yīng)用到軟件中是錯誤的 4.3.3 漸進規(guī)劃理念 4.3.4 比較兩種方法 4.3.5 成功的迭代項目經(jīng)理的七個習慣 4.4 小結(jié) 第Ⅱ部分 規(guī)劃和管理一個迭代項目 第Ⅲ部分 附錄 附錄A 用例驅(qū)動的開發(fā)入門簡介 附錄B 大綱、模板和清單 附錄C 示例
章節(jié)摘錄
插圖:任何情況下,均可在每一輪決定是否獲得更多籌碼來購買更多贏面概率信息,也可根據(jù)了解到的信息提前退出。與此類似,每個迭代都將更多資源注入項目以求取得成功,并由此獲得更多關(guān)于項目成功機會的信息。如果項目成功完成迭代,且取得了客觀的、可以評測的、已得到證明的增量效果,那么,贊助方的信心將隨之攀升,會繼續(xù)投資。如果在初始迭代期間,項目看上去已無法進行,面臨非常高的風險級別,贊助方則會在未遭受重大損失前提前退出。從某種意義上講,每個迭代的成本就像保單中的保險費’。您在迭代期問購買信息以免遭受巨大損失(項目失敗)。這等同于標準的風險管理方法:通過購買保險來管理風險。如同將在第3章看到的,使用這種迭代方式來管理項目風險是成功應(yīng)用迭代和增量技術(shù)的基石。與傳統(tǒng)的瀑布開發(fā)方法相比,迭代和增量開發(fā)為企業(yè)提供了很多好處。這些好處包括:增加了可預(yù)見性、縮短了產(chǎn)品上市時間、提高了解決方案的質(zhì)量、項目敏捷性和生產(chǎn)率。只有企業(yè)更主動參與項目和迭代,才能實現(xiàn)其中大多數(shù)好處。這將從根本上改變企業(yè)處理項目的方式,將影響需求捕獲方式、進度評估方式以及至關(guān)重要的項目注資方式。1.3.3 站在管理團隊的角度分析迭代前面介紹了在一系列迭代(專注于提供業(yè)務(wù)價值)中開展協(xié)作的業(yè)務(wù)團隊和開發(fā)團隊,您需要站在管理人員的角度分析迭代,并了解這種做法的重要性。首先,設(shè)想一個缺乏管理指導的軟件開發(fā)項目(您可能親身經(jīng)歷過這樣的項目)的場景。這樣的項目通常缺少中長期發(fā)展規(guī)劃,進展方向隨意而為,幾乎沒有哪個團隊成員了解要去往何方。如果沒有迭代計劃,將無從了解項目將在何時結(jié)束,完成項目需要哪些資源,或者何時需要這些資源。沒有估算系統(tǒng)來幫助判斷項目成本,客戶和投資方只會為最小的項目注資,人們幾乎不知道項目如何發(fā)展,以便達到交付解決方案的目標。落入理想主義的陷阱將使我們認為,如果團隊致力于實現(xiàn)目標,將會自行組織、履行對組織的所有承諾,并快速高效地交付高質(zhì)量的軟件。在現(xiàn)實中,即便是最優(yōu)秀的團隊也需要進行必要的監(jiān)督才能確保日復(fù)一日的工作向著長期目標邁進。更重要的是,通過管理才能將團隊擰成一股繩。缺乏管理往往是造成很多項目失敗的根本原因加。人們(特別是那些非管理者)很容易誤認為,管理基本上就只需要一些官僚主義,管理者的職責就是保持這種官僚色彩,而讓其他團隊成員去努力工作。實際上,許多平庸的管理者在一定程度上也確實是這樣做的;如果管理者所做的就是這些,項目將很可能失敗。管理不僅是做筆記、監(jiān)督時間表和留意預(yù)算;領(lǐng)導力和工作方向是取得成功的基礎(chǔ)。正確的管理為以下基本問題給出了清晰的答案。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載