首先要明确一点,业务是一切的原点,也是一切的基础,特别是互联网行业,没有业务场景的技术方案是没有太多意义的,所以我们应该多关注业务,特别是业务架构,好的业务架构师完全可以承担产品经理的职责。
那业务架构究竟如何做,这里列一些自己感悟和方法论。
1、先想后做
岗位细分,专业细分,不同层级,不同部门话传话,基本上到真正开发工程师已经没有业务本质的味道,开发工程师只是个coding,说难听点就是个码农,只是工资高点的码农,实际的这种状况又是很难改变的,那么怎么破解这种难题呢,聪明的人一定会先想后做,把获取到信息都梳理一遍,抓住业务规律,业务本质,和开发团队,产品经理,一线非开发(包括但不限于客服,运营,市场,电销或者直销人员,但一般很难和大老板沟通哈,老板一般都太忙吧)沟通,double check, 特别要了解业务可能未来的趋势,当然如果很难和那么多人交流,自己也可以作为直接用户角度或者采访下旁边一些直接用户的感受,毕竟互联网的产品是给人用的,不是闭门造车造出来的。这是个前提,把需求一定要梳理清楚,这个非常重要,很多一些开发工程都不会做这件事情,总是把自己局限在一个只会coding的角色,也许是最舒服的位置吧,但长此以往,自己的思考视野也会很局限,脱离了实际业务,最终不会在技术上有太深的造诣,那么我们如何想呢?首先要知道我们做的领域是什么,我们的solo是什么, 比如所有电商企业都是个卖货平台,那么电商最本质就是买与卖,电商 = 互联网+买卖, 所以我觉得电商的本质就是 效率 + 买卖, 谁做到这点,才会真正的生存下来,再比如社交,人类是个群居的动物,社交本质是什么?聊天? 消磨时间?现在所有的社交还没达到社交本质,社交是拉近每个人距离,满足人类倾诉,心理需要的一种精神活动,而现在很多社交已经偏离这个轨道,也许到一定时机后,社交还会有变革性产品问世,因为现有的社交产品偏离了社交本质,没有让产品真正达到他的痛点,现在社交产品顶多代替了 电话 + 书信 + 明信片。
先想后做,没有坏处,想清楚了,想明白了,让后面不需要返工,一定要认识到这点
2、多画少做
嗯,我想了些,那我不能总是停留在想的阶段,在脑海里,也许开发的时候真的不是一个人在搞呀,是个团队,也不是你一次性的工作,是和未来的你一起开发呀,所以做些业务建模,建议通过 时序图 用例图 类图 来做好业务建模
3、抽丝剥茧
业务是复杂的,也是简单的,看你是否把复杂问题简单化,简单问题系统化
还是遵循最基本的设计原则 高内聚 低耦合 找到边界 细分模块,领域设计
只要以上工作做的够细致,够真诚,再复杂的系统都可以搞定!!!