什么是敏捷开发流程

什么是敏捷开发流程这里是修真院后端小课堂,每篇分享文从【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】八个方面深度解析后端知识/技能,本篇分享的是:【什么是敏捷开发流程】这个词猛一听起来感觉很高大上,其实现在已经是主流的团队开发流程了。一.先说一下官方的定义:敏捷不是指某一种具体的方法论、过程或框架,而是一组价值观和原则。符合敏捷价值观…

大家好,又见面了,我是你们的朋友全栈君。

这里是修真院后端小课堂,每篇分享文从

【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】

八个方面深度解析后端知识/技能,本篇分享的是:

【什么是敏捷开发流程 】

什么是敏捷开发流程

这个词猛一听起来感觉很高大上,其实现在已经是主流的团队开发流程 了。
一. 先说一下官方的定义:

敏捷不是指某一种具体的方法论、过程或框架,而是一组价值观和原则。符合敏捷价值观和原则的开发方法包括:极限编程(XP),Scrum,精益软件开发(Lean Software Development),动态系统开发方法(DSDM),特征驱动开发(Feature Driver Development),水晶开发(Crystal Clear)等等。所有这些方法都具有以下共同特征:

  1. 迭代式开发。即整个开发过程被分为几个迭代周期,每个迭代周期是一个定长或不定长的时间块每个迭代周期持续的时间一般较短,通常为一到六周。

  2. 增量交付。产品是在每个迭代周期结束时被逐步交付使用,而不是在整个开发过程结束的时候一次性交付使用。每次交付的都是可以被部署到用户应用环境中被用户使用的、能给用户带来即时效益和价值的产品。

  3. 开发团队和用户反馈推动产品开发。敏捷开发方法主张用户能够全程参与到整个开发过程中。这使需求变化和用户反馈能被动态管理并及时集成到产品中。同时,团队对于用户的需求也能及时提供反馈意见。

  4. 持续集成。新的功能或需求变化总是尽可能频繁地被整合到产品中。一些项目是在每个迭代周期结束的时候集成,有些项目则每天都在这么做。

  5. 开发团队自我管理。拥有一个积极的、自我管理的、具备自由交流风格的开发团队,是每个敏捷项目必不可少的条件。人是敏捷开发的核心。敏捷开发总是以人为中心建立开发的过程和机制,而非把过程和机制强加给人。

二. 然后是我理解的敏捷

主要说一下我们公司自己的开发流程,因为接触时间尚浅,所以有点地方可能说的不是很到位,希望大家多多包含。

需求评审(参与人员是 客户+产品+UI+开发+测试,也就是所有人员)
主要是产品人员讲解需求,用户需要给出反馈或者提出意见,其他人员可以相应的提出自己的见解。

Story划分(产品+UI+开发)
产品根据UI做出来的原型图给开发人员讲解系统构成和运行,将整个网站按照功能划分成一个个细粒度的story来说明,开发人员(前端和后端)也需要明白自己应该关注那些关键点。

人员划分(leader+开发)
主要是项目小组的leader 根据story划分,给前端和后端开发人员划分story,开发人员根据自己的情况去估算所需时间。

方案设计(数据库设计文档、接口设计文档、方案设计文档)
先根据系统的实际情况去设计DB,包括数据库和表的名字,以及具体的字段。
然后设计接口文档,按照页面和功能进行设计,包括具体的请求地址和入参出参。
最后是根据接口文档中出现的疑难点去做方案设计文档,对遇到的问题进行分析并拿出至少两种具体的解决方案。

方案评审(所有人员)
对前端和后端给出的方案评审其它人员给出各自的意见,有问题的话下次再次开始。

禅道任务拆分(开发人员)
方案评审通过以后开发人员就需要按照预估的总开发时间去拆分story,可以分成多个小的任务,但是一个任务的时间最好不要超过4个小时。

开发(项目日报+工作日报+进度邮件)
每天实际开发过程中遇到问题可以写成项目日报;每天的任务完成情况写成工作日报;相比较整个系统的进度完成情况需要写进度邮件。

端对端(接口)测试(开发人员)
前端写好了页面,后端完实现了接口,就可以进行端到端的测试,可以远程测试,也可以本地测试。

压力测试+集成测试
系统完成以后需要用Jmeter 进行模拟用户访问,通过设置线程来提高并发量的方式达到一定的效果,测试生成的数据需要总结成测试报告。

Demo
对于复盘来说,这就是最后一个程序了,在前后端大师兄的评审下,主要是前端人员进行系统演示,各个功能是否实现、页面是否达到用户要求、有没有什么需要完善的地方。点评过之后如果有问题那就修改之后再次评审;如果没有问题那就算完成复盘项目了。

这么一个流程走下来,特别期间各个环节的良好运行以及团队合作的情况都是确保项目能够正常实现并交付的重要因素,敏捷开发强调的是人的充分能动性,通过这种相互合作的开发模式,相信在前后端分类开发的盛行时代,公司或者团队可以在约定的时间内较好地完成用户委托的项目。

 

 

 

【欢迎加IT交流群565763832与大家一起讨论交流】

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/148041.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • AutoEventWireup属性

    AutoEventWireup属性aspx页面第一行page指令中包含了一个AutoEventWireup属性2008-09-1417:15使用Asp.NET时,新建的aspx页面第一行page指令中包含了一个AutoEventWireup属性。网上的很多教程认为这一属性,甚至这一行代码都是没用的。其实,这是不了解Asp.NET事件处理模型的表现。简单来说,这一属性决定了当前页是否自动关联某些特殊事件。…

    2022年5月8日
  • 深度学习中的迁移学习介绍[通俗易懂]

    迁移学习(TransferLearning)的概念早在20世纪80年代就有相关的研究,这期间的研究有的称为归纳研究(inductivetransfer)、知识迁移(knowledgetransfer)、终身学习(life-longlearning)以及累积学习(incrementallearning)等。直到2009年,香港科技大学杨强教授对迁移学习的研究进行了总结和归纳,迁移学习才开始有了较为完善的框架和基本概念。迁移学习的研究范围和研究领域非常广泛。推荐学习迁移学习一个非常好的资源:htt

    2022年4月16日
  • javascript常见编程模式举例

    javascript常见编程模式举例

    2021年11月16日
  • java中|和||的使用和区别「建议收藏」

    java中|和||的使用和区别「建议收藏」区别||为逻辑运算符,而|为位运算符。位运算可以进行进行int数的或运算。例:4|1=54写作二进制数1001写作二进制数001做或运算得出101即5||只要满足第一个条件,后面的条件就不再判断,而|要对所有的条件进行判断。我们定义一个链表classListNode{intval;ListNodenext;ListNode(intx){val=x;}}Lis

    2022年7月8日
  • LVS集群

    LVS集群LVS1.LVS介绍LVS工作模式1.LVS介绍LVS,LinuxVirtualServerLVS是章文嵩博士发起的自由软件项目,它的官方站点是http://www.linuxvirtualserver.org。LVS工作在内核空间,实现TCP/IP协议群的四层路由,在Linux2.4内核以前,使用LVS时必须要重新编译内核以支持LVS功能模块,但从Linux2.4内核以后已经完全内置了LVS的各个功能模块,无需给内核打任何补丁,可以直接使用LVS提供的各种功能。LVS采用三层结构:调度器、

    2022年7月24日
  • 条件运算符嵌套_条件运算符(?:)的运算过程是什么

    条件运算符嵌套_条件运算符(?:)的运算过程是什么条件运算符(?:)都知道就不细说了,最简单也是最常用的例子:n=(a>b)?a:b;    在C++primerplus第六版180页看到了一个例子,如下所示:    constcharx[2][20]={“Jason”,”atyourservices\n”}    constchar*y=”Quillstone”;

    2022年10月2日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号