天天看點

《靈活疊代開發:管理者指南》目錄—導讀

《靈活疊代開發:管理者指南》目錄—導讀

内 容 提 要

靈活疊代開發:管理者指南

本書是靈活和疊代開發方法的權威指南。著名軟體方法大師craig larman在書中不但說明什麼是靈活/疊代方法,其運作機制、實施政策以及原因,而且通過具有統計意義的重要研究資料,以及大規模的項目案例分析,為讀者呈現了最具有說服力的采用疊代開發的有力證據。本書主要内容包括:大量實用的靈活和疊代技巧,面向靈活/疊代項目主管的新管理技能,靈活與疊代的價值與實踐,scrum、xp、up和evo的關鍵實踐,以及常見問題的問答。

無論是對it主管、項目經理,還是對軟體開發人員,這都是了解靈活和疊代開發最理想的一本書。

版權聲明

authorized translation from the english language edition, entitled: agile and iterative development: a manager's guide, 9780131111554 by graig larman, published by pearson education, inc., publishing as addison-wesley professional, copyright © 2004 pearson education, inc.

all rights reserved. no part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from pearson education, inc.

chinese simplified language edition published by pearson education asia ltd. and posts & telecom press copyright © 2013.

本書中文簡體字版由pearson education asia ltd.授權人民郵電出版社獨家出版。未經出版者書面許可,不得以任何方式複制或抄襲本書内容。

本書封面貼有pearson education(培生教育出版集團)雷射防僞标簽,無标簽者不得銷售。

版權所有,侵權必究。

前  言

謝謝你閱讀這本書!我真心希望這本書對你有用——優質資訊,易于了解。

此外,通路 www.craiglarman.com可以找到一些相關的文章和連結。如果你有什麼問題,請與我聯系,我的電子郵箱是[email protected]

排版約定

使用楷體排版的是強調的基本觀點和需要引起重點關注的地方,我希望讀者比較容易看到它,這樣,就可以快速浏覽,挑選關鍵思路。

在一句話中排成黑體的部分指的是術語。

類似于 [bob67]的形式,是指在參考文獻中列出的某本書。

作者簡介

craig larman是valtech公司的首席科學家。valtech公司是一家國際化的咨詢和技能轉移公司,在歐洲、亞洲和北美洲都設有分支機構。同時,他還在全球範圍内擔任獨立顧問、團隊教練和演講人。

craig是applying uml and patterns: an introduction to object-oriented analysis and design(《uml和模式應用:面向對象分析與設計導論》)的作者。此書是ooa/d和疊代開發方面全球最暢銷的教科書,被譯成多種語言,在全球業界和大學中被廣泛使用。

craig有過一段做街頭音樂家的失敗經曆,從那之後,也就是20世紀70年代,他開始用apl語言、pl/i語言和第四代語言建構軟體。20世紀80年代初期,經過全面的調整之後,他開始對人工智能和知識表示産生了濃厚的興趣,并用lisp機器、lisp、prolog和smalltalk建構了知識系統。他業餘時間還在一支名為changing requirements的業餘樂隊(這個樂隊曾被稱為requirements,但有一些樂隊成員已經有了變動……)中擔任主奏吉他手。

craig畢業于加拿大溫哥華美麗的西蒙弗雷澤大學(simon fraser university),獲得了計算機科學學士和碩士學位。

緻謝

特别感謝我在valtech的朋友和同僚,他們都是世界級的疊代開發者,尤其是tim snyder。

非常感謝審讀這本書的專家們,包括alistair cockburn、claudia frers、tom gilb、jim highsmith、ron jeffries、philippe kruchten、niels maloteaux、gary pollice、ken schwaber和jeff sutherland。

還要感謝paul petralia和patti guerrieri兩位編輯的引導。

譯 者 序

“過去幾十年的大型系統開發就猶如這樣一個焦油坑,很多大型和強壯的動物在其中劇烈地掙紮。他們中大多數開發出了可運作的系統——不過,其中隻有非常少數的項目滿足了目标、時間進度和預算的要求。各種團隊,大型的和小型的,龐雜的和精幹的,一個接一個淹沒在了焦油坑中。”1傳統的瀑布型軟體工程方法将軟體業等同于傳統的大規模制造業,試圖回避軟體領域固有的複雜性以及變化性,不顧及實際情況而套用一些所謂“銀彈”的開發方法,以至于削足适履、南轅北轍,陷入泥潭中而不能自拔。事實上,軟體開發屬于新産品研發的範疇,你所面對的猶如一片混沌的海洋,需要因地制宜,根據實際情況對各種條件進行權衡與博奕,進而探索出一種行之有效的解決之道。

面對複雜與變化的軟體開發,“敢問路在何方?”

up、xp、水晶、scrum、dsdm、fdd、asd以及精益開發等都給出了相應的答案。然而,“忽如一夜春風來,千樹成樹梨花開”,一下子湧現出這麼多琳琅滿目的軟體工程方法,讓人眼花缭亂,無所适從。需要說明的是,許多标榜自己采用“靈活與疊代方法”的組織,其實是在追逐時髦,并沒有真正領會其要旨,甚至斷章取義,陷入教條主義,甚至重蹈瀑布型的覆轍。

本書列舉了大量的證據,溯根求源,将各種方法的緣由與适用性娓娓道來,令人茅塞頓開,許多積壓在心裡的困惑一下子釋然。全書共分12章:在前6章的描述中,作者列舉了大量的證據和文獻,揭示了瀑布型的症結,以及靈活與疊代開發的動機與成功案例;第7章到第10章,則具體讨論了scrum、xp、up、evo等4種靈活方法,它們的原理與适用性,以及成功的案例與曆史,還在章節後面列出大量的參考文獻。這4章内容的組織形式相仿,便于讀者進行比較學習;第11章更具有操作性,介紹了許多行之有效的靈活與疊代開發的實踐技巧;第12章是faq,讀者可以将它作為獨立的章節,對實踐中遇到的問題進行查詢。

我們還注意到在本書英文版的封面上,是一名芭蕾舞演員。其寓意在于軟體開發不僅是一門技術,同時也是一門藝術。作者希望通過他的努力,開發出漂亮的軟體來。随便提一句,這本書在亞馬遜網站上被評為五星2。

本書的作者craig larman先生相信大家不會陌生。他的《uml和模式應用:面向對象與設計導論》深受中國讀者歡迎。philippe kruchten博士(國際著名過程大師,ibm rational名士,前rup産品總監)這樣評價道: “craig是一位傑出的授業者,一位卓越的方法學家,一位對象技術的精神導師(guru)。” martin fowler(國際著名oo大師,thoughtworks首席科學家)曾說過:“人們常常問我,哪本書是引領他們進入oo(面向對象)設計壯麗殿堂的最佳著作。自從幸獲craig的《uml和模式應用》,它就成為了我的傾力之薦。”。

閱讀larman先生的書可以說一種享受,而翻譯他的書則是一種壓力。2004年我有幸接手這部書的翻譯工作,并期望向讀者呈現原汁原味兒的譯著。翻譯過程中,對于書中的一些疑惑之處,larman先生給予了熱情的幫助和鼓勵,并欣然為本書的中文版作序。事隔8年,也就是2012年,人民郵電出版社期望再版,并請了馮春麗協助進行全文的審校。盡管大家都非常努力,也難免有疏漏之處,希望大家批評指正!此外,我要感謝我在北京魔笛創新科技發展限公司的團隊,并給我試驗靈活方法的機會。最主要的還是要感謝讀者朋友,隻有你們的認同,才是這項工作最終成功的标志。

張曉坤

2013年5月于北京師範大學輔仁校區

摘自frederick p. brooks,jr.著,umlchina翻譯組汪穎譯,清華大學出版社出版的《人月神話》。

靈活軟體開發宣言

《靈活疊代開發:管理者指南》目錄—導讀
《靈活疊代開發:管理者指南》目錄—導讀

人和互動 重于 過程和工具

可以工作的軟體 重于 面面俱到的文檔

客戶合作 重于 合同談判

随時應對變化 重于 遵循計劃

雖然右側的各項也有價值,但我們認為左側的項更加重要。

靈活軟體開發遵循的原則

我們遵循以下原則。

1.我們最優先要做的是通過盡早地、持續地傳遞有價值的軟體來滿足客戶需要。

2.我們歡迎需求的變化,即使到了開發後期。靈活過程能夠駕馭變化,為客戶創造競争優勢。

3.經常傳遞可以工作的軟體,從幾個星期到幾個月,時間間隔越短越好。

4.在整個項目開發期間,業務人員和開發人員必須朝夕工作在一起。

5.依靠鬥志高昂的人建構項目。給他們提供所需的環境和支援,并且信任他們能夠完成任務。

6.在團隊内部,最有效率也最有效果的資訊傳達方式,就是面對面的交談。

7.可以工作的軟體是進度主要的度量标準。

8.靈活過程提倡可持續開發。

9.出資人、開發者和使用者應該總是保持穩定的開發速度。

10.對卓越技術和良好設計的不斷追求有助于提高靈活性。

11.簡單——盡量減少工作量的藝術是至關重要的。

12.最好的構架、需求和設計都源自自我組織的團隊。

13.每隔一定時間,團隊都要總結如何更有效率,然後相應地調整自己的行為。

本文僅用于學習和交流目的,不代表異步社群觀點。非商業轉載請注明作譯者、出處,并保留本文的原始連結。

目錄

前言

<a href="https://yq.aliyun.com/articles/95429">第1章 概述</a>

<a href="https://yq.aliyun.com/articles/95429">1.1 軟體是新産品開發</a>

<a href="https://yq.aliyun.com/articles/95432">1.2 後續内容預告</a>

<a href="https://yq.aliyun.com/articles/95434">1.3 web資源</a>

<a href="https://yq.aliyun.com/articles/95442">第2章 疊代和漸進</a>

<a href="https://yq.aliyun.com/articles/95442">2.1 疊代開發</a>

<a href="https://yq.aliyun.com/articles/95446">2.2 風險驅動和客戶驅動的疊代計劃</a>

<a href="https://yq.aliyun.com/articles/95450">2.3 時間箱疊代開發</a>

<a href="https://yq.aliyun.com/articles/95458">2.4 疊代期間,外部利益相關者不能變更疊代内容</a>

<a href="https://yq.aliyun.com/articles/95463">2.5 漸進開發和自适應開發</a>

<a href="https://yq.aliyun.com/articles/95468">2.6 漸進需求分析</a>

<a href="https://yq.aliyun.com/articles/95472">2.7 早期排名前十的進階需求和技能分析</a>

<a href="https://yq.aliyun.com/articles/95476">2.8 漸進和自适應計劃</a>

<a href="https://yq.aliyun.com/articles/95481">2.9 增量傳遞</a>

<a href="https://yq.aliyun.com/articles/95486">2.10 漸進傳遞</a>

<a href="https://yq.aliyun.com/articles/95489">2.11 最常見的錯誤</a>

<a href="https://yq.aliyun.com/articles/95493">2.12 特定的疊代和漸進方法</a>

<a href="https://yq.aliyun.com/articles/95496">2.13 後續内容預告</a>

<a href="https://yq.aliyun.com/articles/95499">2.14 推薦讀物</a>

第3章 靈活

第4章 故事

第5章 動機

第6章 證據

第7章 scrum

第8章 極限程式設計

第9章 統一過程

第10章 evo

第11章 實踐技巧

第12章 常見問題解答

<a href="https://yq.aliyun.com/articles/95505">參考文獻</a>

繼續閱讀