敏捷开发流程

简介: 敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态

一、story讲解

  1. 制作竞品分析PPT,UE全组参与。(用时:根据产品复杂度,0.5-2小时之内)
  2. 制作产品原型,交由客户看,客户没有异议之后禅道录入story
  3. 产品在禅道拆分好story,并且定义出优先级,关联需求,后续开发根据优先级进行开发
  4. 由产品讲解story,前端和后端都参与。(用时:根据产品的复杂度,1-3小时之内)

二、人员划分

  1. 新建wiki项目主页,把PPT和产品原型(HTML文件)上传到wiki
  2. 根据产品原型,按照模块划分相关负责人,前端和后端都是,并放到wiki。(由项目负责人新建)

三、定义接口文档(2-3天)

  1. 前端后端相关人员一起,对照原型,根据模块及页面大概定义出接口 ,一个页面中有几个接口,每个接口入参与出参是什么
  2. 后端每个模块的负责人,根据开会讨论的结果,在wiki上生成标准的接口文档
  3. 将后端做好的接口文档发给前端模块负责人过目,有问题继续修改;没问题开始后续的步骤 。

四、方案设计(1小时-1天左右,根据模块大小定义时间)

  1. 后端开发人员,根据原型以及定义的接口,做好方案设计
  2. 对有难度或者有疑点的接口,做出方案,尽量给出多个合理方案
  3. 每个方案写清楚优点缺点

五、方案评审(2-3小时)

  1. 对做出的方案设计,做方案评审,建议全体人员参与(无论做不做该项目)

六、禅道拆分(1-2小时)

  1. 相关负责人按照优先级顺序,在禅道拆分自己的任务,单个任务最多不要超过4小时,即拆分要详细
  • 拆分一个task时,以具体写的代码为一个task,并在任务名称中写出该类/方法的名称在任务描述中写出该task的代码块具体有的功能
  • 当拆完task后,这几个task所完成功能的代码已经过了一遍
  • 如果有不了解的功能,在方案评审前先写出一个demo,以方便拆分task的估时
  • 一个task用时应在0.5-2之间,最大最大4个小时
  1. 以文件上传功能为例,分成3个task
  • task1.任务名称:公共模块-文件上传-上传文件controller的方法fileUpload
    任务描述:通过网页获取文件,文件判空,判断文件的归属类型(用户/教材/课时/步骤/咨询)
    工时:1
  • task2.任务名称:公共模块-文件上传-添加文件FileUtil 和FileUtilOssImpl
    任务描述:util处理上传的文件,判断文件类型,大小,设置文件上传的路径,返回的url
    工时:1.5
  • task3.任务名称:公共模块-文件上传-文件接口spring-fileOss.xml 配置文件
    任务描述:oss的文件上传, 调用的spring.xml配置文件(密匙,ID,bucket等)
    工时:1.5

七、开发

  1. 搭建开发服务器
  2. 开发人员根据禅道上的任务,按时完成自己的开发工作,具体体现到日报上
  3. 每天上午开10分钟左右进度会议,如果有延迟现象出现,拿出解决方案,保证项目按照禅道上的时间点完成
  4. 数据库索引(两种索引):
  • 经常查询的,数据散列度比较高的,做一般索引,不需要建联合索引。
  • 数据必须保持唯一的,建唯一索引。(要有文档,文档表明哪些字段要建索引。发邮件。)

八、阶段测试

  1. 每天至少发布一次代码到开发环境,并且保证发布完之后程序没问题(与开发并行)

九、性能测试和coderevivew(1天)

  1. 对每个接口做好性能测试,每个接口的响应时间不超过200ms,如果有超过的,做优化,尽量缩小到200ms内
  2. 完成codereview,根据codereview结论完成修改

十、压力测试

  1. 做好压测报告

十一、 Demo

demo

  1. 发demo申请邮件,收件人包括产品、测试同学、前后端相关开发人员
  • 主题:XX项目demo通知
  • 内容:时间 地点 参会人员
  1. 开demo会议:主讲人:某个开发人员
  • 会议途中产品和测试提出问题
  1. 发demo结果通知邮件(由产品同学发)
  • demo结果
  • 如果不通过,有哪些问题
  • 如果不通过,召集第二次Demo会议,知道通过为止。第二次会议只需演示之前不通过的部分

测试

  • demo通过之后
  • 开发人员对代码打tag
  • 开发人员部署测试环境,部署完成之后发邮件,写明域名;
  • 交给测试人员进行测试,测试人员发送全体测试周期邮件
  • 测试期间,如果有测试发现bug,会在禅道上面提出bug,禅道会发送邮件到各自开发人员的邮箱,开发人员要关注BUG邮件 ,及时确认BUG,及时修改
  • 修改BUG之后,开发环境前端代码由前端同学自己部署,后端代码由后端同学自己部署
  • 测试完成之后,测试或产品发送上线通知

十二、 发布测试环境、集成测试(2-3天)

  1. 禅道上建立bug,测试出bug,指派给相关人员修改

十三、发布线上环境,同时停止开发环境和测试环境

十四、线上监控

相关文章
|
运维 Linux Windows
【计算巢】幻兽帕鲁服务器如何设置定时备份存档
计算巢针对幻兽帕鲁服务器,提供给了定时备份存档的功能,会在设定的频率下,定时将存档文件备份到目标文件夹下,有助于解决存档丢失和坏档的问题。
4877 1
|
安全 网络安全 API
163邮箱IMAP服务器设置方法
```markdown 使用IMAP协议同步163邮箱:登录邮箱→设置→账户→IMAP/SMTP→开启服务→配置服务器(imap.163.com:993, SSL/TLS)→设置用户名和密码→保存并在邮件客户端添加账号。确保多设备邮件同步,定期更新设置。[≤240字符] ```
|
10月前
|
人工智能 JSON 搜索推荐
淘宝京东拼多多API应用,打造个性化电商购物体验
本文介绍如何利用淘宝、京东、拼多多等电商平台API构建个性化购物体验。涵盖API基本概念、数据驱动的推荐系统实现方法,并结合Python示例展示商品列表调用流程。探讨协同过滤算法在用户相似度计算中的应用,以及地理、社交等多维数据融合策略。分析API集成的优势与挑战,展望AI赋能下的智慧电商未来。
|
SQL 分布式计算 关系型数据库
Dataphin x Paimon 开箱即用的数据湖治理解决方案
Dataphin深度集成Apache Paimon,通过全链路功能适配和性能优化,为企业提供开箱即用的数据湖治理解决方案。
631 2
|
5月前
|
人工智能 JavaScript 前端开发
MCP协议2025年大爆发,2026年反而相对平静——是真的走向成熟期,还是走向衰退?
MCP曾以“AI时代USB-C”引爆2025年中文技术圈,大厂纷纷跟进;2026年热度退潮,却悄然走向务实落地:认证标准化、流式HTTP升级,生态持续建设。它未必最优,但正经历协议成熟的必经之路——从喧嚣到沉淀,从泡沫到真实价值验证。
943 3
|
存储 运维 容灾
容灾的架构分析和容灾选择策略
容灾的架构分析和容灾选择策略
容灾的架构分析和容灾选择策略
|
6月前
|
人工智能 机器人 Linux
2026版养虾完全手册:阿里云一键部署+Mac/Windows/Linux本地搭建+免费大模型接入+避坑指南
最近AI圈被OpenClaw彻底刷屏,这款能直接操作电脑、执行自动化任务的AI框架,被大家亲切称为“龙虾”。不同于普通聊天AI,它能真正动手干活:整理文档、生成PPT、数据分析、定时推送、对接飞书/钉钉等办公工具,堪称数字员工。但很多人卡在安装复杂、技能不稳定、模型对接失败等问题上。
1413 4
|
10月前
|
运维 监控 Java
JVM 诊断工具进阶使用指南:jcmd、jmap、async-profiler 实战
本文深入讲解jcmd、jmap、async-profiler等JVM诊断工具的进阶用法,结合实战案例,涵盖堆转储、内存泄漏分析、CPU性能瓶颈定位及锁竞争问题,助力开发者高效排查JVM问题,提升Java应用稳定性与性能表现。(238字)
869 1
|
Java 测试技术 开发者
Spring Boot 的优点详解
Spring Boot 的优点详解
2181 6
|
开发工具 git
GIT:如何合并已commit的信息并进行push操作
通过上述步骤,您可以有效地合并已提交的信息,并保持项目的提交历史整洁。记得在执行这些操作之前备份当前工作状态,以防万一。这样的做法不仅有助于项目维护,也能提升团队协作的效率。
1247 3