ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

《构建之法》| 第五章团队和流程:11种团队模式你属于哪一种,开源浪潮改变了什么

《构建之法》| 第五章团队和流程:11种团队模式你属于哪一种,开源浪潮改变了什么 本文适合刚带团队不知道该用什么模式的新晋Leader、在瀑布还是敏捷之间纠结的项目负责人、想理解开源协作模式的开发者。你将收获团队vs非团队的判断标准、11种软件团队模式速查表、6种开发流程对比、开源浪潮对传统团队模式的冲击。写在前面第四章讲两个人的合作第五章自然扩展到团队。两个人合作好不代表团队能运转。团队是多人的协作复杂度呈指数级上升。这一章的核心问题是两个团队有哪些模式开发有哪些流程看起来像列举题但读完发现每种模式和流程都对应一类真实场景你总能在里面找到自己团队的影子。第四版还新增了5.4 开源浪潮中的团队和流程讨论开源社区对传统团队模式的冲击这是前三版没有的。01 | 非团队和团队一群人 ≠ 一个团队书中给团队的判断标准只有两条1. 有一致的集体目标团队要一起完成这个目标2. 成员有各自的分工互相依赖合作共同完成任务两条都满足才是团队。只满足第一条不满足第二条那叫一窝蜂两条都不满足那只是一群人。我的实战感悟这个定义看似简单但我见过太多假团队——名义上一个组实际各干各的。比如之前的项目组前端、后端、测试各做各的没有统一目标没有分工协作出了问题互相甩锅。这不是团队这是三个人在同一个办公室各自上班。真正的团队不是坐在一起就行而是目标一致、分工依赖、彼此负责。一句话提炼团队的本质不是一群人坐在一起而是一群人奔向同一个目标且彼此缺一不可。02 | 软件团队的11种模式书中列举了11种团队模式我按适用场景做了分类2.1 常见模式速查表模式特点适用场景我的观察蜂窝模式一窝蜂上没有明确分工临时小项目存活时间短迟早要演化主治医师模式一个主刀其余人辅助有核心技术骨干的团队最常见但容易退化成一人干活其余打酱油明星模式主治医师模式的极致版明星光芒盖过其他人总和天才驱动的项目风险极高——明星走了项目就垮社区模式志愿者参与各做感兴趣的模块不拿报酬开源项目Linux内核就是典型业余剧团模式成员有热情但不专业临时凑班子学生项目、黑客松热情消退就解散秘密团队项目保密团队对外不可见商业机密项目、新产品孵化苹果的很多产品团队就是特工团队精锐小队独立行动解决特定问题紧急攻坚、技术预研我经历的突击阶段就是这种交响乐团模式严格分工按乐谱执行高度计划大规模成熟产品适合流水线式开发灵活性差爵士乐模式有框架但即兴发挥互相响应创新型团队比交响乐灵活但需要高手功能团队模式不同能力的人平等协作完成一个功能现代软件团队最接近我实际工作的模式官僚模式按层级和流程办事流程本身成了目标大型传统企业最该避免的模式——流程比结果重要2.2 哪些模式容易退化书中暗示了一个规律很多模式在实践中会退化。主治医师模式退化为一人干活其余打酱油功能团队退化为官僚模式蜂窝模式要么进化为更高级模式要么消亡。我的实战感悟我所在的驻场团队最初是主治医师模式——一个技术骨干带几个开发。后来骨干离职团队一度退化为蜂窝模式。再后来重组建立了明确的分工和协作机制逐步进化为功能团队模式。团队模式不是一成不变的它会随着人员变化、项目阶段、组织调整而演化。关键是能识别当前处于什么模式以及该往哪个方向进化。一句话提炼没有最好的团队模式只有最适合当前阶段的模式。但无论哪种模式官僚模式都是终点站——流程比结果重要的时候团队就死了。03 | 开发流程从写了再改到渐进交付书中列举了6种开发流程流程核心思想优点缺点适用场景写了再改先写再说不行就改启动快无门槛质量不可控越改越乱原型验证、小工具瀑布模式重计划、重设计、重文档按阶段推进流程清晰文档完整灵活性差变更代价高需求稳定的大项目瀑布变形生鱼片/大小瀑布在瀑布框架内引入阶段性迭代比纯瀑布灵活一些本质还是瀑布中等规模项目RUP统一流程用例驱动、以架构为中心、迭代增量理论完善重量级学习成本高大型企业级项目老板驱动老板说做什么就做什么决策快老板不一定懂技术小公司常见……但不推荐渐进交付分阶段交付可用功能持续迭代快速反馈风险可控需要良好的版本管理现代软件开发主流我的实战感悟我们团队早期的流程就是写了再改——需求来了直接写写完上线出了问题再改。后来规模大了引入了瀑布模式开始写设计文档、评审方案。但瀑布太重一个需求从设计到上线要走两周流程客户等不了。最后逐步过渡到渐进交付——每两周交付一个可用版本客户能看到进展我们也能及时调整。流程不是越重越好也不是越轻越好而是要匹配项目规模和变更频率。一句话提炼流程的本质是在效率和可控性之间找平衡。轻流程跑得快但容易翻车重流程走得稳但可能错过窗口期。04 | 开源浪潮中的团队和流程第四版新增这是第四版新增的内容讨论开源社区对传统团队和流程的冲击。4.1 开源社区打破了什么传统软件团队的边界是清晰的——公司雇人组成团队分配任务发工资。但开源社区打破了这套逻辑· 没有雇佣关系贡献者是志愿者不是员工· 没有强制分工每个人选自己感兴趣的模块贡献· 没有固定流程没有瀑布、没有RUP靠社区共识和代码审查运转· 没有统一办公地点分布在全球各地异步协作但开源项目依然能产出高质量软件Linux、Kubernetes、VS Code……这说明传统的团队流程模式不是唯一答案。4.2 开源模式教会我们什么书中虽然没有否定传统模式但暗示了几个值得学习的点· 代码审查是核心开源项目没有强制流程但有严格的代码审查机制——合并代码前必须经过多人审查。这印证了第四章代码复审的重要性· 文档即流程开源项目的CONTRIBUTING.md、Issue模板、PR规范就是流程只不过比瀑布轻得多· 社区共识替代行政命令不用老板发话靠技术说服和社区投票· 透明的协作记录所有讨论、决策、代码变更都公开可查我的思考做交付项目这几年我越来越感受到开源模式的影响力。我们团队内部虽然不是开源社区但已经开始借鉴开源的做法——用Git做代码管理用PR做代码审查用Issue做任务跟踪用Markdown写文档。不是形式上开源而是协作理念上开源化。第四版把这个趋势正式写进教材说明这不是边缘现象而是行业方向。一句话提炼开源浪潮不是要消灭传统团队而是提供了一个新选项用社区共识和代码审查替代行政命令和流程文档让协作更透明、更轻量。干货复盘本章核心概念一句话理解常见误区团队vs非团队目标一致分工依赖缺一不可一群人坐在一起就是团队11种团队模式没有最好只有最适合当前阶段一个模式用到底6种开发流程在效率和可控性之间找平衡流程越重越规范开源浪潮社区共识代码审查替代行政命令开源模式不适用于企业今日最大收获团队和流程没有标准答案但有适用场景。识别自己团队处于什么模式、使用什么流程、该往哪个方向进化——这比学一个最佳实践重要得多。开源浪潮带来的不是替代而是选择你可以用传统模式也可以借鉴开源理念关键是想清楚你的团队需要什么。下篇分享第六章敏捷流程。如果这篇笔记对你有帮助欢迎转发给也在学软件工程的朋友。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进