技术服务于业务,在不同的业务发展阶段,技术通过不同的形式帮助业务产生价值,我们从不同的业务发展阶段考虑下对应的系统的发展过程。
第一阶段:探索阶段
这个阶段很明显的一个特点是要求快速灵活。这个阶段业务本身处于探索阶段,所以业务系统基本上有1~2个相关的核心系统即可,不需要其他的支持系统(比如数据团队系统)。船小好调头,遇到特殊需求或是业务调整,可以很快调头。
第二阶段:业务建设阶段
这个阶段看,业务已经初具规模。为了支撑越来越大的数据量,越来越多的请求。业务系统需要做到服务化拆分,整个业务架构不再是一个大的单体,而是根据领域,部门,职能做了不同的拆分。由于系统变得复杂,服务数量变得众多,调用链路变得难以摸清。所以就需要一些支撑性的系统搭建出来,如监控告警系统,数据算法系统。在系统和团队层面都变得更加立体和现代化。
第三阶段:平台化阶段
这个阶段的业务特点是发展到了一定规模,业务增长较为平缓。系统中存在多种业务规则,数据及并发规模较大。为了挖掘存量业务中的新的增长点,我们需要把基本功砸实,抽象出那些在不同规则下面变与不变的部分。对于不变的部分持续积累,不断完善,做到标准化,形成一个个的业务平台,在支持原有业务基础上为新业务赋能。对于变得部分,可以得到平台能力的快速复用,研发投入只围绕业务本身即可,加快业务交付速度。
第四阶段:云原生阶段
这一阶段已经很多底层的研发能力已经搭建完毕,形成一个个的云平台(业务云,资源云),业务研发团队完全不需要关系底层系统的资源问题,搭建的业务系统天生具有弹性,业务团队只需要关注于业务本身。由于全集团的资源统一到一个“云”内,所以可以更精准的控制资源成本。业务层面的通用能力趋于完善,可以快速复用,使得研发效率也有所提高。
总结来说,系统发展的几个阶段都是围绕于“降本增效”展开,从研发效率提升,交付周期缩短,资源使用率上升等角度都有提升。在分层角度来说,系统分层越来越明确,每一层都逐步标准化,为上层业务不断赋能。
在研发效率的提升上,可以围绕于工具化思路着手,用工具提效,研发交付流程的各种提效工具,提升研发各个环节的效率。