背景
作为一个开发,天天被项目经理管,产品也要管,测试小姐姐也要管,bug还是那么多,怎么改都改不完。这怎么能行呢。为了方便各种工头管理我们这些牛马,必须写个合适的工具,洞察牛马的一切。市面上的禅道啥的越来越复杂,而且我感觉他们不够专一。这个系列文章和大家分享一下如何快速搭建起一个开发人自己的项目管理工具,我big胆就叫EasyPM,最后大家看看开发起来easy不easy,用起来easy不easy!
需求分析
接下来我们看看有哪些工头:
- 业务
业务会提出需求工单,流转到产品,产品会审核需求翻译成研发能看懂的需求,所以会有一个需求工单管理功能,单个需求工单需要关联到对于的项目,所以还有个项目管理
- 产品(兼任项目管理)
产品收到业务的需求工单,会分析业务需求,承接或者驳回部分需求不清晰的例如:业务流程有没有闭环等等,整理成一个个研发需求,几个研发需求又可以合并成迭代,跟踪迭代相关人员的排期等等,所以应该有一个需求管理模块
- 测试
这个简单提bug,bug流转,需要关联到需求,就叫缺陷管理吧
- 设计(包含交互)
这个环境与整体关系不大,但是设计稿的排期,非常影响前端牛马的排期,会参与到开发排期,以及需要参与到最后的验收
接下来还有我们苦逼的开发(以前后的分离为例)
- 后端
后端不用多说,唯一要注意的就是接口文档,对于前后端协作比较重要,扯皮的重灾区。我们会加一个接口文档管理的功能,记录一些变更。
- 前端
就更不用说了按照流程排期,干就完了
总结一下,大概就是以下的协作流程
主要功能列举
- 登录:只支持账号密码登录,加一个图形验证码,不用太复杂,先搞起来,手机短信啥的穷,搞不起。
- 个人面板:展示被关联的需求,缺陷等等,需要你处理的事情都在上面。
- 系统管理
- 用户管理:没有注册,用户需要超级管理员创建,分发账号
- 角色管理:角色管理有两套,一套就是我们系统自带的角色:(产品,开发啥的),另一套是绑定在系统角色之上的角色名称,比如业务,就分为(财务,运营等等),先这么着
- 权限管理:这个最后再说吧,比较麻烦没想好。先做到菜单控制,接口层面的简单,后台中间件来管理
- 项目管理
- 项目列表:就是管理目前有哪些项目,不用太复杂
- 版本管理:项目下面迭代了哪些版本,计划迭代哪些版本
- 模块管理:项目下面有哪些模块,会被关联到缺陷,需求
- 工单管理
- 需求工单:业务提出的需求,需要填一些需求的背景啊,业务流程啊什么的,就是一个表单填写加点状态
- 需求管理
- 需求列表:这个是我们这个系统中算最复杂的了,产品对需求的规划排期(需求文档),研发各组资源的投入,排期都在上面,需求的难易程度(用来
计算KPI)。
- 需求列表:这个是我们这个系统中算最复杂的了,产品对需求的规划排期(需求文档),研发各组资源的投入,排期都在上面,需求的难易程度(用来
- 缺陷管理
- 缺陷列表:这个参考一下市面常见的工具就行,难的可能是状态流转
- 接口管理
- 接口列表:这个遵循
openApi3.0+的协议,支持一下swagger导出的接口文档。主要解决的一个接口改动记录
- 接口列表:这个遵循
功能点大概就这样,具体我们下面做的时候再慢慢分析,需求有了下面进行技术选型:
前端:不用说肯定是 vue3技术栈全家桶因为简单,UI组件库我们用个小众一点的 arco.design vue版的
后端:用我最熟悉的midway.js,为什么?因为我最熟悉。数据库就用MongoDB,用起来无拘无束。
这个几个搭配起来开发项目就一个字:快
下一章我们就把前后端项目搭建起来,能从前端页面访问到后端数据的系统配置