Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

外包公司如何发布产品 #4

Open
LipYoung opened this issue Mar 28, 2018 · 1 comment
Open

外包公司如何发布产品 #4

LipYoung opened this issue Mar 28, 2018 · 1 comment
Assignees
Labels
开发生涯 和开发编码较远的一些内容

Comments

@LipYoung
Copy link
Owner

负责整个ThinkSNS+移动端的开发也10个月了.期间也大大小小负责了很多Manager方面的事情,成为了H5,PC,和移动端与服务端直接的润滑油.总结一下感觉和自己当初的规划有了些许偏差,距离技术lead越来越远,管理Manager方面倒是越来越清楚熟路了.没有办法,公司这方面有所欠缺,就只能逐渐补充.话不多说,今天不能分享技术开发方面的干货了,直接讲讲最近花了较长时间实践出的TS+软件发布计划吧.

问题是啥

10个月的开发时间,TS+完善了基础的用户系统,动态,圈子,找人,即时聊天等等功能.但是Boss依旧对产品不满意,多次表示了对产品开发周期长,交付内容质量低下方面的担忧.作为项目负责人的我自然是难逃其责的.进过了较长时间的总结后,产品本身的开发周期不能算长,如此多的功能,新的团队需要磨合.

那么为什么Boss还是不满意呢?其实是因为发布周期太长导致.TS+项目还是沿用了以前的瀑布式开发,3个月左右才能交付版本进行测试.

在总结出这个问题后产品2期开始迭代周期修改为了1周,即每周发布一个版本,提供增加的部分新内容和修复了旧问题的版本.但是引发了新的问题:

新的问题

TS+团队只有2名测试,也因为开发周期紧,需求不明确等原因.没有安排测试人员编写单元测试.每周发布一个版本导致测试压力巨大,每周四发布新版本后,测试人员没有办法在一天完成iOS端和安卓端的回归测试.只能简单的按照测试用例检查新的功能.

TS+ 开发的后4个月,就在这套问题不断的开发流程中走了下来.测试频繁漏掉检查项目,很多一眼就能看到的问题没有测试修复就交付到了内测用户手上.开发人员每周编写的更新日志也和实际发布版本内容对应不上,出现很多更新日志提到的功能还有明显BUG的情况.产品差评不断.

最严重的1个月,商务部门反映完全没有完成任何一笔有效成交订单.

问题总结

前段时间,工作压力巨大,整个项目开发风险都需要我来承担.花了一些时间我总结了已有的问题:

  1. 大量的工作都集中在了周五一天.数据迁移,后台功能发布,新版本测试,旧功能回测,开发修复等
  2. 修复后的版本没有测试时间.例如周五早上测试出问题后,周五晚上开发才修复完毕.
  3. 商务的更新日志是错误的

解决方案

新的发布计划在我脑海中逐渐成型:

在开发之初就决定该阶段的发布计划:大概的发布内容,和Alpha版本Beta版本发布时间:

milestones0 8 6

截图任务制定时间是8月18日(周五),Alpha发布时间是8月25(第二周周五)Beta发布时间9月1日(第三方周周五,截图显示的8天前).TS+每周都会制定发布计划,修复上一个Alpha版本和Beta发布.

然后初步制定开发任务:

886issues

这个开发任务的意思是在0.8.6版本发布时会完成图上标题和正文中提到的内容.以及一些开发人开发开发标签等信息.在开发任务制作出来后会打上future标签,表示是新增的功能,开发人员真是开发完该任务后,会增加上complete标签.

Alpha版本发布

任务开发完毕发布Alpha版本后,进入测试阶段,测试反馈问题,版本发布当天,后台提供测试服务器用于灰度测试.

测试服务器的作用:同步正式服务器上所有的数据和环境,但是只提供给内部人员测试使用.留出1周的时间测试修复问题,然后再提供给用户进行更大范围的测试.

测试反馈问题如图:

989issuesopen

开发人员在9月1日到8月18日之间修复该问题后,将标签修改为下图.意思是告诉测试人员该BUG已经在0.8.6.X版本上被Gorcat开发修复了.

编写更新日志

根据上面2张图,测试人员就可以在收到Alpha版本后根据该开发任务检查新增内容.根据BUG修复情况复测BUG.当测试人员确定开发任务验收通过,BUG修复完毕后,将关闭该任务:

989close

然后根据新增内容的验收情况和BUG修复情况编写更新日志和决定是否发布.确认可以发布后.

更新日志:

1. 新增加了A功能
2. 修复了B问题
3. 优化了C部分

等等等等

总结

沿用这套更标准的发布流程后,开发和测试人员的压力都进一步下降,对外发布的Beta版本质量更有保障,也保证了每个阶段都能交付产品给用户使用,每个版本的后台更新发布对正式服的影响也降低到了最低,商务部进行销售.变相的提高了发布时间.(当然,这里也有一些瀑布式开发切换到敏捷开发的功劳)测试部门也可以根据开发内容和BUG修复情况提供准确的更新日志.我呢,也能少掉一些头发了.

@LipYoung LipYoung added the 开发生涯 和开发编码较远的一些内容 label Mar 28, 2018
@LipYoung LipYoung self-assigned this Mar 28, 2018
@LipYoung
Copy link
Owner Author

2017-09-09的一篇工作总结.还是颇有些收获.对github的使用也更佳数量了呢

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
开发生涯 和开发编码较远的一些内容
Projects
None yet
Development

No branches or pull requests

1 participant