“程”风破浪的开发者 | 基建及团队建设的方法论
本文是根据我过往的经验总结出来的,一家之言,觉得有用请支持一下,还请多多包涵😊
制定规范、规矩
似乎总是从新人对接开始说事,这事整的,好像每个公司人员流动性都很大,带来的问题也已经从侧面说明了。团队总是具有不稳定性,团队要继续高速前行势必需要早做准备,需要做一些不依赖人员的东西、跟团队业务发展相关的东西,这也仅仅是制定规范的好处之一,更多的还是为了更好、更舒服的工作。
新人培训:了解组织架构、业务划分、团队情况,职责定位、开发测试规范
老带新:不能让新人跟老人没有交集,优秀的东西需要传承
新人三知:始、中、终。新人和老人都需要具备一定的主动性,主动问、主动告知。了解某一事情的开始、发展、和结果。具体表现为:事件背景、事件发展阶段、各阶段预期结果以及最终预期结果。
规范的延续
也就是规范的载体
如同文化的传参有典籍、实物和活态三种渠道一样,规范传参可以简单概括为两种方式:“物承”和“口承”。
工作中“口对口”传达需求的情况比比皆是,对于“口授”者相当方便,承接者就遭殃了。
口头传达缺点:
容易遗漏
表意不当
双方理解偏差
不易留痕
极易变更,会导致相关人员工作混乱
相比而言,有实物的输入输出就会带来更舒服的工作体验,各方面工作可以有条不紊的推进,准点下班不是梦(WLB)
实物也就是文档,包括:业需、软需,还有前后端、UI 以及测试人员的文档
UI:
交互原型(低保真原型)
高保真原型
前端:
前端开发详细设计文档
后端
UML 图
数据库表设计文档
后端开发详细设计文档
后端接口规范文档(BFF 前后端协商)
测试
功能点拆分文档
编写测试用例文档
测试报告
以上是前后端测试人员需要产出的不完全文档,还包括各阶段产出文档的评审、多方同步、会议纪要、评审报告等等
具体实施阶段还包括各方排期、进度跟踪反馈、问题上报、变更调整、版本窗口期等等
软件开发方式:
瀑布模型
迭代式开发
螺旋开发
敏捷开发模式
DevOps 模式
真实的工作中基本不存在单一的软件开发模式,更多的是“混合”开发模式,这里“混合”的意思是混合多种开发模式
在产品生命周期的各个阶段有哪些人员需要介入、同步进行、依赖输入和最终产出等等,是需要方法论指导的,而不是乱打一气。
规范文档的好处:
有记录
有产出
有计划
可回溯
可量化
易交接
易把控
好处多多✨✨
文档存放
Confluence
飞书云文档
......
项目框架模板
前端细分领域很多,对于公司而言,新产品的快速落地至关重要,对技术人员来说就需要准备一套前后端产品开发框架
小程序
Web 端
H5 端
移动端原生
微前端
SSR
Node
大屏、可视化
......
不同产品的技术框架可以自研,也可以在 GitHub 上寻找模板二次开发之后用作自己的框架模板
总之,就是为了可以快速的开发业务功能,而不用花太多时间在基础框架开发上面(正常来说这属于架构组的工作,对于这个职位的划分,存在肯定是有一定的道理的,毕竟每家公司情况都不太一样。我有自己的看法,不展开说了,技术是服务于业务的)
公共库
前端 UI 组件
前后端中间件
前后端依赖插件
网络安全验证插件(组件签名)
.......
开发
基础框架搭建:
面向对象封装
业务框架自上而下、自下而上组件设计
可扩展、可维护、可配置化架构
打包分析优化
错误补偿、捕获机制
......
规范:
设计大于开发(设计模式)
Hooks
函数式编程
Utils
Lint 代码检测
commit-msg 规范
css BEM 命名规范
组件化
更多参考业内顶流开源项目编码方式
前后端配合开发
......
性能优化
很多人都讲性能优化,优化的角度比较混乱,基本上是想起什么了才开始弄,基本可以从加载时、运行时两方面分析优化。
维度这个东西直接影响着方向,有一个好的划分维度既不会遗漏,也很有条例,可见维度至关重要
performance 真是个好东西,包涵重定向、DNS 解析到页面加载完成、卸载各阶段的市场统计,逐个分析优化,优化效果时长也立即可以看到,工作成果报告也很直观。我推荐从 performance 入手分析优化,具体指标不展开说了。
DevOps
持续构建(CI)、持续集成(CD)
gitlab\github\gitee\coding...
Jenkins
Nginx
Sonar
Docker
JForg\Docker hub(镜像仓库、制品库)
容器云平台(集群部署)
Service Mesh(微服务)
制品晋级
自动化部署
灰度发布、蓝绿部署
技术型公司
自研 ui 库
自研产品架构(小程序)
Web3
DevOps
各平台插件开发
云原生
音视频
3D 建模
游戏引擎
元宇宙
物联网
10G
黑科技......
网络通信相关
业务区
渠道区
开发网
办公网
网关
软硬负载
网络策略
测试、生产环境
SIT
UAT8
UAT6
安全测试
性能测试
同城
灾备
异地(终极方案:异地多中心,烧钱烧的厉害!)
基础应用服务平台建设
文件传输平台
影响平台
统一身份认证平台、SSO(向上分层)
API 治理平台
ServiceMesh 平台
报表平台
日志平台
消峰平台
分布式缓存、消息队列
消息中心
加密平台
......
团队建设
定期组织分享学习
建设团队号、技术推广(打造影响力,也让分享人员获得荣誉感、成就感)
评比、奖品激励
工作之余一块搞事情(开发、团建)
和谐,包容,相互学习
还有
数据埋点统计、异常监控、低代码(个人不看好低代码,架构做的好要什么低代码,低代码跟PaaS
结合起来,开放给用户,让用户去创造价值,赋能企业数字化)
最后
发现写着写着变成技术条线建设了,很难拆分开,果然基建、团队、公司建设是分不开的。
什么是真正有价值的东西?我不知道,任何行业要想称为高级玩家,就必须摸清本质,慢慢捋顺。
“互联网公司”只是互联网技术时代过渡性的叫法,以后所有公司都会被互联网技术加持。互联网的核心价值在于跨时间、跨地域、跨平台、跨终端的资源的高效、合理、共享分配,听起来真是一个让人向往的地方。
我是 甜点cc
热爱前端,也喜欢专研各种跟本职工作关系不大的技术,技术、产品兴趣广泛且浓厚,等待着一个创业机会。本号主要致力于分享个人经验总结,希望可以给一小部分人一些微小帮助。
希望能和大家一起努力营造一个良好的学习氛围,为了个人和家庭、为了我国的互联网物联网技术、数字化转型、数字经济发展做一点点贡献。数风流人物还看中国、看今朝、看你我。
版权声明: 本文为 InfoQ 作者【甜点cc】的原创文章。
原文链接:【http://xie.infoq.cn/article/39be41c7c13378eb69c687175】。文章转载请联系作者。
评论