敏捷开发的特点是什么
1.尽早并持续交付
敏捷开发的首要任务是尽早地、持续地交付可使用的软件,以使客户满意。敏捷开发以“可使用的软件”作为进度的主要衡量指标。
敏捷开发就是在每一步都给一个可用的交付物,并且每一次都在对进行升级交付,让用户可以更早得逐步体验产品。在频繁交付可使用的软件时,交付的间隔越短越好,可以从几个月缩减到几个星期。
2.能够驾驭需求变化
敏捷开发注重计划的制定,同时能够驾驭需求的变化。因为敏捷开发本身就是为了能够及时地顺应用户和市场的需求,所以并不会死守着计划不进行调整,一旦需求发生变化,即使到了开发后期,敏捷也欢迎改变需求,不断地修正自己原先的变化,利用变化来为产品创造竞争优势。
3.版本周期内尽量不加任务
尽管敏捷的目的是为了尽量让产品能够适应市场需求的变化,但也并不意味着可以毫无节制地添加和修改项目任务。事实上,从这个角度来看,可以把每个版本迭代看作一次小的瀑布式开发,敏捷并不是全盘否定了瀑布式开发,而是借鉴了它优异的部分。
4.业务与开发协同工作
在整个项目开发期间,业务人员和开发人员必须朝夕工作在一起。围绕那些有推动力的人们来构建项目,给予他们所需的环境和支持,并且相信他们能够把工作做好。
5.以人为核心
Matin Flower认为:“在敏捷开发过程中,人是名列前茅位的,过程是第二位的。”敏捷开发试图使软件开发工作能够利用人的特点,充分发挥人的创造能力。敏捷开发的目的是建立起一个项目团队全员参与到软件开发中,包括设定软件开发流程的管理人员,只有这样软件开发流程才有可接受性。
敏捷开发要求研发人员独立自主在技术上进行决策,因为他们是最了解什么技术是需要和不需要的。同时,敏捷开发特别重视项目团队中的信息交流,开发团队及在开发团队内部进行非常快速、有效的传递信息的方法是面对面交谈。
6.团队配置敏捷
一般来说,一个项目团队要小于20个人以下,太多的话可以进行团队分割。如果可以,团队成员在一个办公室进行办公将会大大提高沟通效率,有什么问题可用直接面对面地解决。
简单地来说,敏捷开发并不追求前期完美的设计、完美编码,而是力求在很短的周期内开发出产品的核心功能,尽早发布出可用的版本。然后在后续的生产周期内,按照新需求不断迭代升级,完善产品。
延伸阅读
敏捷开发的原则是什么
敏捷开发的原则是:快速迭代;让测试人员和程序人员参与需求讨论;编写可测试的需求文档;减少文档交流,实现高效沟通;尽量以中低保真原型为主;尽早地进行测试用例评审。
1.快速迭代
敏捷开发中,两周一个版本最为常见,小版本更新甚至可以一周一个版本的迭代。而传统瀑布模式的开发形式可能半年发布一次大版本,流程和应对变化相对迟钝。
2.测试人员和程序人员参与需求讨论
尽可能全的让所有测试人员和程序开发人员参与需求的讨论,宁愿在动手之前集思广益,也不远在其他流程耗费大量的时间和人力。
3.编写可测试的需求文档
编写“用户故事”来引领需求文档,尽早的发现设计的合理与否、需求的真实性。
4.减少文档交流,实现高效沟通
减少文档交流,通过日常的站会、周会、双周会进行交流,不仅可以实现高效沟通,还可以规避沟通风险,如信息偏差。
5.尽量以中低保真原型为主
由于需求的千变万化,不宜画高保真原型,尽量用图解释、少些文字,人都有惰性,没人愿意花更多的时间和绩效去读一些啰嗦的文字。
6.尽早地进行测试用例评审
一般需求评审后非常多一天就需要进行测试用例的评审,这样能让需求中存在的问题更早的爆发,降低我们的改进成本,尽早的规避风险和节省资源。
推荐阅读
国内外最拔尖的12大看板工具
什么是瀑布开发?适用于哪些场景?有哪些瀑布开发管理系统?