从“差不多了”到 正式发布 -- 新浪微博WinPhone UWP版诞生记

本文粗略记述了UWP团队从接手新浪微博项目到发布第一版的过程。本文不是技术贴,而是回顾“软件工程周期失控是一种怎样的体验”。

接手新项目:捡了个大便宜

2016年1月份,UWP team开始接手新浪微博项目。前一个研发团队的最后一名员工计划于1月底离开项目组,我们需要在此之前完成技术交接工作。经过几轮讨论,项目状态很快搞清楚了:东西已经做“差不多了”,把几个基本问题改掉就可以发布了。我们立马有一种捡了大便宜的感觉:别人辛辛苦苦做得产品,居然留给我来发布!

怀着捡了便宜的激动心情,我们很快进入状态。按照老板的要求:1个研发人员1个月内提交第一版。我们1月19号创建了新的代码分支,之后熟悉代码、编译过程、安装调试环境,按照前同事的建议改进、完善,然后回家过春节。。。

在这期间主要对软件启动做了一下性能优化,我们特意找了一个配置很差的手机(工程机)来测试Debug版本的启动时间,经过一系列优化之后,启动时间从1月25日的14.64秒缩减到了2月19日的7.97秒。(4月25日发布版本在950XL上的启动时间是2.35秒)

附:1月25日debug版本的启动时间(工程机)

附:2月19日debug版本的启动时间(工程机)

第一次提测:丢人丢到家

春节回来就是2月中旬了,我们把之前团队建议的几个“未完成项”都完善了之后,2月23日打包提交测试,提测日期比老板的要求晚了几天。在等测试结果期间,我们还在不断地熟悉代码和整个产品。测试组3月2日提交了部分测试报告,说产品不满足发布状态。经过一番折腾,测试组3月4日提供了完整的测试报告:测试中发现了44个bug,其中A、B、C类(必须修复)bug共19个。

这样的结果印证了老板春节前留下的那句明智的话(老板说完就去美国了):不要高兴得太早,如果真是“差不多了”的话,为什么前一个团队不多干几天把版本发出去再闪呢。Weibo UWP 从来没有在手机端全面测试过, 这里面的问题一定非常多。

教训1:研发说“到目前为止没有发现问题”不等于真的没有问题,可能只是因为没有跑过Full test而已。

看到测试报告的那一刻,当初捡便宜的心情瞬间就消失的无影无踪了,取而代之的是惭愧。作为微软的软件工程师,把带有这么多bug(事后证明远不止这么多)的半成品提交给测试组,真的是一件很丢脸的事。更丢脸的是,其中三分之一的bug我们都不知道在说什么,因为接手项目时间太短,之前把大部分时间都花在了已知的需要改进的几个问题,还没有来得及熟悉整个产品,以至于一些bug中提到的功能页面都找不到。

教训2:对于新接手的项目,在完全熟悉产品和代码之前不要自以为是地敲定发布计划,否则请准备好被打脸。

附:第一次提测的bug list

打回重做:知耻而后勇

惭愧归惭愧,事情还是要继续做的。因为之前用新浪微博只是看一下首页和消息页面,很少切换到其他页,更不用提二级、三级页面了。现在既然小修小补不能解决问题,大改之前要先了解整个客户端产品:

  • 首先赶快申请加两个Full time的研发进来,并且申请项目延期;
  • 大家分工详细了解每一个页面,和页面对应的逻辑;
  • 对于找不到的页面,探索怎么把它们弄出来;
  • 深入了解每一个功能模块,并且熟悉每一个操作细节。

经过一番探索之后才发现,微博客户端的内容还是蛮多的,而且其中有相当一部分都没有开发完。得出这个结论后,我们只好放弃了“尽快发布一版给WinPhone10用户”的想法,把新浪微博作为一个长期项目来做。之前计划在“差不多了”的基础上,1个人1个月就把第一个版本发出去;调整计划了之后,3个人再延期两个月才把第一版发出去了。

教训3: 功能“差不多了”不等于产品“差不多了”。你花了4个月时间做了80%的功能,并不意味着1个月后就可以发布了。剩下20%的开发和产品完善的工作可能又要4个月。

在之后不断熟悉新浪微博客户端的过程中,除了解决测试报告里的44个bug之外,我们自己还发现了大量隐藏的bug,其中有记录的有50个左右,没有记录的小问题就更多了。前前后后加起来,总共解决了100多个bug之后才达到了我们自己认为比较满意的状态。

附:研发组自测的部分bug list

第二次提测:一波三折

在解决了100多个bug和两轮自测之后,我们在3月29日第二次提交了发布包给测试组。4月15日,测试组完成测试并提交了测试报告,其中没有A、B类bug,C类bug7个。到这时候我们心里有底了:这次才是真的“差不多了”。

教训4:如果研发说“差不多了”,你就当他什么都没说。测试报告说“差不多了”才是真的差不多了。

研发组迅速解决了所有C类bug,并在下一个工作日(4月18日 星期一)提交了新的安装包。在新一轮测试中,我们发现了一些以前从没遇到过的、很诡异的问题。其中情况最复杂的是私信页面的一个bug:

1)     在项目交接之前,私信页面上拉加载更多时,部分私信会重复出现;

2)     2月19日,研发组解决了1)中提到的问题,之后很长时间没有发现私信重复的问题;

3)     3月4日,测试组提交的测试报告中所附的44个bug里面,没有提到“私信列表重复”的问题;

4)     4月15日,测试组的第二轮测试报告提交7个C级bug中提到私信重复的问题

5)     4月15日,研发组调试时发现私信页面上拉时,前20条私信无限循环加载;

6)     4月15日晚,研发组解决了5)中提到的私信无限循环加载的问题;

7)     4月17日,私信循环加载的问题再次出现,重新安装新版本后消失,未来得及确认私信重复的规律,也无法确认复现问题的版本是fix之前还是fix之后的版本;

8)     4月18日,反复测试新版本私信列表未发现异常,研发组再次发包提测;

9)     4月19日,接到测试组的测试反馈提到“私信列表仍然重复”;

10)  4月19日19:30左右,研发组在自测中发现新的私信重复模式:前20条私信重复加载两遍,其他部分正常;

11)  4月19日20:00左右,研发人员回公司启动调试环境后发现9)中提到的问题自行消失,反复尝试仍然无法重现,也无法调试。

相信所有研发对很难重现的问题都会头疼。根据之前的经验,我们怀疑这个bug是和服务端相关的(大部分时间工作正常。一旦出问题时,所有手机的客户端都会发现同样的问题)。最后我们决定:在开发环境里面反复测试每一个诡异的bug,一旦发现问题立即跟踪调试并解决问题;如果连续测试12小时仍然无法重现的话,我们认为该问题对实际用户影响很小,不影响发布版本。

在反复测试的过程中,有一些bug在开发环境中被重现并解决了。其他问题经反复试验无法重现,降低优先级后留到以后解决。

正式发布:鲜花和鸡蛋

4月25日,新浪微博WinPhone UWP客户端终于提交到了应用商店。收到了很多正反馈,当然也有一堆骂的,在这里就不贴图了。

下一个版本

在接手这个项目的时候,我们接到的指示是“不添加新功能,尽快把已有功能完善后发布出去”。但在实际开发的过程中,我们发现现有的版本还缺失很多重要的功能:比如搜索功能、视频的横屏模式、夜间模式等。这些都已经被列入了下一个版本的开发计划中,请各位耐心等待下一版本的发布(会很快)。

另外,各位有什么功能需求可以直接在评论区留言,我们会定期查看并筛选一些需求添加到下一版的开发计划中。

时间: 2024-08-02 11:20:31

从“差不多了”到 正式发布 -- 新浪微博WinPhone UWP版诞生记的相关文章

聊聊大麦网UWP版的首页顶部图片联动效果的实现方法

随着Windows10的发布,国内已经有越来越多的厂商上架了自家的通用应用程序客户端,比如QQ.微博.大麦等.所实话,他们设计的确实很好,很符合Windows10 的设计风格和产品理念,而对于开发者而言,当我们发现一个不错的UI设计风格不禁想自己动手也写一个类似的效果玩玩.前几天在微软的开发者社区中逛的时候,看见有人问大麦网的UWP版首页顶部是如何实现的,于是自己就好奇的安装了一下,想看看是什么效果.效果图如下所示: 小白们有没有感觉有一种高大上的感觉呢?(当然我也是一个小白啦!!!!大牛勿喷!

Win10通用程序 UWP版HtmlAgilityPack UWP应用使用示例

UWP版HtmlAgilityPack,UWP应用使用示例下载. Win10 发布了一个多星期,sdk是随着一起发布的,我安装好vs2015和sdk 开发UWP 通用程序. 在做网络解析的时候,用nuget 安装 HtmlAgilityPack 发现在UWP 通用程序里无法使用. 刚开始以为版本的问题,随后更换了几个版本号都发现无法使用. 然后到HtmlAgilityPack 官方开源地址:http://htmlagilitypack.codeplex.com/ 下载源码,放到win10 sdk

Win10 UWP版《OneDrive》v17.12.1更新:桌面使用更便捷

9月30日消息,微软今天更新了Win10 UWP版<OneDrive>,更新后的版本号为v17.12.1,该版本最大亮点就是提升了桌面使用场景下的易用性. 17.12.1版本更新日志 • 增添了新的键盘快捷方式,更便于在桌面上使用 OneDrive 应用.可借助工具提示搜索操作. • 右键单击并按住可选择项目. 17.11版本更新日志(此前bbin并未发布,此处补足) • 获取到数据丢失防护(DLP)策略提示的即时访问,以便可帮助确保 OneDrive for Business 文件安全无忧.

剁手党也有春天 -- 淘宝 UWP ”比较“功能诞生记

前言 网购已经不再是现在的时髦,而变成了我们每天的日常生活.上网已经和买买买紧密地联系在了一起,成为了我们的人生信条.而逛街一词,越来越多地变成了一种情怀.有时候我们去逛街,要么是为了打发时间,要么是想亲手摸摸商品本身,要么就是想看看不同的商品,放在眼前或者在脑海里比较一下.毕竟现在网上琳琅满目的商品让人眼花缭乱,一次展示一个,看完这个,忘了上一个:看完了最后一个,已经没有力气再打开长长的历史列表一个一个看回去.如果没有石猴的火眼金睛,如何万里挑一,找到自己中意的那个‘它’呢?毕竟我们大多数人,

Xbox One上的Win10 UWP版《地图》是什么样?

此前Xbox One已经推送了Win10一周年更新系统,也称Xbox One夏季更新.得益于UWP平台,Win10 Mobile和Windows10 PC上的<Windows地图>应用也登陆了Xbox One设备,提供方向指导.丰富地图数据,甚至是3D鸟瞰模式等. Windows地图还允许你同步收藏地点,与Cortana集成,使用二八杠命令等,目前Windows地图已经在Xbox One Win10一周年更新预览版上可用. Xbox One上的Windows地图功能与PC.手机版类似,不过不再

简单的新浪微博爬虫-Python版-(下载部分)---(上)

第一次写博客,mark一下. 以前没写过技术分享博客也是因为没什么好分享的,现在觉得有些经验和思考过程还是值得记录下来的:一则便于以后查阅,二则如果能给别人带来些许帮助,则无比幸甚. 这次是因为工作需要做一些市场声量的分析,需要爬取一些论坛内容,微博内容做数据分析,懒得找其他盈利性的网站购买,就自己研究了一下Python 爬虫,写出来一个小小的爬虫 爬虫主要分两大部分: 1,下载网页功能(就是把网页内容以html格式保存在txt文 本中) 2,从保存文本中解析出想要的内容(主要是用到Beauti

Win10 UWP版《Office Mobile》更新:4款应用,7项改进

9月30日消息,今天葡京面向Win10 Mobile和Windows10 PC用户推送Office Mobile系列应用更新,包括Word.Excel.PowerPoint和OneNote4款,共有7项改进内容. Word版本说明 现在可以直接移动表格,表格内文字会自动调整大小 TXT后缀文件可直接打开 Excel版本说明 直接长按指定表格即可进行录入操作 现可打开包含ActiveX控件.OLE对象和Excel 4宏命令文件 PowerPoint版本说明 可双击幻灯片进行编辑以及快速调整顺序(仅

新浪微博产品管培生求职之路——微博发展史(二)

聊完古代史,咱们再来聊聊近代史.经过了微博元年雨后春笋般竞品的进入,微博是怎么在近代史中杀出重围的呢? 2011年中国微博市场竞争惊现奇观,以新浪.搜狐.腾讯为代表的各大门户网站纷纷搭建微博自留地,抢夺用户.打造影响力.经过一年角逐,新浪,腾讯两家门户网站微博发展占据微博行业的第一阵营,影响力日益彰显,搜狐.网易等微博虽也大力发展,但终究还是靠边站. 2011 纵观2011年新浪微博发展的这一年,3月,新浪推出微博AIR桌面客户端,并开始了新版微博界面的内测.在流传出的一张界面截图上,可以明显看

UWP开发:APP之间的数据交互(以微信为例)

目录 说明 UWP应用唤醒方式 跟微信APP交互数据 APP之间交互数据的前提 说明 我们经常看到,在手机上不需要退到桌面,APP之间就可以相互切换,并且可以传递数据.比如我在使用知乎APP的时候,需要使用新浪微博账号登录,点击“微博登录”后,系统自动唤醒新浪微博APP,并将知乎请求登录的数据传给了微博APP(微博APP界面上可以看到是知乎请求登录授权),见下图:    如上所示,依次点击“微博登录”.“确定”,手机界面自动来回切换,不需要人为干预.另外,如果我们在知乎看到一篇有意思的文章,需要