什么是敏捷开发流程?

大家好,我是IT修真院武汉分院第15期学员,一枚正直善良的JAVA程序员。

今天给大家分享一下,java项目中需要使用的敏捷开发流程

 


1.背景介绍

 

在很久以前,软件项目的开发都是以年来计算的,这代表什么意思呢 ?需求设计了半年多,方案设计做了半年多,开发了三年多, 测试了半年多,修改Bug用了半年多。总计花了很长很长的时间,然后上线后发现有很多需求已经不存在了,同时又出现了很多新的需求。 这是困扰软件开发项目的最大的问题,越大的项目,参与的人越多,风险越大。文档越规范,维护起来的难度就越高,导致项目中遇到的问题越来越多。

 


2.知识剖析

 

敏捷开发(AgileDevelopment)是一种以人为核心、迭代、循序渐进的开发方法。怎么理解呢?首先,我们要理解它不是一门技术,它是一种开发方法,也就是一种软件开发的流程,它会指导我们用规定的环节去 一步一步完成项目的开发;而这种开发方式的主要驱动核心是人;它采用的是迭代式开发;

 


3.常见问题

提问一:什么是迭代?

提问二:为什么说是以人为核心?

提问三:敏捷开发包括了哪些内容?


4.解决方案

 

回答一

迭代是指把一个复杂且开发周期很长的开发任务,分解为很多小周期可完成的任务,这样的一个周期就是一次迭代的过程; 同时每一次迭代都可以生产或开发出一个可以交付的软件产品。


回答二


以前大多是瀑布开发模型,它是以文档为驱动的,为什么呢?因为在瀑布的整个开发过程中,要写大量的文档,把需求文档写出来后,开发人员都是根据文档进行开发的, 一切以文档为依据;而敏捷开发它只写有必要的文档,或尽量少写文档,敏捷开发注重的是人与人之间,面对面的交流,所以它强调以人为核心。

老大强调的理念就是:产品和开发必须是一个Team,大家只是分工不同,角色不同,并不是两个对立的团队,出了问题,不要说这 是产品设计出来,这是开发团队实现不了的。这是一个开发小组所有人的责任,这个后果是所有的人都需要承担的。 如果我们认真的区分这是什么问题,那么也只是为了避免下次出现同样的情况,而用户只会知道是一个公司出了一款垃圾产品,没有 人关心到底是产品还是开发的锅。

这是做敏捷开发的大前提。或者不仅仅是产品和开发,责任共担,One Team这个理念是贯穿始终的。 产品和开发必须是一个Team还体现在需求分期上,实际上,需求分期如果没做好,敏捷开发只能流于形式。

在敏捷开发中职责明确,每个人要负责的事情必须清晰无误,谁该做哪些事情,必须要提前讲清楚。做为后端,项目进入真正的开发阶段后,开发组的成员就应该是主动去控制项目的进度,和风险,以及主动去测试项目中存在的问题, 在这个阶段,除了一些需求不明,或者是发生变动的情况出现,不应该去打扰产品经理。不要让产品经理做开发团队的保姆。 开发组的成员的目标就是做好项目的进度控制。

有风险就及时反馈给Leader,确保自己理解的需求是明确无误的,确保自己的 测试是完整和严谨的,确认自己写出来的代码是可以维护的。一定要理解清楚,一旦PM通过Story讲解,将需求交付给开发组成 员,那么开发组成员就应该主动而独立的为这件事情负责。当项目完工以后,开发组成员应该交叉去做CodeReview, 并且给出性能测试报告,以及组织Demo。

 

回答三

1:需求讲解
2:定义接口文档
3:方案设计
4:禅道拆分
5:方案评审
6:开发阶段
7:阶段测试
8:性能测试和Coderevivew
9:压力测试
10:Demo
11:发布测试环境,集成测试
12:发布线上环境同时停止开发环境和测试环境
13:线上监控

 


5.编码实战

 


6.扩展思考

 

敏捷开发与传统开发方法的优劣?

优势:敏捷开发的高适应性,以人为本的特性,和轻量型的开发方法即以测试为驱动取代了以文档为驱动,这三个主要的特点, 也就是敏捷开发相对与传统开发方式的主要有点。因为他更加的灵活并且更加充分的利用了每个开发者的优势,调动了每个人的工作热情。

劣势:与传统开发方式相比,敏捷开发的最主要的劣势在于敏捷开发欢迎新的需求,而在每次新的需求产生时都可能引起整个系统的大幅度的修改。 因为开发者在开发上一个版本的时候,完全没有考虑以后的优化将要如何进行。这样的开发方式实际的软件开发过程中,并不一定总是有效的。 而另一个方面,敏捷开发因为缺乏很多在敏捷开发中被认为“不重要”的文档,这样在一个大型项目比如一个操作系统开发的时候, 由于其项目周期很长,所以很难保证开发的人员不更换,而没有文档就会造成在交接的过程中出现很大的困难。

 


7.参考文献

 

参考一:https://www.zhihu.com/question/39757751/answer/82927612?group_id=685376196313116672


参考二:https://www.cnblogs.com/yt96/p/5983265.html

 


8.更多讨论

今天的分享就到这里啦,欢迎大家提问和探讨!

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页