打卡签到、收发邮件,甚至是报销发票,都可用手机搞定?华为AnyOffice移动解决方案,打破了办公时间、场所的限制,得到数百万用户的喜爱,帮助很多企业从传统的办公室PC时代,跑步进入移动办公时代。
而这一切都源于2010年的一个偶然机会。
“窃听”风云
2010年底,手机还是Nokia的天下,智能终端刚开始上市,而我还是一个入职华为三年多的“攻城狮”,做的东西跟手机软件八竿子打不着。
突然有一天,我收到海外某办事处的电话,说某国发生了电话泄密,引发了恶性事件,该国高层正急着寻找电话加密方案,以防范此类事件,考虑到我们在网络安全上比较专业,希望我们能给出端到端的解决方案。
当时的PDT经理敏锐地感觉到移动端的需求会成为主流,而移动安全将会是炙手可热的方向,他召集了我们一帮人,从技术方案谈到产品开发计划,再到未来蓝图,大开脑洞。会议结束时,我看到所有人脸上都荡漾着喜悦,仿佛马上就能成功一样。
接下来,团队进入紧张的产品开发中,我也开始转型为手机端的软件开发者。当时的主流是塞班、黑莓,Android和iphone才刚兴起,对开发移动设备,我们完全没有经验,个个焦灼不安,光搭建个手机开发环境就用了一周,结果应用在Android上瞬间就崩溃了。当时资料少,缺乏定位手段,只能一点点看系统源码。功夫不负有心人,40天后,在WIFI网络下,两个手机第一次能够互相通话了,我和电话另一头的兄弟兴奋地大喊大叫起来。
3个月后,第一个测试版本出来了。我们满心欢喜地将版本发到一线测试。两天后,收到反馈:在各种网络切换和特殊条件下,加密通话语音质量奇差,几乎不可用!我的心情瞬间跌到谷底。无奈之下,只能沉下心投入到问题定位和修改之中。从最初的几天解决1个问题,到后来1天解决几个问题,我也迅速成长起来。
又4个月过去,产品接近收官。经过测试部和一线兄弟的联合测试,无论在正常状态还是在恶劣条件下,产品都能达到预期。看着兄弟脸上自信的神情,我也信心满满准备向客户递交我们最后答卷。最终,产品正式上线,该国高层再也不用担心电话泄密了。
在龟兔赛跑中飞起
和客户一起讨论问题
然而,这只是成功的个案,由于流量很贵,加密电话应用在当时并没有遍地开花。但我们积累了在移动端开发的能力,随时等待机会爆发。
2012年初,随着智能手机的快速发展,公司决定在内部全面启动移动办公,打破时间、空间的局限。因为在安全能力和移动端能力上的深厚积累,我们当仁不让接下了这个任务,希望借此东风打造企业的移动信息平台。
产品刚刚完成第一个版本时,我们就收到消息:公司某战略客户正在进行招标测试,此前一直是C公司和H公司的天下,这是我们将产品做成通用产品的绝佳契机。我们立马挑选最得力的干将,带着产品雄赳赳气昂昂地跨过鸭绿江。
谁想刚过江,迎接我们的却是一盆凉水。和客户交流后,我们发现友商已完成一轮测试且深得客户信任。拿到被友商引导过的用例,才发现很多特性我们不满足,希望渺茫。尽管如此,我们和客户交流了4天后,还是组建了攻关团队,快速实现关键特性。研发进度非常紧张,很多同事直接在公司打地铺,第二天起来接着干。第四天早上,版本得以转测试,白天测试下来也没发现严重问题,大家总算松了一口气,让开发兄弟先回家休息。谁想晚上八点,突出测出高概率出现的致命问题,于是又把回家的兄弟喊了回来。鏖战一晚,问题还是没找出来,大家急得像热锅上的蚂蚁。和客户约定的测试时间马上就到了,怎么办?紧急和现场的兄弟沟通,他们又想尽办法为我们争取了一天。
这期间,一个测试兄弟说:“之前的某个版本不存在这个问题,但这几天修改了这么多代码,现在根本没法排查啊!”作为项目组的CMO(配置管理员),我灵机一动,想到我们每个小时会自动编译一个版本,如果能够找到哪个时间段引入的问题,不是就能快速解决吗?大家一听,赶紧分头验证版本,最终不负众望地揪出了Bug。
后来,又经历几次这样的攻关,我们渐渐占了上风,最终拿下了第一局。到客户机房配合客户做全国上线时,望着满目的H公司、C公司设备,我的眼睛竟不觉有些湿润了。
后来,客户说:“测试初期,你们对业务不懂,和友商没得比,一个在天上,一个在地下。但你们反应快,现场发现的问题,很快拿出方案并在产品上体现出来,到了后期,产品脱胎换骨,变成了你们在天上。”
这么点用户就扛不住了?
2013年底,产品在公司内部很快推广了几千个用户,运营部门又制定了半年规划,希望将17万员工和几万的合作方都能快速引领入移动办公时代,一时间各种推广铺天盖地,用户迅速增加到了2万人。
11月的一个晚上,IT移动办公运营部主管来电,说系统重启了,更要命的是,重启后有同事反馈无法接入,我们检测一看,天呐,我们自己的用户账号也无法登录。好在当时是下班时间,使用人员不是很多,但如果第二天上班前还无法恢复的话,会对业务造成很大影响,如果这样,他们要向研发管理部投诉我们!
情况危急,怎么办?另外一个同事解决设备重启问题,我处理无法接入的问题。通过接入远程服务器,我们发现设备的CPU一直处于100%的状态,处理各种用户登录超时的告警。我想,坏了!在Android设备上,用户是会自动登录的,设备重启导致所有用户都在第一时间一起尝试登录,互相拥塞下大家都无法正常登入。
原因找到了,可怎么解决呢?我紧急组织了一个攻关组,晚上11点左右,SE一拍大腿说,必须打破现有状态,将用户分批放进来,异常用户少了,就不会有人一直尝试登录,而我们其他业务都是多线程的,只有登录业务是单线程的,只要用户能登上来,我们就一定能顶住!
可怎么控制手机用户的自动接入呢?测试经理提了一个想法:通过设备的防火墙功能,将手机来源划分为多个小段,全部禁止后,再一段段放开。
方法有了,说干就干。2小时后,所有用户都顺利上线,系统CPU恢复到正常水平,系统重启问题也顺利搞定。PDT经理让我先去休息一下,因为下一个考验点是第二天上午。我早上8点赶回公司,欣喜地发现,系统运行压力确实如我们预料的那样,是缓慢增加的。10点半后,我们的系统承受住了第一波的压力,大家稍松了一口气。后来运营部的同事说,其实他那一天比我们还紧张,他将这个业务给了我们团队,投诉我们其实也是变相地投诉自己,还好我们没让他失望。
接下来,在运营组已停止宣传的情况下,用户还是在4个月内增至3万。在这个过程中,我们既要确保系统稳定运行,也在不断优化架构,还学习了互联网公司采用灰度发布的方式,在飞驰的火车上逐步换轮子。2014年4月,新的版本全面上线。到6月,用户已快速增至8万,系统稳定了,问题少了,我们和运营组的会议也降到了每周一次。
现如今,公司内部用户数已达到20多万,终端30多万,所有向外发布的版本都在这个大系统上优先得到检验,想想当初2万用户的狼狈样子,恍若隔世。
“五花八门”的客户需求
2013年,AnyOffice产品已初步成型,开始交付H客户。我觉得产品功能完备,客户提到的需求都做了,应该没什么问题。结果客户却给了迎头一棒:产品接入需要用户先配置,难以推广,近期解决不了就要求退货。一开始我完全无法理解,使用前多一步配置就不能用了?后来想想确实有道理,手机应用还要配置太麻烦了,于是,想办法做到了零配置。
接入易用性问题解决了,客户又提了新需求:“邮件列表中文字太小了。”好,我们积极响应客户需求,调大一点。结果客户使用几天又提意见了:“有用户反应,邮件列表文字太大了,难看,做成可配置的。”听到这个消息,我都要晕了,这么多的用户和想法,哪能一个个都满足啊!后来从内部用户、外部客户又传来很多质疑声:“这是反人类的设计”、“这种提示就是对用户耍流氓”、“字体大小不一,颜色让人感到压抑”……甚至有客户直接说:“随便找个同类应用照抄也不会啊?不至于这么难用。”听的批评多了,我逐步认识到,曾经只关注功能逻辑、规格参数的开发思维,已不适用于移动研发的发展了,必须关注使用过程中的用户体验。
这些经历迫使我换位思考,把自己定位为产品的Owner,从产品维度去思考。首先让自己深度融入这个互联网时代,成为重度的移动应用爱好者:每天睡前看看最新的Top应用有什么亮点;听互联网产品大咖谈产品体验;学习产品牛人是怎么练就一双像素眼……在这些过程中逐步养成关注细节、注重体验的意识。在后期产品开发中,我们曾为了一个按钮放在哪里而讨论到深夜,曾为了一秒钟的速度提升而重构代码。同时,开始参与竞品分析,开展用户调研,与UCD中心专家合作,建立大众吐槽的微信群,开通实时调研公众号发起众审,开启DevOps模式实施众测,成立UCD委员会集中评审决策。
在集体智慧的贡献下,产品体验有了明显提升。当从客户那里传来肯定的声音时,我们欣喜地感受到,做移动互联网产品,真是有感觉!
还能再快一点吗?
2014年5月,我们历时半年,完成了客户端版本解耦的战略任务,将Anyoffice与AnyMail拆分为两个独立客户端,更灵活地提供BYOD解决方案能力。
此时,某银行要求华为上线交付,我们派遣了研发专家到一线开局。经过近一个月的客户交流、现场调测,开始交付试用。上线伊始,客户就提出了很多易用性的要求,按照产品开发流程,我们答复客户,新需求要三个月时间交付,这引起客户强烈不满。开发代表被客户指着鼻子问:你们到底是不是华为?到底是不是为客户服务?这么几个简单的功能,你们要三个月,外面随便找家公司几天就能做出来,我们自己的应用每两天一个测试版本,每周发布一个新版本,你们也要快起来!经过沟通,最终客户同意我们二周提供新的版本,按迭代交付新功能。
就这样被逼着,研发与各领域专家协同,一起探讨如何满足客户需求、敏捷交付。在各方面努力下,在公司立项通过试点产品级敏捷开发,尝试需求价值排序,快速决策,每个月按迭代分批持续交付,不断发布新的版本。为了应对快速的版本节奏,将手工测试逐步由自动化测试代替,新的需求自动化测试覆盖100%,自动化脚本验证100%通过。在完成实验室验证后,产品快速发布到众测平台实验局,通过众测和灰度发布活动,逐步放量,扩大试用范围,完成多样性终端的兼容性测试,快速反馈,快速闭环,终端用户直接参与产品体验和质量评价,也不断感受到AnyOffice的成长。最终,我们按时高质量地完成了交付,快速持续交付也成为我们打动更多客户的利器。
如今,为了持续提升竞争力,从移动端的数据安全,到企业入口防火墙的网络安全防护,再到大数据安全分析,我们进行战略开发,希望形成一整套企业移动信息平台安全解决方案,我担任研发管理工作,协调管理杭州、北京、芬兰、加拿大4地3国各个研发团队的工作,这一过程极具挑战,但我充满了信心。
芬兰