换个角度看敏捷2 - 敏捷软件开发概述
?
敏捷软件开发概述如同前文所述,可以把敏捷看做一种问题解决方式。下面我们就从敏捷问题解决方式的角度解读敏捷软件开发。
敏捷软件开发软件开发是问题本身和问题解决能力不确定的一种典型情况。软件项目起源于人的构想,随着时间不断变化。项目团队对项目的认识随时间不断加深,成员能力不断提升,工作方式和过程改变导致团队开发能力不断变化。
敏捷软件开发分为3个层次。
产品层问题是产品构想。问题提出者是客户(业务负责人),问题解决者是特性团队。
将问题从产品构想分解到业务特性。业务特性是问题提出者客户可检验的单位问题。
在可工作的软件中检验完成的业务特性。可工作的软件是客户检验问题完整性的基础。
问题是业务特性。问题提出者是特性团队,问题解决者是特性团队或负责业务特性的相关人员。
将问题从业务特性分解到单元。单元是特性团队可检验的单位问题。
在可工作的业务特性中检验单元的完成情况。
问题是单元。问题提出者是开发人员,问题解决者是开发人员自身或另一个开发人员(结对编程)。
将问题从单元分解到单元职责。
在预期的单元测试中检验单元职责的完成情况。
XP与敏捷软件开发的吻合度更高。它是由一系列简单却互相依赖的实践组成,这些实践结合在一起形成了一个胜于部分结合的整体。