欢迎您来中关村智联软件服务业质量创新联盟

缪伟.png

缪伟

中兴通讯

个人简介

来自中兴通讯,终端架构总工。于2005年加盟中兴通讯,集十多年的经验,负责终端产品、平台以及下一代产品平台的建设工作,所指导的终端产品其年发货了近千万支,涉及国内国际,六大洲,几十个国家,上百个运营商地区。对嵌入式设备特性,终端平台的建设,TDD&重构、敏捷团队管理、持续交付等方面有丰富的实践经验。


演讲题目

《终端重构之旅》


议题简介

一、为什么要重构终端系统

    1.基线太多导致资源分散不足。为支持世界各地的市场,使用了太多的基线分支,资源分散投入,功能不能复用,开发维护投入苦不堪重负,但依旧不能满足需要。

    2.定制相互干涉导致质量问题层出不穷。大而全的基线,各地区市场定制干涉严重,相关问题层出不穷,市场多点投诉。

    3.原有模式平台/产品间成果难以共享。平台和产品项目隔离严重,成果、信息难以快速共享,资源不能充分利用,项目间隔阂较深。

二、终端系统重构的难点

    1.终端系统复杂难以适用普世原则。前端软件、进程类库、开源代码、内核,驱动方案,差异大,复杂性高。2.改进投入不足导致基线日益腐化。系统要求快速响应,需求差异大,没时间改进,代码坏味道日益积累,需要更多的时间改进,基线维护持续进入恶性循环。

    3.苛刻运营商+质量高要求。海量的存货市场,苛刻的运营商部署环境,而质量要求精益求精,微小问题也有能引发地区强震。

三、重构的艰辛历程

    1.坚定的分层思想

      1).分层开发思想。产品项目犹如沙石水混合体,刚开始时纯净水,随定制的增加,沙石增加而日益浑浊,首先要分层开发,降低系统复杂度。

      2).业务内聚思想。采用“业务内聚”的思想而非原有的“状态内聚”,建立运营商码包库,驱动组件库,基本功能库和系统框架。

    2.稳妥的拆解方法

      1).差异化码包接口设计。拆解中,各个功能的语言、类型均不一致,因此采用各类差异化方法,解决前端、C语言类库、开源共存、驱动组件等问题。

      2).版本管理解决质量影响。同时也需要考虑到,各项目Release和Develop的衔接,根据码包版本选择,既满足当前产品,又符合后续重构的需要。

    3.深入的重构思路

      1)接口TDD,学习型FT保障质量。拆解的模块,则根据需要按需进行重构,同时通过TDD解决接口稳定性的问题(同时介绍学习型FT解决现有系统应用TDD的难题)。

      2)多个大而全转变为多个小而精的组件解决人力问题。抛弃“大而全”的思想,建立小而精功能组件,将分散维护模块,调整为集中统一管理的组件,解决人员投入不足的问题。

    4.执着的共享共建模式

      1)求同存异整合各项目。同时为了将各个项目整合到一起,采用求同存异的思想,将多个差异性项目整合在一起,在实现利益最大化的同时,避免相互间的影响。

      2)组件维护根据需要,或合一建设,或分-合-分建设。实现持续优化。

四、重构后的效果

    1)整个过程是从运营商定制层、基本功能层,驱动组件层,框架逐步进行的,完成后,人员投入情况:X项目投入持续下降,30%以上。

    2)质量情况:定制相互干涉的故障,X项目下降90%。

    3)基线持续改进情况:X项目模块变化曲线,由直线向上转变为良性循环曲线。

    4)产品应用平台的功能,由3个月转变为小于3天。




中关村智联软件服务业质量创新联盟

参会及赞助咨询:

邮箱:haobw@iterbao.net

电话:13681206054(郝先生)

嘉宾咨询 :

邮箱:shenm@spichina.org.cn

电话:13718519956(沈女士)