什么是敏捷开发流程_敏捷feature开发流程-程序员宅基地

技术标签: 敏捷开发流程  JAVA后端  

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

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

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

【什么是敏捷开发流程 】

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

敏捷不是指某一种具体的方法论、过程或框架,而是一组价值观和原则。符合敏捷价值观和原则的开发方法包括:极限编程(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与大家一起讨论交流】

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/jnshu_it/article/details/86360566

智能推荐

zeppelin集成openldap,以及admin用户设置_zeppelin能建账号吗-程序员宅基地

文章浏览阅读2.2k次。之前写过一篇文章集成FreeIPA,今天尝试集成OpenLdap,出现了一些问题,这里记录下配置过程修改zeppelin-site.xml<property> <name>zeppelin.anonymous.allowed</name> <value>false</value> <description>An..._zeppelin能建账号吗

抖图:谁说程序员不懂浪漫_java 编写字符串动画程序员的浪漫-程序员宅基地

文章浏览阅读284次。{printf(“hello wold! 点击关注 小Care 每天趣味一下 \n”);}▼( 点击关注 小Care 每天趣味一下 )整理 | 小Care投稿请在公众号后台联系我们_java 编写字符串动画程序员的浪漫

Argo 101 - 2 : S3/Minio Storage_argo v1alpha1s3artifact-程序员宅基地

文章浏览阅读1k次。继续Argo之旅;Argo基本概念再熟悉下 Argo 的核心概念:WorkflowTemplate,可以看作是function,Argo中的Template有两类:定义Templatecontainer,最常见的,也是Argo的优势script,基于container,你可以写点什么resouce,直接操作k8s的任何resourcesuspend,暂停一段时间,等同于 Thread.wait(int time)调用Templatesteps,直接调用其他Template_argo v1alpha1s3artifact

【游戏开发】minecraft沉浸工程电孤炉自动更换石墨电极_mc沉浸工程石墨电极自动更换-程序员宅基地

文章浏览阅读1.3k次。前言 解压怀旧一下mc,打造一个全自动化世界。期间,做了很多自动化逻辑流程设计、查修一些bug反馈到github修正,手工开发一些function补充功能,自编译mod提前修已知问题等,基本没有娱乐,主要在研究和创造,过程不亚于工作中的开发。 结果很不错,这里分享一些难点解决。一、问题背景 mc 全自动化实现,电孤炉不能更换石墨电极,批量生产更换频率不低,有待解决。 环境:mc1.16.3,forge,沉浸工程 植物魔法 精致存储等..._mc沉浸工程石墨电极自动更换

力扣刷题(c语言)_力扣c语言题库答案-程序员宅基地

文章浏览阅读849次。力扣_力扣c语言题库答案

linux安装配置nginx,反向代理 以及 rewrite 实现URL跳转_linux url跳转-程序员宅基地

文章浏览阅读5.7k次。反向代理1,先下载ngix,下载了个1.8.1版本的 :http://nginx.org/en/download.html 解压(内网安装参考https://www.cnblogs.com/taiyonghai/p/6728707.html)2,安装相关组件,先进入ngix目录3,安装相关组件,先进入ngix目录 #安装gcc-c++,autoconf表示自动配置,auto..._linux url跳转

随便推点

openlayers 如何调用geoserver发布的wms服务_geoserver 获取openlayer预览地址-程序员宅基地

文章浏览阅读2.7k次,点赞2次,收藏6次。如何调用geoserver发布的wms服务启动geoserver,点击左侧导航工具栏中的Layer Preview找到自己相应调用的图层,点击Openlayer进行预览,如下图:在浏览器的地址栏中,http://localhost:8080/geoserver/sf/wms即为调用wms服务的url地址,还会有相应的版本号,请求类型,图层名等;利用如下代码,即可调用geoser..._geoserver 获取openlayer预览地址

pytorch 神经网络套路 使用Dataset,DataLoader实现多维输入特征的二分类_多维特征二分类-程序员宅基地

文章浏览阅读1.8k次。pytorch 神经网络套路 使用Dataset,DataLoader实现多维输入特征的二分类_多维特征二分类

@EnableAsync配合@Async标签使用实现异步处理_@enableasync与@async必须同时使用吗-程序员宅基地

文章浏览阅读261次。@Async标签一、使用Async标签的使用条件:一般应该使用在类的方法上,如果使用在类上,那么整个类中的方法都是异步的。 调用@Async方法的方法所在的类应该是spring容器管理的bean 应该配合@EnableAsync标签同时使用(下面会说如何使用@EnableAsync标签) 使用Async注解的方法,返回值必须为Void或Futur二、使用注意事项当被标注的方法没有确定返回类型时,@Async会失去作用 当被标注的方法与调用方法在同一个类中的时候,@Async会失去作用_@enableasync与@async必须同时使用吗

VisionPro工具---对应功能说明-程序员宅基地

文章浏览阅读1.1w次,点赞17次,收藏45次。VisionPro工具 项次 分类 名称 功能 1 无分类 CogAcqFifoTool 从相机获取图像 2 CogBlobTool 斑点找寻工具 3 CogCaliperTool 卡尺工具,用于找单边或边缘对 4 CogCNLSearchTool 在图像中找寻像素值的训练模板..._visionpro工具

Java多线程相关知识点汇总_java多线程相关概念-程序员宅基地

文章浏览阅读1.3k次。1.ThreadLocal2.如何保证高并发场景下的线程安全?3.JUC(java.util.concurrent)包4.volatile5.信号量同步6.线程池7.线程同步类8.并发集合类9.锁机制1.ThreadLocalThreadLocal如何实现多线程数据隔离?ThreadLocal内存泄漏问题?ThreadLocal脏数据问题?ThreadLocal主要功能:..._java多线程相关概念

浙大版《C语言程序设计(第3版)》题目集 习题3-2 高速公路超速处罚 (15 分)_输入在一行中给出2个正整数,分别对应车速和限速,其间以空格分隔。-程序员宅基地

文章浏览阅读872次。按照规定,在高速公路上行使的机动车,达到或超出本车道限速的10%则处200元罚款;若达到或超出50%,就要吊销驾驶证。请编写程序根据车速和限速自动判别对该机动车的处理。输入格式:输入在一行中给出2个正整数,分别对应车速和限速,其间以空格分隔。输出格式:在一行中输出处理意见:若属于正常行驶,则输出“OK”;若应处罚款,则输出“Exceed x%. Ticket 200”;若应吊销驾驶证,则输出“Exceed x%. License Revoked”。其中x是超速的百分比,精确到整数。输入样例1:_输入在一行中给出2个正整数,分别对应车速和限速,其间以空格分隔。