C02- 商业模式与架构设计
商业模式与架构设计:A段架构与B段架构
《思考软件创新设计:A段架构师思考技术》
A段架构师必须具备鲜活的创新思维,睿智的策略思考,犀利的洞察力和灵活的战术才能把握稍纵即逝的商机
目前我们所接触的大多是B段技术的架构,更关注“知己”,我们做研发改进,敏捷管理,技术重构,就是为了更好的平衡技术的成本和业务的收益
A段架构与商业模式:以不变应万变
架构师需要考虑的商业要素
决策前(A段设计)---->决策点--->决策后(B段设计)
商业思维三要素
商业模式,架构模式,创新产品
软件是现实世界的映射和抽象
现实世界是复杂多变的,所以由需求就是复杂多变的,软件也是复杂多变的,
所以现实中组织要发展就要面对变化的适合的变化,反应到软件上也会随需求的变化而变化,所以软件本质上是一个演化的系统,是一个复杂的系统
商业与技术的关系
商业维度,现实世界是复杂多变的组织需要不停的适应市场的变化,
从产品维度需要不停的创新满足客户和市场的需求,
而从技术和架构的维度来看,架构则希望更少的信息熵,用更少的技术元素来表述更多的业务结构,这也正是为什么我们追求模型,模式,结构与算法
商业和产品做加法,架构设计做减法
在复杂的现实中,用简单的抽象来支撑商业的变化,用灵活的设计支持业务的创新
《深奥的简洁》是一本科普读物,里面讲述了碎行,自我组织,自我类似等等自然界好些美妙的规律
https://zh.wikipedia.org/wiki/%E5%88%86%E5%BD%A2#%E7%A4%BA%E4%BE%8B
大树的隐喻描述商业,架构,研发技术生产管理
大树的上层是枝叶,要吸收阳光雨露,要开花结果,是对外界展示的活跃和生机的一面,这里用来表述商业模式和创新产品
这些都是要变化的部分,而且收外部影响较明显
再次是树干是中层A段架构,中层要求稳既要约束和辅助枝叶发展和繁荣又要保护下层树根承受压力
下层部分的话就是B段架构,生产,技术,管理,这些是看不见但是很重要的元素,是整个树木生命繁荣的根本
从复杂中抽象出简单,用简单和较少信息熵,应对复杂多变的商业和产品
简单的有序的产品和架构设计,通过一定的约束组合可以形成一个富有活力的系统,底层元素的简单又保证了它可以包容现实中的复杂变化,应对纷繁复杂的现实情况,支持商业的变革和产品的创新
B段架构技术和业务的矛盾:用成本收益作为衡量标准
变的是需求和技术,不变的是成本与收益评估,是要创造价值的目标
"你这个功能啥时候能上? "
"这个有难度目前不行,需要做重构,技术细节blablabla..."
"提这么多需求没几个有用的,根本不懂技术实现,你要觉的能行为啥你不上"
产品和技术的矛盾点:
1. 资源的抢占 2. 成本的评估 3.内外部目标的差异 4.内部目标设定不合理
解决问题的途径:业务知识+成本核算
技术要了解业务背景,业务收益,要解决的问题是什么?只有这样才能解决问题,做出架构设计,做出模型设计,解决业务问题,帮助客户解决现实场景的问题
优秀的架构要融和技术与业务的平衡和成本收益的评估
1. 清晰服务业务短期目标,明确技术定位,辅助实现当前阶段业务诉求
2. 协调技术资源投入和分配
3. 进行成本与收益的评估,确定做哪些,不做那些,先做那些,怎么做收益更大
4. 预留长期技术规划和储备
我们是解决昨日之债务,还是准备迎接今日之挑战?
衡量的标准就是做这件事的收益?
产品和业务做哪些收益更大:产品的愿景和价值观
本年度看做哪些收益更大(OKR)
本季度本月做哪些收益最大(月度发版路标规划)
当天本周做哪些收益最大(周计划)
旧系统的改造 OR 新技术的引进?
技术储备和技术栈规划方面:
中小型创业型公司,非技术驱动的公司
关注中长期发展的技术与趋势,不要太超前,不必做小白鼠
旧系统改造方面:
假如不能明显的产生业务价值,单纯的把报表生成把半小时优化到5分钟,不如做一些其他更有业务价值的任务
假如没有其他高附件值任务可以去做,假如报表生成占用研发时间减少了质量保证时间,影响了交付质量也可以去做
评论