[内容简介]
本书是国际知名软件开发专家Alistair Cockburn通过采访项目开发组和总结自己20多年的开发和管理经验,撰写的一本介绍软件开发新思想??敏捷软件开发方法学的著作。
本书从更新软件开发就是“创造和沟通的合作博弈”这一强大的模型开始。在这些新观念之中,Cockburn引入了:利用竞争产生动力而不破坏合作,从精益制造中学习教训以及为了沟通而平衡战略。作者还解释了如何在业务和工程项目上而不仅仅是在软件开发上进行合作博弈。
作者系统地演示了敏捷模型,展示了敏捷模型的演进,并且回答了开发人员和项目经理最常提出的问题,其中包括:
■ 哪些地方适合敏捷开发?
■ 如何将敏捷观念与其他观念融合在一起?
■ 如何对敏捷观念进行扩展?
书中呈现了造成很多敏捷项目失败的至关重要的错误概念。例如,将项目管理策略编码到固定的过程中会导致低效率的战略决策和高成本的错误。此外,本书还深入讨论了关于敏捷方法和用户体验设计之间的有争议的关系。
Cockburn讨论了为团队建立敏捷方法学这一实践上的挑战,解释了如何对方法学进行调整并持续地再创造,以及如何管理不完全的沟通。
第2版主要增加了以下内容:
■ 敏捷与CMMI。
■ 自顶向下地介绍敏捷。
■ 重访“客户合同”。
■ 用“贴纸”来创建变更。
另外,Cockburn还更新了关于Crystal方法学的讨论,这种方法利用了“合作博弈”作为其核心的隐喻。
无论是敏捷开发新手,还是有经验的软件开发人员和项目管理人员,都会从本书中受益。
目 录
PREFACE
PREFACE TO 2ND EDITION
LIST OF FIGURES
LIST OF STORIES
0 UNKNOWABLE AND lNCOMMUNICABLE
The Problem with Parsing Experience
The Impossibility of Communication
Three Levels of Listening
So,WhatDoIDoTomorrow?
0.1 UNKNOWABLE AND INCoHHUNICABLE:EVOLUTION
Communication and Shared Experience
Shu-Ha-Ri
CHAPTER 1 A COOPERATIVE GAME OF INVENTION AND COMMUNICATION
Software and Poetry
Software and Games
A Second Look at the Cooperative Game
What Should This Mean to Me?
CHAPTER 1.1 A COOPERATIVE GAME OF lNVENTION AND CoHHuNIcATloN:EVOLUTION
The Swamp Game
Competition Within Cooperation.
Other Fields as Cooperative Games.
Software Engineering Reconstruted
CHAPTER 2 INDIVlDUALS
Them'S Funky People
Overcoming Failure Modes
Working Better in Some Ways than Others
Drawing on Success Modes
What Should I Do Tomorrow?
CHAPTER 2.1 INDIVIDUALS:EVOLUTION
Strategy Balancing
CHAPTER 3 CoHHuNlcATION.COOPERATING TEAMS
Convection Currents of Information
Jumping Communication Gaps
Teams as Communities
Teams as Ecosystems
What Should I Do Tomorrow?
CHAPTER 3.1 TEAMS'EVOLUTION
A Sample Office Layout Revisited
CHAPTER 4 METHODOLOGIES
An Ecosystem That Ships Software
Methodology Concepts
Methodology Design Principles
XP under Glass
Why Methodology at All?
What Should I Do Tomorrow?
CHAPTER 4.1 METHODOLOGIES:EVOLUTION
Methodologies versus Strategies
Methodologies across the Organization
Process as Cycles
Describing Methodologies More Simply
CHAPTER 5 AGILE AND SELF-ADAPTING
CHAPTER 5.1 AGILE AND SELF-ADAPTING:EVOLUTION
CHAPTER 6 THE CRYSTAL METHODOLOGIES
APPENDIX A THE AGILE SOFTWARE DEVELOPMENT MANIFESTO
APPENDIX A.1 THE AGILE SOFTWARE DEVELOPMENT MANIFESTO AND THE DECLARATION OF INTERDEPENDENCE
APPENDIX B NAUR,EHN,MUSASHI
APPENDIX B.1 NAUR,EHN,MUSASHI:EVOLUTION
APPENDIX C AFTERWORD
APPENDIX D BOOKS AND REFERENCES
INDEX