研发流程
研发流程相当关键,关系到整个研发团的开发效率,现在的产品的研发一般会以产品经理(Product Manager)为中心来展开,招一个靠谱的PM在有些时候可以扭转乾坤~
在之前经历的公司中,有一家公司的流程让我受益匪浅:
1 | st=>start: PM研发产品A,和相关部门负责人沟通完毕后,确定了项目内容 |
管理工具
在流程图中提及了几个工具:一个是JIRA
、一个是confluence
、还有一个是RAP。这是项目管理协作中用的非常广泛的三种工具。
在项目开发过程中,使用项目管理工具,可以大大的提高开发效率,让开发流程变的清晰明了。
JIRA
JIRA是项目管理协作工具中的重中之重,它主要用来发布和管理任务用的,可以根据产品的版本,给不同的人,不同的角色创建任务,每个人完成任务之后,把任务状态由“未完成改为完成”,每次状态的改变都会发邮件到任务下一步相关人员的邮箱,让其注意。例如开发人员把JIRA任务由“进行中”改为了“完成”,那么就会提醒测试人员去查看这个JIRA任务,并且开始测试。
confluence
confluence这是一个产品、技术、美工等整个项目团队的wiki。在这里有制作产品的原型prd、各类技术中遇到的问题的解决方案、甚至周报、日报、个人技术博客、技术分享等等等,所有文档性的内容,在这里都可以看到。
RAP
RAP这是一个API接口文档,用来前后端定义接口的,可以使用在线版本,但是在线版本安全性低,万一你的接口文档别网络中的不法分子发现了,后果不可设想,所以最好在内部服务器中搭建自己的接口文档工具 搭建RAP服务器
类似的还有swagger
即时聊天
别人的时间很宝贵,除非特别紧急的问题,一般不要下座位去问,特别是对于CTO等领导,会让集中精力的他人很反感,所以尽量用即时聊天工具来沟通,这样不仅可以节省他人的时间,还可以在遗忘问题的时候查看聊天记录,方便解决问题。
聊天工具什么都可以,QQ、微信、钉钉
gitlab
代码仓库管理,最好设在公司本地的网络环境中,不然出现gitlab运维程序猿rm -rf /
的操作可就麻烦了。(^__^) ……
hipchat
hipchat可以和gitlab等工具紧密联系可以及时查看谁谁谁提交了哪些代码、谁谁谁做了哪些事,也可以聊天。
辅助研发的工具
作为一个开发人员,不仅要懂得研发,还要学会懂的活用工具,让我更高效、更好的研发。
日志查看
首推ELK,当然也可以自己搭建日志系统(如果不嫌麻烦的话,(^__^) )。ELK 的搭建方式网上一搜一大堆,当时我们用的是一个docker镜像,可以去dockerhub上搜一搜看看。原理很简单就是logstash 收集日志,发送到elasticsearch
中,然后利用Elasticsearch
的查询工具kibana
查询日志。
在之前的项目中使用的是dockerhub中的”sebp/elk”,其中说明文档很详细,需要收集日志的服务器安装filebeat
,配置发送哪些日志文件给elk,filebeat
就相当于logstash
。
new relic
查看接口性能问题,这个工具也被推荐作为MySQL的性能检测工具。
sentry
查看线上接口是否异常,哪些接口在什么时候报了哪些异常。
在PHP的laravel框架中可以引用
1
sentry/sentry-laravel
直接来使用。详情请自行Google
envoyer
第三方的上线服务。用来上线用的。