敏捷宣言
个体和互动 高于 流程和工具
工作的软件 高于 详尽的文档
客户合作 高于 合同谈判
响应变化 高于 遵循计划
敏捷宣言遵守的十二原则
我们最重要的目标,是通过持续不断地及早交付有价值的软件使客户满意。
欣然面对需求变化,即使在开发后期也一样。为了客户的竞争优势,敏捷过程掌控变化。
经常地交付可工作的软件,相隔几星期或一两个月,倾向于采取较短的周期。
业务人员和开发人员必须相互合作,项目中的每一天都不例外。
激发个体的斗志,以他们为核心搭建项目。提供所需的环境和支援,辅以信任,从而达成目标。
不论团队内外,传递信息效果最好效率也最高的方式是面对面的交谈。
可工作的软件是进度的首要度量标准。
敏捷过程倡导可持续开发。责任人、开发人员和用户要能够共同维持其步调稳定延续。
坚持不懈地追求技术卓越和良好设计,敏捷能力由此增强。
以简洁为本,它是极力减少不必要工作量的艺术。
最好的架构、需求和设计出自自组织团队。
团队定期地反思如何能提高成效,并依此调整自身的举止表现。
敏捷过程 Scrum 与 XP极限编程
Scrum | XP极限编程 | Lean Development | 等等 | |
---|---|---|---|---|
区别 | 敏捷开发的管理框架 | 敏捷开发的实践规范 | - | - |
迭代长度 | 2-4周 | 1-2周 | - | - |
迭代中需求变更 | 不允许 | 允许 | - | - |
严格的工程方法 | 无 | 有 | - | - |
应用场景 | 项目管理 | 具体实践 | - | - |
级别 | 轻量级 | 重量级 | - | - |
侧重点 | Self-Orgnization | 强有力的工程实践约束 | - | - |
敏捷实践-XP(XP精神)
沟通(Communication)-> 简单(Simplicity)-> 反馈(Feedback)-> 尊重(Respect) -> 勇气(Courage)
敏捷实践-XP原则
团队协作(Whole Team) -> 规划策略(The Planning Game) -> 结对编程(Pair programming)
-> 测试驱动开发(Testing-Driven Development) -> 重构(Refactoring) -> 简单设计(Simple Design)
-> 代码集体所有权(Collective Code Ownership) -> 持续集成(Continuous Integration) -> 客户测试(Customer Tests)
-> 小型发布(Small Release) -> 每周40小时工作制(40-hour Week) -> 编码规范(Code Standards)
-> 系统隐喻(System Metaphor)
敏捷实践-持续集成(Continuous Integration)
持续集成
Code(编码) -> Build(构建) -> Integrate(集成) -> Test(测试)
持续交付
Code(编码) -> Build(构建) -> Integrate(集成) -> Test(测试) -> Delivery(交付)
持续部署
Code(编码) -> Build(构建) -> Integrate(集成)-> Test(测试) -> Delivery(交付) -> Deployment(部署)
持续交付实践
持续交付作为 软件过程->敏捷开发>XP 里的一个关键步骤。由于这步对于实际工作效率的提高起到了显著的作用,独立为一个章节。
持续交付实践是从业者应该具备的常识之一。