在今天的培训中,让我对『敏捷开发』又有了重新的认识。这也是公司对每位新TWer们的一份大礼。
前几年看过《敏捷开发的艺术》一书,对于书中提到的一些实践做法,当时只认为按照这么做就是『敏捷开发』。认为『敏捷』是一种软件开发的一种方法论,是以前瀑布模型的一种革命。
但在今天的培训中,讲师先为我们重新梳理了一边,从软件开发伊始至今,人类对于开发过程与实践的历史。认识到敏捷不是一种方法论,也不是一个实践工具。
敏捷 是一种软件开发的 价值观。详细参考文章《敏捷宣言的发起者如何完成从技术领导者到文化变革领袖的转变?》。
敏捷软件开发宣言###
我们一直在实践中探寻更好的软件开发方法,身体力行的同时也帮助他人。由此我们建立了如下价值观:
【重新认识敏捷】个体和互动 高于 流程和工具
工作的软件 高于 详尽的文档
客户合作 高于 合同谈判
响应变化 高于 遵循计划
也就是说,尽管右项有其价值,我们更重视左项的价值。在日常的开发生产中,更多只关注到那四句话,而忽视宣言的结论。如:『工作的软件 高于 详尽的文档』,这句话会被认为,在敏捷的世界里是不需要文档的,有文档他就不是敏捷开发。如果再深挖宣言的结论,结合日常生产过程会发现,我们实际上是偏离了宣言,走向了另一个极端。
在现实的生产中,必要的文档依旧有其存在的价值。实际上,宣言最后已经阐述的很清楚,右项有其价值,我们更重视左项的价值。
除此之外『敏捷宣言』还需要遵循十二条原则:
敏捷宣言遵循的原则###
- 我们最重要的目标,是通过持续不断地及早交付有价值的软件使客户满意。
- 欣然面对需求变化,即使在开发后期也一样。为了客户的竞争优势,敏捷过程掌控变化。
- 经常地交付可工作的软件,相隔几星期或一两个月,倾向于采取较短的周期。
- 业务人员和开发人员必须相互合作,项目中的每一天都不例外。
- 激发个体的斗志,以他们为核心搭建项目。提供所需的环境和支援,辅以信任,从而达成目标。
- 不论团队内外,传递信息效果最好效率也最高的方式是面对面的交谈。
- 可工作的软件是进度的首要度量标准。
- 敏捷过程倡导可持续开发。责任人、开发人员和用户要能够共同维持其步调稳定延续。
- 坚持不懈地追求技术卓越和良好设计,敏捷能力由此增强。
- 以简洁为本,它是极力减少不必要工作量的艺术。
- 最好的架构、需求和设计出自自组织团队。
- 团队定期地反思如何能提高成效,并依此调整自身的举止表现。
Reserved by Agreal on Feb 12, 2015