《敏捷软件开发 - 原则、模式与实践》是2003 年9月清华大学出版社出版的图书,作者是Robert C. Martin。本书重点讲述了如何使用uml,并通过真实案例讲解如何用极限编程来设计、测试、量构和结对编程。
以下内容节选自本书!
敏捷宣言遵循的原则
我们遵循以下原则:
- 我们最重要的目标,是通过持续不断地及早交付有价值的软件使客户满意。
- 欣然面对需求变化,即使在开发后期也一样。为了客户的竞争优势,敏捷过程掌控变化。
- 经常地交付可工作的软件,相隔几星期或一两个月,倾向于采取较短的周期。
- 业务人员和开发人员必须相互合作,项目中的每一天都不例外。
- 激发个体的斗志,以他们为核心搭建项目。提供所需的环境和支援,辅以信任,从而达成目标。
- 不论团队内外,传递信息效果最好效率也最高的方式是面对面的交谈。
- 可工作的软件是进度的首要度量标准。
- 敏捷过程倡导可持续开发。负责人、开发人喝用户要能够共同维持其步调稳定延续。
- 坚持不懈地追求技术卓越和良好设计,敏捷能力由此增强。
- 以简洁为本,它是极力减少不必要工作量的艺术。
- 最好的架构、需求和设计出自自组织团队。
- 团队定期地反思如何能提高成效,并依此调整自身的举止表现。
极限编程实践
完整的团队
XP项目的所有参与者(开发人员、业务分析师、测试人员等)一起工作在一个开放的场所中,他们都是同一个团队的成员,这个场所的墙壁上挂着大幅的显眼的图表和他显示当前进度的其他东西。
计划游戏
计划是持续的、循序渐进的。每2周,开发人员就为下2周估算候选特性的成本,而客户则根据成本和业务价值来选择要实现的特性。
客户测试
作为选择每个所期望的特性的一部分 ,客户定义自动验收测试来表明该特性可以工作。
简单设计
团队保持设计恰好和当前的系统功能相匹配,它通过了所有的测试,不包含任何重复,可以表达编写者想要表达的所有意图,并包含尽可能少的代码。
结对编程
所有产品软件都是由两个程序员并排坐在一起在同一台机器上构建的。
测试驱动开发
程序员以非常短的周期工作,他们先增加一个失败的测试,然后设法使其通过。
改进设计
随时改进糟糕的代码,保持代码尽可能干净,有表达力。
持续集成
团队总是可以使系统逐步集成和完善。
集体代码所有权
任何结对的程序员都可以在任何时候改进任何代码。
编码标准
系统中所有的代码看起来就好像是由一个非常胜任的人编写的。
隐喻
团队提出一个程序工作原理的公开景象。
可持续的速度
团队只有持久才有获胜的希望。他们以能够长期维持的速度努力工作。他们保存精力,他们把项目看作是马拉松长跑,而不是全速短跑。
在软件开发方面,探码一直践行的就是敏捷开发的思维,以用户的需求进化为核心,采用迭代、循序渐进的方法进行着软件开发。在开发过程中,一个项目在构建初期被细分成多个子项目在项目管理协同工具上创建Issue,各个子项目的成果都要经过测试,并经历开发的全生命周期的管理。每个子项目都是独立的,而又是可以合在一起变成整体的。意思就是每个子项目相互联系又可以独立运行,整个项目一直处于开发中,又不影响软件的运行。
同时,敏捷开发并不适合每一个开发团队,这要求团队技术人员至少有3人以上;技术人员的要有足够的稳定性;技术人员的功底也得深厚!
相关文章:敏捷迭代软件开发简略教程