现场,环信联合创始人马晓宇从一个云服务创业公司的角度,分享了该如何去实现敏捷开发,以及在亲身创业实践中的经验和教训。以下是根据马晓宇现场演讲内容进行的梳理部分:
1.SaaS需求管理,有何轻重缓急之分?
创业公司的需求来自项目经理、研发、客户等方方面面,也会经常面临各种各样的bug。就bug的轻重缓急而言,环信联合创始人马晓宇总结了三种类型的bug,即严重bug,功能bug,性能bug。
结合自身的创业经验,马晓宇认为比较严重的bug,需要团队立刻去执行,去解决;而功能性的bug需要团队进行排期,可能会花几周的时间去迭代修复的;谈到性能bug,他认为是最难解决的,举例来说,当我们在设计的时候,系统一上线就能支持百万用户甚至亿级用户的自由伸缩,往往是不现实的。环信的系统从最开始上线,到现在经历了多个版本迭代,最终从测试用户,上百用户,到现在的几千万日活。所以,在SaaS需求管理上需要去平衡不同功能的需求程度。
2.关于SaaS迭代开发,应注意什么?
创业公司在服务端上线周期基本上是一个月,上线有两个注意事项,一个是回退方案,即做到要求的方案都可以回退,遇到问题时可以及时做到回退。另一个是兼容性问题,一个产品面对不同的用户存在这不同的兼容性问题,这时我们需要做开关,如果产品上线可能造成某方面的损失,可以选择做降级开关来处理,保证部分功能实现。
移动端的上线需要注意发版问题,马晓宇举例说,当做工具云时,在很短的周期内出了一版,但是没有测到严重的bug,随即上线了后续更新的版本,这就会在用户体验上大打折扣。
3.SaaS灰度发布系统是如何运作的?
做SaaS有一个基于租户的灰度发布。一是AB测试,AB测试是一种用于提升产品转化率、优化获客的方法。当我们想测试哪个注册页面转化率高时,我们就可以上线两个版本的页面,通过一周、一月的注册数据监测比例来衡量哪个页面效果好。在做云服务,SaaS时,就是基于租户的验证,同样可以适用这种方法。
前后端灰度,就是所有的前端根据cookie中的租户id,转发到不同版本的后端服务。如果进来之后,cookie解决这个租户ID,就可以写个脚本,根据当前给的配置对应的版本打造对应的服务,这是一个常用的功能。
移动端灰度,就是移动端登录后,从路由服务器请求访问地址。以做移动端的经验来说,某一个用户想登到指定的版本如何来做?我们可以做DNS解析,就是手机端不是先去试图访问服务,而是先去访问我们做的解析入口,当前是哪个租户,用户ID是多少,移动端什么版本,应该访问哪个后台版本,然后整个服务会打造相应的后台版本。如果公司有海外客户,就可以通过DNS解析到海外的配置,移动端的路由可以根据不同用户的区域做不同的配置,链接到不同的服务和版本。
在活动的演讲环节,讲师为嘉宾倾囊分享,嘉宾与讲师思维碰撞,为活动掀起了阵阵高潮。
Worktile高级架构师,WTC成员,孙敬云
分别从研发的困境、DevOps是什么、对DevOps工程化的个人分析以及DevOps的实战入门这几个方向来为大家带来《DevOps实战:工程化管理你的DevOps平台》
“有很多的工具用起来真的是无孔不入,什么东西都能帮你解决,基本上不需要你打开任何的东西,你只需要键盘鼠标点一点就能解决。但是我相信没有最好的实践,只有最合适的实践,每个团队如果想实践DevOps,只有你不断的探索,你才能找到你自己团队中最合适的那个DevOps解决方案。因为:认真可以把一件事做对,用心可以把一件事做好。”
石墨文档研发负责人,李子骅
围绕关注“非功能需求”与“DevOps相关”两个关键性的话题为大家带来分享《敏捷思想在产品周期的延伸》
“产品周期指数指的是我们产品的迭代周期,我们知道一个产品可能会有需求的提出,需求的评审,需求的确定,以及我们实际的开发测试和交互。我们知道从01年敏捷开始到现在已经有越来越多的项目在使用敏捷。其实现在敏捷已经变成一种常态,这个时候讨论敏捷的被大家的忽略点就变得非常有意义。”
著名精益&敏捷转型专家—王明兰
从我们现在所处于的不确定性、异变性的时代环境着手,为大家带来分享《打造VUCA时代的敏捷型组织》
“VUCA最早来源于冷战时期,由美国哈佛商学院提出。讲的是在现在这个时代,世界越来越不确定性,越来越异变,越来越不可预测,我们已经进入到了VUCA时代,我们再也不能用原来的那种传统的、计划驱动的方式来工作,因为时代太不确定性,大家要拥抱变化。敏捷本身也是从2001年敏捷研修院起来也是在那样一个时代背景下,越来越发展壮大。如果倒回来很多年之前,敏捷不会发展壮大,因为我们还没有进入这样的时代。”