敏捷开发培养了个人的创新意识">敏捷开发培养了个人的创新意识
创新能够为企业带来新发展契机,创造新价值,因此,创新对于企业还是个人而言都非常之重要。不断培养员工的创新能力、鼓励创新活动也是几乎所有企业的人才培养战略之一。而敏捷开发恰恰就是要打破传统的模式,形成全新的敏捷开发、敏捷测试方法、实践和过程,并鼓励团队采用新技术和技术创新。因此,团队的每个人需要能够创造性的工作,并乐于接受新事物,通过不断的改进、突破过时的做法,努力提高团队的工作效率,来适应产品的增量发展需要。
而也因为敏捷开发模式对于很多团队仍很陌生,在运用敏捷开发的过程中我们会遭遇许多新挑战、新困难。如何处理这些问题,解决方案本身就是无以借鉴的,自主创新才是唯一出路。
举个例子,敏捷项目初期,产品停留在原型论证和底层架构初步设计中,产品功能不多,复杂度较小,一般的手动测试就可以将质量保障做好。产品的中后期,因不断有新需求、新功能的加入,产品复杂度增大。团队倘若仍仅凭固有的手动测试方式来覆盖产品的各个功能、非功能点需求只恐怕是力不从心了。因此,考虑用自动化测试来提高团队工作效率是可取的方法之一。但是,当产品发展到中后期,也没有富余的资源可以被抽取出来做自动化测试了。即使现招聘新人,也因为新人对产品不了解,只怕自动化测试的效果也未如人愿。那我们是否应该在开发活动的初期就尝试自动化测试的设计、并自动化一部分功能测试呢?也未然,因为在产品开发初期,产品的功能和界面的变动会比较大,自动化测试收入产出比异常低。因此,何时、何地、如何设计、运用自动化测试来帮助降低人力成本,提高测试效率是需要我们大胆创新的。
以上我们通过商业、个人发展两个方面讲述了敏捷开发的价值和意义。那什么才是敏捷开发呢?在业界又有那些方法是敏捷开发的具体实现呢?各种方法有什么共同点吗?通过下文对各类敏捷方法的共性分析,我们也将进一步了解敏捷的实质。
业界流行的敏捷开发的方法有许多(要了解各类敏捷方法和分类请参阅本文参考资料中文献),我们需要根据项目大小,性质来选择合适自己的敏捷方法。比如说 XP(极限编程,eXtreme Programming)更加适合小型项目 3-5 人的团队。Scrum,DSDM (Dynamic Systems Development Methodology) 等更加适合大型团队的项目开发。而敏捷开发也不是一成不变放之四海皆准的准则,而是一个方法的最佳实践。各个团体和企业也不断定制着自己的最佳游戏规则。VersionOne 的敏捷开发的调研报告中很好的对比了各个方法被业界采纳的比例(见下 图 3)。这个图表就是 2007 年对来自 71 个国家 1700 多人的调查结果的说明。
图 3. 流行的敏捷方法
除了图例中的方法外还有 Crystal, Lean Software Development, Feature Driven Development, Xbreed, RUP 等等。
文章来源于领测软件测试网 https://www.ltesting.net/