聊聊敏捷转型(上篇)︱敏捷软件开发
2022-10-07
来源:PMO之路 Mason
1、敏捷和传统瀑布的特点和差别
上图是敏捷迭代式和传统瀑布式在软件开发中的一些差异
1.1瀑布开发模式的五大特点
1、严格把软件项目的开发分隔成各个开发阶段:需求分析,要件定义,基本设计,详细设计,编码,单体测试,结合测试,系统测试等。使用里程碑的方式,严格定义了各开发阶段的输入和输出。如果达不到要求的输出,下一阶段的工作就不展开。
2、重视和强调过程文档,在开发的中后期才会看到软件原型,早起只能通过文档来了解系统的模样。在这种情况下,文档的重要性仿佛已经超过了代码的重要性。
3、瀑布模型把每个开发阶段都定义为黑盒,希望每个阶段的人员只关心自己阶段的工作,不需要关注其他阶段的工作。
4、既然叫做瀑布,就意味着不应该走回头路。否则如果出现返工,付出的代价会很大。
5、更适合需求相对稳定的大型项目。
1.2敏捷开发模式的八大特点
1、简单设计,避免过度设计。重复迭代、减少不必要的文档。
2、客户最关心的功能最先完成。要求客户有时间对每次迭代的成果进行确认,提出改进意见。
3、showcase(就是开发团队把开发好的功能给客户的Product Owner(以下简称PO)等业务相关人员演示,以获取他们对所开发系统的反馈)。
4、沟通是非常重要的,所有的开发人员对项目活动的理解应该是一致的。加强团队之间和客户之间的沟通。
5、测试驱动开发(TDD)
6、需要更强的个人和团队能力。敏捷的管理是团队的自我管理和项目经理的服务式管理。
7、敏捷开发不能在一开始就给出项目完整的成本计划。在有技术问题还没有解决的情况下不适合展开迭代。
8、敏捷实践:晨会,deadline,负责人制等等。
TDD:测试驱动开发是敏捷开发中的一项核心实践和技术,也是一种设计方法论。TDD的原理是在开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码。TDD的基本思路就是通过测试来推动整个开发的进行,但测试驱动开发并不只是单纯的测试工作,而是把需求分析,设计,质量控制量化的过程。TDD首先考虑使用需求(对象、功能、过程、接口等),主要是编写测试用例框架对功能的过程和接口进行设计,而测试框架可以持续进行验证。
传统开发与敏捷开发可以想象上图植物成长的过程
2、敏捷能解决什么问题
敏捷不是万能的,但相比瀑布开发模式,还是可以解决很多项目中现实存在的问题。传统瀑布开发模式中,下面的一些问题可以用敏捷很好的解决:
2.1版本发布的时间越来越长
在敏捷流程中,版本是由一系列增量集成在一起组成的,这些增量通过一个一个迭代按顺序开发。我们还可以在任意时间停止迭代。一旦发现产品的价值已经达到最大,尤其是发现软件里过半的功能很少被使用的时候,就可以停止迭代。
免责声明:
1、IT项目管理界发布的所有资讯与文章是出于为业界传递更多信息之目的,并不意味着赞同其观点或证实其描述。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请浏览者仅作参考,并请自行核实相关内容。
2、本站部分内容转载于其他网站和媒体,版权归原作者或原发布媒体所有。如文章涉及版权等问题,请联系本站,我们将在两个工作日内进行删除或修改处理。敬请谅解!
-
延伸阅读:
-