No.2502 关于架构

Nokia

某夜加班回家的路上,路过江南大道边的诺基亚大楼,左边是招银网络的办公区,右边是诺记的,思绪万千。

随笔

团队架构

最近阅读一本书,大概很多观点和我之前的认知一致,但是在方法论和细节上确实帮我打开了很多思路。

《高效能团队模式:支持软件快速交付的组织架构》

高效能团队模式

还没有读完,一些感触:

  • 组织架构和软件架构是相辅相成的,软件架构往往是组织架构的映射。 一个软件看起来像是一个大泥球的时候,往往组织架构也是一团糟。 实际情况中往往问题可能人人都知道,但是如何改进?究竟是通过组织架构的调整来解决软件的问题,还是通过软件架构的调整来解决组织的问题? 这个问题可能要看情况而定,可能和组织的现状,团队负责人的技术、管理背景息息相关,从个人本身来说,目前也没有找到一个很好的答案。 希望通过2025年一年的实操和思考,能够找到一些答案。

  • 关于流动式团队。 书中提到了一个概念,叫做流动式团队,这个概念在我看来实际操作起来可能会有很多困难。 构建流动式团队是否意味着团队成员之间的技术能力、沟通能力等等要求更高?那是否意味着团队的成本更高?并且团队的稳定性可能需要一个较长的时间来培养。 回到敏捷中的Feature Team,同样也面临着类似的问题。但是从组织和个人的角度来说,个人无疑希望在组织中能够获得成长,成为“六边型战士”, 即使未来跳槽,也能够拿到更好的offer。而从组织的角度来说,组织希望能够拥有更多的“六边型战士”,这样在应对多变环境中才能保持竞争力。

  • 关于平台团队和赋能团队。 在我以往的认知中,平台团队和赋能团队可以合一,甚至必须合一。 但目前看到,当团队规模较大的时候,平台团队和赋能团队的定位就会比较清晰。

  • 不变的是变化。 团队架构和软件架构是一样的,没有银弹。没有一层不变的架构,外部的技术变化会对软件架构带来翻天覆地的变更,同样也适用在团队架构上。 何况团队的人也是流动的,一个没有流动性的团队,就如同一个Github上几年没有Commit的项目,注定会被遗忘。

  • 组织架构是支撑,但再向下挖一层是什么?是意识形态?文化?基因?值得思考……

技术

记一次前端内容优化的尝试

背景:公司某个手册是基于HTML分发的,在慢速网络的时候,加载速度较慢。几乎到了无法接受的程度。

分析可以优化的点:

    1. 图片过大,PNG,改用WebP格式之后提升明显。
    1. 使用了Lunr.js进行全文检索,但是在页面加载的时候,会加载所有的索引,导致页面加载缓慢。改为异步加载之后,提升明显。
    1. 其他一些小细节,比如CSS和JS的压缩,几乎可以忽略不计。

然这个方案是供应商提供的,所以一些优化的落地,链路就会很漫长。

想起很多年前,大家还都是手写HTML的时候,对资源的把控几乎是必备技能。也不知从什么时候开始,前端的资源就变得越来越庞大,越来越复杂。 甚至前端里面也分前端和后端。本质上来说,软件组件化也好,分层设计也罢,核心的问题是要满足软件的需求。

“回归本质”应该是软件工程的基本素养。从本质上来说,在用户可能是慢速网络的情况下,如何保证慢速网络下的用户体验,应该作为一个需求被考虑进去,并且贯穿设计、开发和验证环节。