Parallel Agile - Faster Delivery, Fewer Defects, Lower Cost
暫譯: 平行敏捷 - 更快交付、更少缺陷、降低成本

Rosenberg, Doug, Boehm, Barry, Stephens, Matt

  • 出版商: Springer
  • 出版日期: 2020-01-04
  • 售價: $2,030
  • 貴賓價: 9.5$1,929
  • 語言: 英文
  • 頁數: 221
  • 裝訂: Hardcover - also called cloth, retail trade, or trade
  • ISBN: 303030700X
  • ISBN-13: 9783030307004
  • 相關分類: Agile Software
  • 海外代購書籍(需單獨結帳)

相關主題

商品描述

From the beginning of software time, people have wondered why it isn't possible to accelerate software projects by simply adding staff. This is sometimes known as the "nine women can't make a baby in one month" problem. The most famous treatise declaring this to be impossible is Fred Brooks' 1975 book The Mythical Man-Month, in which he declares that "adding more programmers to a late software project makes it later," and indeed this has proven largely true over the decades.

Aided by a domain-driven code generator that quickly creates database and API code, Parallel Agile (PA) achieves significant schedule compression using parallelism: as many developers as necessary can independently and concurrently develop the scenarios from initial prototype through production code. Projects can scale by elastic staffing, rather than by stretching schedules for larger development efforts. Schedule compression with a large team of developers working in parallel is analogous to hardware acceleration of compute problems using parallel CPUs.

PA has some similarities with and differences from other Agile approaches. Like most Agile methods, PA "gets to code early" and uses feedback from executable software to drive requirements and design. PA uses technical prototyping as a risk-mitigation strategy, to help sanity-check requirements for feasibility, and to evaluate different technical architectures and technologies.

Unlike many Agile methods, PA does not support "design by refactoring," and it doesn't drive designs from unit tests. Instead, PA uses a minimalist UML-based design approach (Agile/ICONIX) that starts out with a domain model to facilitate communication across the development team, and partitions the system along use case boundaries, which enables parallel development. Parallel Agile is fully compatible with the Incremental Commitment Spiral Model (ICSM), which involves concurrent effort of a systems engineering team, a development team, and a test team working alongside the developers.

The authors have been researching and refining the PA process for several years on multiple test projects that have involved over 200 developers. The book's example project details the design of one of these test projects, a crowdsourced traffic safety system.


商品描述(中文翻譯)

從軟體誕生之初,人們就一直在思考為什麼僅僅通過增加人手無法加速軟體專案的進行。這有時被稱為「九位女性無法在一個月內生下嬰兒」的問題。最著名的論文是 Fred Brooks 在 1975 年出版的書籍《神話的人工月》(The Mythical Man-Month),他在書中宣稱「在一個延遲的軟體專案中增加更多的程式設計師會使專案更加延遲」,事實上,這在幾十年來已被證明是大致正確的。

借助於一個以領域為驅動的程式碼生成器,該生成器能快速創建資料庫和 API 程式碼,Parallel Agile (PA) 利用平行性實現了顯著的進度壓縮:可以有任意多的開發人員獨立且同時地從初始原型開發到生產程式碼。專案可以通過彈性人力資源來擴展,而不是通過延長時間表來應對更大的開發工作。擁有大量開發人員平行工作的進度壓縮類似於使用平行 CPU 進行計算問題的硬體加速。

PA 與其他敏捷方法有一些相似之處和不同之處。與大多數敏捷方法一樣,PA「早期進入程式碼階段」,並利用可執行軟體的反饋來驅動需求和設計。PA 使用技術原型作為風險緩解策略,以幫助檢查需求的可行性,並評估不同的技術架構和技術。

與許多敏捷方法不同,PA 不支持「通過重構進行設計」,也不從單元測試驅動設計。相反,PA 採用一種基於 UML 的簡約設計方法(Agile/ICONIX),該方法從領域模型開始,以促進開發團隊之間的溝通,並沿著用例邊界劃分系統,這使得平行開發成為可能。Parallel Agile 完全兼容增量承諾螺旋模型(Incremental Commitment Spiral Model, ICSM),該模型涉及系統工程團隊、開發團隊和測試團隊的並行努力,這些團隊與開發人員並肩工作。

作者們在多個測試專案上研究和完善 PA 流程已有數年,這些專案涉及超過 200 名開發人員。本書的示例專案詳細說明了這些測試專案之一的設計,即一個眾包的交通安全系統。