文章目录

  • 产品研发流程
    • 需求对接与变更
      • 需求来源
      • 输入输出
      • 解决方案编写
      • 需求变更处理
    • 研发过程管理
      • 功能开发
      • 代码审查
      • 知识库
    • 测试与版本
      • 测试要求
      • 版本管理
  • 经验分享
    • 保持学习
    • 几条工作经验
  • 后期分享计划

前几天在公司应领导要求搞得一个分享,也在这里分享下。

产品研发流程

  • 需求对接
  • 研发过程
  • 测试与版本

需求对接与变更

需求来源

  • 来自客户的直接需求,日常售后运维收集的
  • 参考资料,其他公司的竞品
  • 与项目部、售后部门等沟通,需求调研
  • 公司产品规划
  • 主要原则,不闭门造车,不想当然,参考已有成熟产品或业界规范,或者最新的政策文件

输入输出

  • 需求规格说明书,或者简单的说明文档(因为后期肯定有变动,文档要重写)
  • 功能脑图、原型图 Axure RP,或者html地址
  • 产品预期的目标
  • 产品与相关研发人员,进行需求说明评审会议
  • 会议前,相关文档提前发给相关人员(UI、开发和测试),供阅读思考
  • 会议时,产品经理按需求点逐一讲解,待讲解完一个大的功能点,大家提问讨论,统一对需求的理解
  • 一个简单的会议纪要,记录一下大家有矛盾的点

解决方案编写

  • 需求会议后,研发人员针对需求编写解决方案
  • 解决方案包括功能模块划分、表结构设计、实体类设计等,产出一个解决方案文档,包含对需求的理解,功能实现方式,包括一些业务流程图、架构图、部署图、SQL脚本等(可以使用Visio、亿图图示、PowerDesign等工具进行设计)
  • 如果是完全的新项目,可能还需要考虑技术选型,例如使用哪种编程语言、开发框架、数据库等,是否需要集群部署,一般与团队原有知识体系保持一致
  • 解决方案,经研发负责人评审后,进行任务分解分配,到具体人员
  • 根据现有资源情况,进行大致工期规划,列一个时间表
  • 项目进度工期可以使用project等管理,明确任务时间点,人员等
  • 需求可以使用JIRA、禅道等工具进行管理,可以将资料作为附件放在记录里
  • 注意:一般根据项目情况,要按照1.5倍时间预估,因为总有突发情况,而且前期的估算不一定准确

需求变更处理

  • 对于新产品研发,或者客户项目开发,需求变更无法避免
  • 主要是新的东西,大家没法一开始就能明确其所有特性,后续可能有一些更好的想法,或者发现现有设计有重大缺陷
  • 需求变更,则需要对变更需求进行对接、评审(对现有框架、工期等的影响)、解决方案编写、工期计划的调整
  • 对于需求变更处理,要有原则,并不是所有的变更都要立即接受处理
  • 对于重大缺陷,或越往后期改动成本越大的,可优先处理
  • 对于一些不影响使用的优化或需求,可按列入写一个版本计划
  • 所有的需求变更,需要在JIRA或禅道里记录,新增一条记录

研发过程管理

功能开发

  • 重点任务,及时跟踪,根据需要加班完成
  • 进行阶段性短会,或者周会,每周要有项目进度说明
  • 前后端分离,要做好API接口维护,要尽量保证一个稳定环境和数据,供前端调试
  • 针对部分疑难问题,短时间无法处理掉的,及时汇报,大家一起解决
  • 宜早不宜迟,前中期多干点,留出冗余时间处理突发情况,尽量不要卡着时间点去完成任务
  • 及时维护JIRA或禅道里的任务状态,任务完成情况作为一项考核指标
  • 不能简单粗暴使用,因为有的关键任务可能要好几天完成,小任务可能半小时完成,所以数量和按时完成率也只是参考

代码审查

  • 编码规范,约定大于配置,阿里编程规范、数据库规约等
  • 合理的类和变量命名,合理的注释,合理的方法长度
  • 代码静态审查 sonar cube
  • 人工审查,代码走读
  • 审查完成后,整理出现的问题并宣讲,大家一起学习下,避免类似问题

知识库

  • 产品相关文档,包括需求文档、设计文档、用户手册等
  • 功能模块的文档,开发人员编写和使用,包括功能实现逻辑,在什么位置、有哪些类和表、有哪些接口等,可作为阶段性的工作文档,减少后续维护成本
  • 疑难问题的文档,记录遇到的问题,解决过程,解决结果等
  • 知识分享文档,产品中用到的关键技术,或者新技术,进行简单的介绍,包括特性、使用方式等

测试与版本

测试要求

  • 首先要按层功能自测,自己测试通过,再交由前端联调或测试人员测试
  • 保留必要的测试数据,接口测试要保留好输入输出(可以使用postman等工具)
  • 对测试人员的测试要持续跟进,对于影响测试的问题优先处理,其他缺陷或优化,后续处理
  • 对于多变的阶段,来不及使用JIRA禅道等管理工具时,可以使用腾讯在线文档,使用表格管理
  • 对于稳定期,可以使用JIRA禅道等管理工具,对问题追踪
  • 测试介入越早越好,最好在需求阶段介入,方便更早的开始编写维护测试用例,测试完成后要有测试报告
  • 如果条件允许,一个大的功能模块完成后,可以让测试人员对这个功能先行测试
  • 至少两轮完整测试,一轮集成测试,一轮测试问题修改后的回归测试

版本管理

  • 代码主线分支管理
  • 产品代码管理
  • 项目代码管理
  • 发布版本管理(程序包、文档、SQL/shell脚本)
  • 部署文档(自动化部署脚本,数据库初始化脚本)

经验分享

保持学习

  • 学会利用互联网,开源免费的各种资料,源码
  • 推荐CSDN、B站、腾讯课堂、开源中国等
  • 学习的广度和深度,根据需要针对性学习,学了要用起来,要有总结和记录
  • 有计划、有一定强度的持续学习,日积月累

几条工作经验

  • 输入参数校验,前端做了,后端也要做,可以借助框架的validate,也可以自己写
  • 避免在循环里访问数据库、打开文件等,防止对资源的过度占用
  • 数据库操作要谨慎,删除修改操作要谨慎,对数据有备份计划,脚本定时备份
  • 要有运维日志,对重要数据的增删改一定要有操作记录
  • 程序输出的日志级别,刚上线日志级别可以调低点,要关注磁盘剩余空间,定时压缩,适时清理
  • 提升开发效率,每天要完成的任务列个列表,按优先级和紧急程度顺序完成,实在无法按时完成要及时主动的和上级领导沟通
  • IT行业加班是常态,几乎所有公司都无法避免,要尽量按时吃饭。当你加班加到身体不舒服的时候,例如头疼、胸闷、胸口痛,赶紧回家休息,如果情况严重,及时去医院或者打120

后期分享计划

  • DevOps自动化运维(docker、k8s)
  • clickhouse大数据组件
  • 分库分表在sass平台的应用
  • 产品国产化(使用国产操作系统、应用服务器、数据库等)
  • elasticsearch搜索引擎使用
  • 微服务如何应对高可用、高并发(redis缓存、SQL优化与索引使用、集群负载均衡、分库分表等)
  • 大家可以拟一些主题,后期有时间时做一些工作相关的、产品技术相关的分享会

Java web产品开发经验分享相关推荐

  1. java计算机毕业设计Web产品管理系统MyBatis+系统+LW文档+源码+调试部署

    java计算机毕业设计Web产品管理系统MyBatis+系统+LW文档+源码+调试部署 java计算机毕业设计Web产品管理系统MyBatis+系统+LW文档+源码+调试部署 本源码技术栈: 项目架构 ...

  2. java计算机毕业设计Web产品管理系统源码+mysql数据库+系统+lw文档+部署

    java计算机毕业设计Web产品管理系统源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计Web产品管理系统源码+mysql数据库+系统+lw文档+部署 本源码技术栈: 项目架构:B ...

  3. 分享java web 期末项目实验源码20套,BBS论坛,ERP管理系统,OA自动化等等

    分享java web 期末项目实验源码20套,BBS论坛,ERP管理系统,OA自动化等等 我自己也从里面学习到了很多东西! 1.BBS论坛系统(jsp+sql) 2.ERP管理系统(jsp+servl ...

  4. java web分享ppt大纲 -- servlet容器简介

    今天在公司分享了java web的ppt,把ppt大纲放在这里,希望可以帮助需要的人 servlet容器简介 定义 狭义上的,servlet容器为java Web应用提供运行时环境,负责管理servl ...

  5. openjweb1.8 java web应用快速开发平台产品白皮书

    因图片较多,需要图片请到资源中下载,不需要资源分.           OpenJWeb(1.8) Java Web应用快速开发平台   产品白皮书               编者:OpenJWeb ...

  6. Java web 2022跟学尚硅谷书城项目完整开源分享

    Java web 2022跟学尚硅谷书城项目完整开源分享 项目介绍 项目类图 sql建表和添加数据 界面展示 用户登录界面 用户注册界面 首页 添加购物车 我的购物车 我的订单 功能说明 项目介绍 跟 ...

  7. java计算机毕业设计Web产品管理系统源码+数据库+系统+lw文档

    java计算机毕业设计Web产品管理系统源码+数据库+系统+lw文档 java计算机毕业设计Web产品管理系统源码+数据库+系统+lw文档 本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 ...

  8. 带源码下载—校园表白墙—基于Java Web,Mysql,jsp—设计报告分享

    项目代码路径下载:https://download.csdn.net/download/weixin_42868605/20686663 1.系统功能说明: 发布新的表白墙消息. 删除自己发的消息. ...

  9. 简单的Java web(JSP+Sevlet+Java+mysql)源码分享

    引言:Java web项目主要采用mvc的的设计思想,系统主要采用java+jsp+servlet+mysql+eclipse实现,具有登陆.分页.导出excel,增删改查等功能,适合初学者,满足基本 ...

最新文章

  1. 什么是带宽?—Vecloud微云
  2. php v9 分页静态,PHPCMS V9自定义栏目伪静态实现方法(列表页/分页/内容页)
  3. java jsp Struts2.X 文件上传
  4. 新装ubuntu9.10后配置全过程(很多常见问题的解决方法)
  5. 使用dict和set
  6. MySQL运维系列 之 如何监控大事务
  7. Java编程学习中必须掌握的13个核心技术
  8. java ajax jquery分页插件_jquery ajax分页插件的简单实现
  9. linux驱动程序文件,急,linux驱动程序是对的为什么生成不了.o驱动程序文件
  10. 调用iphone客户端进行授权发微博的方法--使用友盟组件
  11. ASP.NET身份验证机制membership入门——API篇
  12. DOM元素节点属性outerHTML和innerHTML
  13. 例2.2 圆柱体的表面积
  14. 射频光纤传输及宽带射频光纤传输系统介绍
  15. 推荐的这22个高频 CLI 工具,确定不收藏吗?
  16. 学习编程,以“上帝视角”创造和改变这个世界
  17. SPI应用——W25Q128串行FLASH
  18. Windows 10 (Multiple Editions), Version 1607
  19. Oracle VirtualBox备份、恢复虚拟机
  20. Windows PowerShell与命令提示符的比较

热门文章

  1. unicode字符串转UTF8字符串
  2. Final Cut Pro for Mac(中文fcpx视频剪辑)
  3. Excel如何批量删除空格
  4. 3dsMax快捷键+多边形建模参数
  5. 【设计模式】工厂方法模式
  6. list去重 distinct
  7. CleanMyMac X2023免费下载及安装使用教程
  8. 对高等数学中的基本概念的剖析
  9. 深圳发布共享单车规范,将对不良用户行为采取特别措施
  10. python爬取抖音用户评论_python实现模拟器爬取抖音评论数据的示例代码