【郭东白架构课 模块二:创造价值】30|节点六:如何保障高质量的阶段性交付?

这篇具有很好参考价值的文章主要介绍了【郭东白架构课 模块二:创造价值】30|节点六:如何保障高质量的阶段性交付?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

你好,我是郭东白。从这节课开始,我们就进入到架构活动的第六个环节——阶段性价值交付。

对于企业来说,这是成本花费最多的节点了,因为大量的研发人力资源开始投入到架构活动中去。

有的架构师认为,到了这个节点,自己似乎已经完成了主要任务。接下来,就主要靠项目经理深度介入到每个团队的交付过程中,来保障任务的完成了。有的架构师甚至认为从这个节点起,就要将自己的角色转换为项目经理。

从架构师的角度看,我们在这个节点所要起的最大作用并不是像项目经理一样去推动执行方,而是对用户价值点的提纯。

架构活动不仅庞大,任务也错综复杂。不过它也符合二八原则,即:最具商业价值的占比基本不会超过 20%。而我们架构师的目标就是找到那些 20% 左右的高价值用户点,确保这部分的交付万无一失。

那么这节课,我们就来聊聊怎么保障这些高价值用户点的交付。

为什么要做阶段性的价值交付?

一般大型的架构活动都会有项目经理的参与,这个角色的工作就是将项目分割成几个更小、更容易跟踪和管理的交付模块,以降低团队之间的耦合,最大化项目成功的概率。

项目经理经常会采用分时间段交付的方法来降低交付的风险。也就是从时间角度出发,将一个大项目切割成几个交付阶段。从架构师的角度看,这种交付方式其实忽略了交付内容的价值差异。说得不好听一点,是不知道架构目标和规划细节的人才会采用的交付方式。

作为架构师,我们对整个架构活动的目标、商业价值、用户价值了然于胸,清晰地知道用户价值点。所以我们不能采用这种外行的交付方式。或者说, 哪怕决策者已经跟项目经理商量好了,决定采用分时间段的交付方式,那我们架构师的注意力也要放在高用户价值点的任务交付上。

这里我要借用敏捷开发中的一个概念——最小可行产品(Minimal Viable Product,MVP)。不过我要稍稍做一些更改,将这个概念称为最小价值单元(Minimal Value Proposition Unit),指的是从架构活动中分离出最小的、有增量价值的交付单元。

最小可行产品并不是一个独立的产品,只是一个交付单元。它具备如下三个性质:

  • 独立性:从用户视角看,这个单元可以被单独识别。

  • 结论的完整性:从阶段性交付的商业价值的角度看,我们从这个单元得出的结论是完整的。比如这么做的价值足够大吗?对于这个问题,我们得到的答案必须为“是”或“否”,而不能是“很难说”这种模棱两可或欲言又止的回答。

  • 可度量性:这个单元为目标用户创造的价值可以被数字化、被度量。对于“最小价值单元是不是达到了预期目标”这个问题,我们得到的回答应该是精确的,而不能是定性的。

这个定义,跟我们刚才讲的项目交付里程碑的定义是有差异的。在大的项目中,最常见的交付阶段是由项目经理推动、按项目时间平均切割的。比如把为期三个月的项目,切割成三个为期一个月的阶段性交付目标。这样的交付方式虽然可以最小化集成风险,但交付的意义其实是完全拼凑出来的。

而每个团队内部,可能有不少由 Jira 等工具来推进的功能交付,但这些功能并不具备独立性。所以我们的阶段性价值交付,强调的是单元的独立性和结论的完整性,也就是交付了一个最小价值单元(MVPU)。

互联网时代,不能追求延迟满足。如果有多个最小价值单元,就要从预期价值最大的那个单元开始交付。

当然,这里肯定会有一些细节上的问题。如果说项目足够大,有专门的项目经理在负责交付,那么他的所有排期目标很可能是将团队聚拢起来,在一个大会议室里做项目攻坚,时间到了再把人释放出去。这个时候,你跟项目经理很可能就会起冲突。毕竟军队只有一个,他相信阵地战,你崇尚运动战。岂不是要乱套?

一个公司崇尚什么,往往不是你跟项目经理说了算的。我认为互联网时代就是要靠运动战,所以我建议我们架构师去追求最小交付单元。但是从组织、团队协调、资源配给等角度来说,阵地战可能是大公司最常见的模式。

在这种情况下,我们的价值就是为架构活动注入正确的交付视角,以架构师的身份去验收最小交付单元。从这个视角出发,有时候会给你意想不到的惊喜。你会发现,之前认为要等到项目结束之后才能拿到的结论,现在提前很多时间就能拿到。我们已经强调无数次了,时间是最宝贵的资源。

事实上,最小价值单元交付也是被很多团队主管和架构师频繁忽略的地方。不信的话,可以随便问问公司里某个大项目的架构师:“项目进行一多半了,我们拿到了什么完整的价值点吗?”他肯定是一脸懵逼:“不是还没做完吗?”

现在请你回顾一下法则四里讲的性能优化的例子。我跟团队最初就是把项目切割成了最小的价值交付单元,不过在这个基础之上,我们又逐渐找到了更多和更大的价值交付单元。而在这个过程中,项目本身也在逐渐演变,不仅技术更成熟,应用领域也更为广泛了。

架构师的核心关注点是什么?

我们之前就提到过,互联网时代,企业的很多尝试都是有很大风险的,多数架构活动都是以失败收场。而阶段性价值交付的目的,就是让决策者及早看架构活动的真实价值。此外,这么做的意义还在于,确保我们架构师把注意力放在交付的增值上,而不是交付功能或者交付代码上。

怎么做呢?在价值单元交付的过程中,要在保障结论有效性的前提下,尽早把一个完整的功能发布给目标用户,同时向他们及时收集反馈。我们的目标是把问题尽早提给市场,让市场给我们指点迷津,而不是凭空猜测。

收集反馈主要有两个目的。一是帮助团队将目标锁定在正确的目标上,避免偏离;二是验证预期增值是否满足期望。

依据这些反馈,我们可以对架构目标、架构设计方案、任务边界和交付节奏做出调整。而每一次反馈,我们也都能得到更好的数据,以更准确地估算项目的 ROI,甚至找到新的增值空间。

这个过程的王道是忠于架构目标,尊重市场反馈,以最大化企业 ROI 的原则,选择正确的交付路径。

进入阶段性交付前的准备工作

明确了为什么要做阶段性的价值交付,以及架构师在这个过程中的核心关注点,接下来我们就可以进入准备工作了,主要有如下三个方面。

  • 阶段性 MVPU:从目标用户的视角看,最小可用的价值单元是什么?用户是如何感知到这个功能的价值的?

  • 阶段性目标:用什么量化指标来度量这个功能的价值?如何通过 A/B 测试来验证这部分的价值?要知道,做拆分的主要目的就是尽早拿到一个结论性的量化评估。

  • 最短路径:在不破坏项目结构的前提下,交付 MVPU 的强依赖是什么?这是我们架构师必须给出的答案。当然,强依赖可能包括一些非技术的依赖,比如招募参与前期实验的商家、营销费用和培训内部运营人员等。

在准备工作的过程中,你肯定还会发现一系列的挑战,主要有如下四个方面。

第一,项目的原子性。有些人非常反对对架构活动做拆分。一方面认为项目是一个整体,只有项目完全交付之后,项目的价值才能体现出来。另一方面,则是担心将价值较大的项目拆分后,剩下那些价值较小的项目就可能烂尾。

对于前者,这种担心在我个人看来并不成立。我很少见到一个完全不可拆分的项目。哪怕是合并部署这样的项目,也可以先合并部署最大、最相关的两个应用,看看真实效果和难度。

对于后者,这种考量的确成立。有些价值不够高的项目永远没人管,比较常见的就是网关。人人都需要,但是放在自己的团队中,怎么做都不划算。哪怕是专职的网关团队,也并不想支持,因为网关是最难量化到商业增值的。

对于这种情况,我建议专门起一个项目来做网关改造,而不是把网关项目附着在另外一个大的项目上。

第二,项目的最小化浪费。很多架构师认为拆分会浪费测试和联调资源。的确,拆分之后,联调和上线成本会增加不少。但这是一个基于总成本的决策问题。

如果说整个项目大概率会失败,那么拆分其实是明智的选择,至少可以避免更大的浪费,或者挽救一些有价值的子项目。我们做 MVPU 拆分,想解决的主要问题就是减少缺乏提前验证而导致的浪费,而不是减少提前验证带来的浪费。

第三,项目的大规模验证。有一种说法是“没有规模化部署之前,得出来的结论不靠谱。哪怕提前验证,得出的结论也是错误的”。这种说法在某些大数据和氛围烘托的场景下的确有一定的道理,比如双十一大促和春晚红包。

不过在工程领域,哪怕是双十一这种有数万人日投入的活动,其实也可以拆分成子项目,然后做提前验证。有些验证需要看规模效应,那么就可以放在小一点的大促中做验证,比如 618 大促。

越是大规模投入的场景,越是要对底层逻辑做验证。有很多非常失败的玩法,完全可以通过小规模验证来避免。而且多数时候,产品逻辑、营销效果、人群行为的验证,都可以拆分开,并不是每个子项目都要在全量数据之下才能验证的。

第四,项目的探索空间。项目本身是高风险的,太早验证,得到的负面结论会让赞助者丧失信心,项目很容易被取消。

这个担心的确有根据,尤其是在大公司里。但是我觉得这是架构师与赞助者期望设定的问题。架构师的命运是与公司深度绑定的,而不是绑定在项目上。我们跟赞助者都是在一个高风险的赛道上寻求长期回报,所以都应该做好失败的准备。做互联网很少有江郎才尽的时候,重要的是尽早发现自己的弱点,并快速迭代招数。

那么下节课,我们就来讲讲在这个节点上架构师该如何行王道,以最大化 ROI 的方式拆分架构活动。

小结

这节课我们提出了阶段性价值交付的概念,并强调了架构师要持续关注和创造商业价值。如果留心的话,会发现这是我们在法则四已经拆解过的一个话题,所以这节课其实是对这个法则的具体应用。

在阶段性价值交付这个节点上,还隐藏着一个职业成功者所必需的思考习惯:时刻做取舍。在架构活动中,最具用户价值和最具商业价值的部分,就是我们这节课提到的最小价值交付单元。这才是你这个架构师的核心注意力所在。其他的事情虽然重要,但算不上核心。

这也是为什么有些人能把事做成,持续“拿结果”。因为他们找到了最需要投入自己全部精力的 MVPU。最终,项目可能并没有完全成功,但他们保障了最具商业价值或最具用户价值的单元能够被成功交付。

我观察那些职业非常成功的人,往往都是在更值得关注的事情上,做出了独到且高回报的决策。反过来,许多职业上不太成功的人,一个显而易见的共性就是相信“勤能补拙”,靠大量不分重点的高强度投入,试图补救决策上的短板。

我的观察是:对于一个架构师来说,正确决策比持续努力更重要。

思考题

这次的思考题只有一个。希望你可以花点时间,认真思考一下这个问题。如果有必要的话,你也可以思考一两天,然后再来留言区写下你的回答。我认为这很有可能帮助你复盘自己的职业历程。

请回顾你的职业生涯,你有没有因为找错重点而错失了什么重大机会?如果你作出什么样的改变,可以让你拿到这个机会呢?文章来源地址https://www.toymoban.com/news/detail-487427.html

到了这里,关于【郭东白架构课 模块二:创造价值】30|节点六:如何保障高质量的阶段性交付?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 对话CSDN副总裁-邹欣:先行动的才是赢家,践行长期主义的价值创造者终将收获价值 | COC上海城市开发者社区

    对话CSDN副总裁-邹欣:先行动的才是赢家,践行长期主义的价值创造者终将收获价值 | COC上海城市开发者社区

    这次的活动沾了 “邹欣老师” 的光,借机拉上了 “上海城市开发者社区” 的部分成员参加了邹老师的线下 “圆桌会议” 。在欢乐、轻松、和谐的气氛中,邹老师为我们讲述了 “技术人如何应对35岁中年危机” 以及 “技术人应该如何创造价值并收获价值” ,骨灰级程序员

    2024年02月11日
    浏览(10)
  • 从单体架构向微服务迁移:模块化单体是如何帮助的

    从单体架构向微服务迁移:模块化单体是如何帮助的

    你开始构建一个漂亮的单体系统。也许是一个模块化的单体系统。 随着时间的推移,系统不断增长,需求也在不断变化。渐渐地,系统开始出现裂痕。 这可能是出于组织原因,需要在团队之间分配工作。也可能是由于扩展性问题和性能瓶颈。 你开始评估可能的解决方案,以

    2024年01月16日
    浏览(11)
  • 视频SDK的技术架构优势和价值

    视频SDK的技术架构优势和价值

    为了满足企业对于高质量视频的需求,美摄科技推出了一款强大的视频SDK(软件开发工具包),旨在帮助企业轻松实现高效、稳定的视频功能,提升用户体验,增强企业竞争力。 一、美摄视频SDK的技术实现方式 美摄视频SDK采用了先进的技术架构,具备以下特点: 跨平台支持

    2024年01月17日
    浏览(7)
  • 架构师在统一语义中的价值

    对于架构规划而言,统一语义的终极目标只有一个:项目所有参与方的需求能够被无损地表达、记录和传递,然后通过架构活动实现出来。 这一点对于架构师来说尤其重要,因为你在整个架构活动是跨越多个角色而存在的。这个角色的全局性,意味着你需要看到不同角色之间

    2024年02月04日
    浏览(8)
  • 阳光能源,创造永远:光模块的未来”:随着大数据、区块链、云计算和5G的发展,光模块成为满足不断增长的数据流量需求的关键技术

    阳光能源,创造永远:光模块的未来”:随着大数据、区块链、云计算和5G的发展,光模块成为满足不断增长的数据流量需求的关键技术

    光模块的类型介绍: 为了适应不同的应用需求,不同参数和功能的光模块应运而生。光模块的分类方式及类型详见如下: 🔎封装形式🔍: 📣📢光模块按照封装形式来分有以下几种常见类型:SFP、SFP+、SFP28、QSFP+、QSFP28以及QSFP-DD。 📣📢SFP光模块是GBIC的升级版,最高速率

    2024年04月29日
    浏览(16)
  • 30 Python的matplotlib模块

    30 Python的matplotlib模块

    概述         在上一节,我们介绍了Python的pandas模块,包括:Series、DataFrame、数据读取和写入等内容。在这一节,我们将介绍Python的matplotlib模块。matplotlib模块是一个Python的2D绘图库,可以实现各种类型的图形绘制,包括:线图、柱状图、饼图、散点图等。matplotlib支持各种

    2024年02月08日
    浏览(9)
  • 【无功优化】基于改进遗传算法的电力系统无功优化研究【IEEE30节点】(Matlab代码实现)

    【无功优化】基于改进遗传算法的电力系统无功优化研究【IEEE30节点】(Matlab代码实现)

      💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 1.1 入门介绍 1.2 无功功率与电压的关系 1.3 无功功率与

    2023年04月09日
    浏览(233)
  • 系统架构30 - 质量属性

    软件系统属性包括功能属性和质量属性,软件架构重点关注的是质量属性。架构的基本需求是在满足功能属性的前提下,关注软件系统质量属性。为了精确、定量地表达系统的质量属性,通常会采用质量属性场景的方式进行描述。 软件系统的质量就是“软件系统与明确地和隐

    2024年03月09日
    浏览(6)
  • k8s学习(三十六)centos下离线部署kubernetes1.30(单主节点)

    k8s学习(三十六)centos下离线部署kubernetes1.30(单主节点)

    主机ip 用途 192.168.115.120 K8s-normal-master 192.168.115.121 K8s-normal-node01 每台机器都执行 查看内核: 查看操作系统: 下载地址:https://elrepo.org/linux/kernel/el7/x86_64/RPMS/ 上传下载的内核安装包,执行命令: 执行命令: 修改/etc/default/grub GRUB_DEFAULT=saved 改为 GRUB_DEFAULT=0,保存退出 重新加

    2024年04月27日
    浏览(17)
  • 企业架构LNMP学习笔记30

    企业架构LNMP学习笔记30

    1、upstream 中server的:语法: upstream中的分发之后的几个: 1)backup 备 其他的没有backup标识的都不可用了,才分发到backup; 2)down 此条配置,不会被分发到。 systemctl restart nginx 可以看到,server03能一直能正常使用,所以就不会再转发给server01。所以web页面一直显

    2024年02月09日
    浏览(8)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包