高效的技术团队-业务熟悉

前言

如果是编程是一场战争的话,那么业务熟悉就是战略,经历过中软国际三年Eclipse插件的开发,到后来去哪儿网、订单审核系统、Ebooking商户系统的业务开发和架构之后来到途家承接起技术的转型任务,.net到java技术的转型。担任系统架构师的职位,后续转型到供应链系统的技术总监。对系统的细节注意点和整个系统架构注意点有一些自己的认识。往后每天更新一篇技能也好,见解也好,希望大家喜欢,转到今天的主题《业务熟悉》,去哪儿、途家、都是旅游电商,如果是电商系统就离不开人、货、场,我们需要找到相应的供应商提供一个有趣、智能、个性化的场地展示给用户,完成交易的促成。这个是主流的业务流程,当然里面会有很多复杂的场景,那么我们程序员如何快速的熟悉业务,就需要从主流程出发。

业务流程

如果碰到还有一定文档留下来的研发团队那就是太好了,有业务架构图,这样子就会更加清晰。当然如果是陈年老系统就别指望了,那我们第一步就是使用系统。从测试环境中首先让自己扮演各种角色。 商户:商户从注册门店、提交房屋、接受新订单、入住、离店、结算、参加活动。 用户:用户从注册账号、领取红包、下单、支付、入住、离店各个环节需要使用的系统和能够收到信息。 房屋运营:门店审核、房屋审核、资质审核。
BD人员:联系商户、协助商户上房、维护和拜访商户。
客服人员:接受用户、商户咨询、处理工单。
结算人员人员:处理打款、核对结算账单。
这几个是OTA电商平台核心参入的角色。只有知道其中每一个人在做什么?怎么做?对业务才能清晰。拿如果换成其他公司的系统呢?我们如何去定位角色,如外卖我们可以依然可以从:商户、用户、骑手、商户运营、BD、客服等角色去入手熟悉。只有知道期间的参与者,才知道哪些地方可以进行系统优化,提高人效。做研发也得有业务的大局观,才能清晰系统的最终走向和工作内容的价值。

数据流转

业务流程熟悉之后产品经理到这一步就可以干活。可以做很多的流程优化和简化,但是好的产品经理也会继续往下走不能只满足流程的熟悉。清晰的指导数据的底层结构和流转对流程的优化更有帮助。但对于程序员这一步是必须的。不清楚数据流转是很多基础研发的通病,很多bug就是来源于此。如果进行数据流转的熟悉,开始我们进行了角色的扮演,这个时候其实就可以输出一些业务模型。门店、用户、房屋、订单…等等数据模型。这些模型都是需要持久化的。那么久需要清除的指导每一个持久化模型的数据库和表结构。还可以从业务流程图中找出每一流程产生的数据的存储位置。找出数据实体从A到B的过程。例如:商户上房、房屋开始进入的是草稿表、草稿完成以后会进去到快照表、快照通过审核会流转到最终的交易展示表。这个简单的数据流转。实际系统中会更加复杂,但是只有清晰这些复杂的过程。才能去优化系统架构。

核心代码

如果说前面两个步骤是产品和QA的也需要熟悉,那么这一步就是程序员多出来的必备的一步。不光要知道业务流程、数据流转、还需要对核心代码逻辑的进行熟悉。这块做为程序员需要怎么做呢?最简单直接的方式就是打开我们的chrome浏览器F12,查看代码房屋的接口,这些就需要知道nginx的配置。如果自己有权限看到最好,没有建议找运维或者QA导出一份。直接定位到对应的web服务。找到controller层这个时候,就知道了核心流程的入口。入口知道后就阅读源码,这个才是关键路径。这一步是必须经历的,需要知道哪些地方用了多线程、缓存(本地缓存、集群redis换)、消息队列、http调用、dubbo调用、操作的数据库、还是操作的NoSql(MongoDB、ElasticSearch、solr)确认好核心流程代码和系统之间的调用。就知道哪些是可以优化的点。容易出问题的点。这个时候需要输出时序图,确认系统之间的调用关系。

总结

产品经理、测试工程师能熟悉前面两步,一定能再产品流程上、上线代码质量上有很好的保障。研发工程师一定要顺序完成以上三个步骤。周期不要拖太长。但是每一步都不能遗漏。也不要去随意打乱顺序。能为后来的业务设计和架构提高很好的帮助。在代码质量和问题排查上有很好的帮助。

你可能感兴趣的:(高效的技术团队-业务熟悉)