乐于分享
好东西不私藏

项目开发入门-从零开始理解软件开发之团队角色篇

项目开发入门-从零开始理解软件开发之团队角色篇
📖 项目开发入门 · 详解篇
课程 3/5 | 团队角色篇
一个软件团队到底有多少人?8 个角色一次讲清
用「你作为××会经历什么」的方式来讲
📌 本期导读

上期我们走完了从立项到上线的六大阶段,这期来看每个阶段里是谁在做这些事
一个标准的软件项目团队,通常有 8 个关键角色。每个角色都有自己的「一天节奏」、常用工具、协作对象,以及只有他们才懂的「痛点」。

这期最大的不同:我们用「你作为××角色会经历什么」的方式来讲解。
这样你就能把自己「代入」到真实项目里,听懂团队站会上每个人在说什么。
01|产品经理 PM
—— 项目的「总导演」,决定「做不做、做什么、先做哪个」
👑 核心定位
连接业务和技术的桥梁。不写代码,但决定代码写什么。对产品的最终成功负责——用户用得爽不爽、老板满不满意,都是 PM 的 KPI。

你可以把他理解成:餐厅的「店长」——他决定卖什么菜、定什么价格、店面怎么装修,但不亲自做菜(那是厨师/后端的事)。
🕐 产品经理的一天(Sprint 第 3 天)

时间
在做什么(用大白话讲)
09:00-09:30
打开后台,看昨晚用户反馈(比如:有人在小程序里留言「这个功能不好用」)
09:30-09:45
参加团队站会(15分钟):每个人说三件事:昨天做了什么?今天打算做什么?有没有卡住的地方?
10:00-11:30
写「通知推送」功能的详细说明书(PRD):用户点了什么按钮、系统要推送什么内容、推送给谁
11:30-12:00
跟设计师对齐:昨天我写的 PRD,你画的设计稿有没有理解偏差?(比如:我说「按钮要醒目」,你画的是绿色还是红色?)
14:00-15:00
参加需求评审会:把写好的 PRD 投影出来,一页一页讲给开发团队听,问他们:「这些功能能不能做?大概要多久?」
15:30-16:30
跟运营团队聊天:你们最希望系统增加什么功能?把需求记下来,放到「需求池」里排队
17:00-17:30
整理今天的需求变更(比如:老板说「通知推送」要改一下逻辑),更新 PRD 版本记录
🔧 常用工具(用大白话解释)

  • 写文档:
    腾讯文档 / 语雀(就像 Word,但是在线版的,多人可以同时编辑)
  • 画原型:
    Figma(就像用 PPT 画页面草图——「这个按钮放这里,那个输入框放那里」)
  • 管理需求:
    TAPD / Jira(就像「待办事项」工具,但更强大:可以记录每个需求的状态、优先级、负责人)
  • 看用户行为:
    腾讯分析(可以看到:用户最喜欢用哪个功能?哪个页面用户停留时间最长?)
🤝 协作对象(他跟谁打交道?)

↑ 向上汇报:老板 / 业务负责人(汇报进度、争取资源——「这个项目需要再加 1 个开发,不然做不完」)

↓ 向下传达:设计师、开发、测试(把需求讲清楚,确保他们理解得跟你想的一样)

↔ 平行沟通:运营 / 客服(收集用户反馈——「用户说这个功能不好用,我们要优化一下」)

⚡ 最痛的协作点:需求变更沟通的「信息损耗」——老板说一句话,传到开发耳朵里变成了另一句话。(解决办法:所有需求变更都要更新 PRD,并通知所有人。)
📈 成长路径(从新手到专家)

初级 PM(0-2 年)→ 中级 PM(2-5 年,能独立负责一个产品)→ 高级 PM(5 年+,负责多条产品线或战略级产品)→ 产品总监 / VP

核心能力进阶:需求分析 → 产品设计 → 数据驱动决策 → 商业战略思维
02|UI/UX 设计师
—— 决定产品「长什么样、用起来爽不爽」
🎨 核心定位
UI(User Interface) = 管视觉(配色、排版、图标、字体——「长什么样」)
UX(User Experience) = 管体验(操作流程顺不顺手、信息层级清不清晰——「用起来爽不爽」)

好设计是「感觉不到存在」的设计——用户用得很顺畅,根本不会注意到「这个按钮位置很合理」。

你可以把他理解成:餐厅的「装修设计师 + 动线设计师」——装修设计师决定「墙面什么颜色、桌子怎么摆」(UI),动线设计师决定「客人进门后怎么走最顺畅、服务员上菜会不会撞到客人」(UX)。
🕐 设计师的一天(Sprint 第 3 天)

时间
在做什么(用大白话讲)
09:00-09:30
打开 Figma,查看昨晚 PM 留的评论(3 条修改意见:「这个按钮颜色太淡了、这个输入框要加提示文字」)
09:30-09:45
参加每日站会
10:00-12:00
根据 PM 意见修改「日报生成」页面:把按钮颜色从淡绿改成深绿、在输入框下面加一行灰色提示文字
14:00-15:30
设计「通知推送」功能的完整交互流程(5 个页面):用户点哪里?点了之后跳到哪个页面?成功后显示什么提示?
15:30-16:00
跟前端工程师对齐设计稿:我在 Figma 里标注了「这个按钮宽 120px、高 40px、圆角 8px」,你照着做
16:00-17:00
更新「设计系统文档」:我们这套产品,按钮统一用深绿色、字体统一用 14px、输入框统一用圆角 6px——确保整个产品风格一致
🔧 常用工具(用大白话解释)

  • UI 设计:
    Figma(主流工具,在线协作,就像「在线版的 PPT」,但专门用来画 App/网页界面)
  • 高保真原型:
    Axure(可以做出「可以点击的原型」——不是真的 App,但点按钮会跳转页面,用来提前验证交互逻辑)
  • 切图导出:
    Figma 自动生成(设计师画完稿子,点一个按钮,自动生成前端需要的图片文件——就像「导出 PPT 里的图片」)
🤝 协作对象(他跟谁打交道?)

↑ 向上汇报:产品经理(接收需求,输出设计稿)

↓ 向下交付:前端工程师(提供设计稿、切图、尺寸标注——「这个按钮宽 120px,你照着做」)

⚡ 最痛的协作点:设计稿「看起来很美」,但前端说「这个效果做不了」或者「要花 3 天才能实现」——设计和技术的平衡是永恒的话题。(解决办法:设计师要懂一点前端技术边界,不要画出「技术上很难实现」的效果。)
📈 成长路径(从新手到专家)

初级设计师(执行 PM 的需求)→ 中级设计师(能独立负责一个模块的设计)→ 高级设计师(建立设计系统、指导新人)→ 设计负责人 / CDO

核心能力进阶:视觉表现 → 交互逻辑 → 用户研究 → 设计体系搭建
03|后端工程师
—— 负责「背后的逻辑」,用户看不到但离不开
⚙️ 核心定位
处理数据库、服务器、接口(API)。用户看不到后端代码,但每次点按钮背后都是后端在默默工作。

你可以把他理解成:餐厅的「后厨团队」——客人看不到后厨在干什么,但每道菜都是后厨做出来的。后厨效率低,出菜就慢;后厨出错,菜就做错了。
🕐 后端工程师的一天(Sprint 第 3 天)

时间
在做什么(用大白话讲)
09:00-09:30
打开电脑,把同事昨天写的代码同步到自己电脑上(就像「把大家改的 Word 文档合并成一个最新版」)
09:30-09:45
参加每日站会:报告「昨天写完了『净值查询』接口,今天做『日报生成』接口」
10:00-12:00
写「日报生成」的数据库查询逻辑:从数据库里取出今天的数据 → 按格式整理 → 生成一份日报(在自己电脑上测试,确保能跑通)
14:00-15:30
跟前端工程师联调:前端同事调用我写的接口,发现返回的数据格式不对 → 现场修改,直到前端能正常拿到数据
15:30-16:30
写「单元测试」:模拟各种情况(正常数据、错误数据、空数据),确保接口在各种情况下都不会崩溃
16:30-17:00
把今天写的代码提交到团队共享的「代码仓库」里,并请同事来「审查一下我写的代码有没有问题」(这叫「代码审查」)
🔧 常用工具(用大白话解释)

  • 写代码:
    VS Code / IntelliJ(就像「记事本」,但是专门用来写代码的,有语法高亮、自动补全等功能)
  • 接口调试:
    Postman / Apifox(就像「测试网页能不能打开的工具」,但是专门用来测试「后端接口能不能正常返回数据」)
  • 版本管理:
    Git + GitHub(就像「文档的历史版本记录」,但更强大——可以记录谁改了哪一行、可以回退到昨天的版本)
🤝 协作对象(他跟谁打交道?)

↑ 向上汇报:技术负责人(汇报技术方案、请求架构决策——「这个需求技术上实现不了,我们要换个方案」)

↔ 平行协作:前端工程师(API 对接,最重要的协作关系——就像「服务员和厨师的配合」)

⚡ 最痛的协作点:前端说「你这个接口返回太慢了,用户等不及」——性能和功能的取舍。(解决办法:后端要做「性能优化」,让接口响应更快。)
📈 成长路径(从新手到专家)

初级后端(能实现基本数据增删改查)→ 中级后端(能设计接口、优化性能)→ 高级后端(架构设计、高并发处理)→ 技术负责人 TL / 架构师

核心能力进阶:语法熟练 → 系统设计 → 性能优化 → 技术战略
04|前端工程师
—— 负责「看得到、摸得着」的部分,用户看到的一切都是他的作品
📱 核心定位
负责网页、手机 App 界面。用户看到的每一个按钮、每一行文字、每一次动画效果,都是前端工程师实现的。前端是用户和系统的「第一接触面」。

你可以把他理解成:餐厅的「前厅团队」——服务员(前端)负责把菜单(界面)呈现给客人,并把客人的点单(操作)传达给后厨(后端)。
🕐 前端工程师的一天(Sprint 第 3 天)

时间
在做什么(用大白话讲)
09:00-09:30
启动「微信开发者工具」,同步最新代码(确保自己电脑上的代码是最新版本)
09:30-09:45
参加每日站会:报告「昨天完成了『净值查询』页面,今天对接后端接口」
10:00-11:30
根据设计师的 Figma 稿,写「日报生成」页面:按钮放在哪个位置?输入框要多宽?字体用什么颜色?(就像「照着装修图纸施工」)
14:00-15:30
跟后端工程师联调:调用后端写的「净值查询」接口,把返回的数据展示在页面上(就像「服务员把后厨做好的菜端到客人桌上」)
15:30-16:30
处理「边界情况」:如果网络断了怎么办?如果后端返回的数据是空的怎么办?要在页面上显示什么提示文字?(就像「客人点了一道菜,但厨房说『这道菜卖完了』,服务员要怎么跟客人解释」)
16:30-17:00
自测:用手机扫描二维码,在自己的手机上预览今天做的页面,检查在不同尺寸的手机上显示是否正常(大屏手机、小屏手机)
🔧 常用工具(用大白话解释)

  • 写页面:
    微信开发者工具(专门用来写微信小程序的官方工具,就像「Word 是写文档的,这个工具是写小程序的」)
  • 看设计稿:
    Figma(打开设计师画的稿子,查看每个元素的位置、颜色、尺寸——就像「照着施工图纸盖房子」)
  • 调试工具:
    Chrome DevTools(可以用来「检查页面上的某个元素为什么显示不正常」——就像「装修验收时拿尺子量一下插座装得对不对」)
🤝 协作对象(他跟谁打交道?)

↑ 向上沟通:产品经理(确认交互细节——「这个按钮点了之后跳到哪个页面?」)/ 设计师(确认视觉效果——「这个颜色是不是太淡了?」)

↔ 平行协作:后端工程师(API 对接,最重要的协作关系——就像「服务员和厨师的配合」)

⚡ 最痛的协作点:设计师给的效果图「看起来很美」,但做出来在手机上「怎么这么丑」——设计和实现的差距。(解决办法:设计师和前端要早期沟通,确保设计稿在技术上是可实现的。)
📈 成长路径(从新手到专家)

初级前端(切图、写静态页面)→ 中级前端(能写交互、对接 API)→ 高级前端(性能优化、复杂状态管理)→ 前端负责人 / 全栈工程师

核心能力进阶:HTML/CSS 熟练 → JavaScript 框架掌握 → 性能优化 → 前端架构
05|测试工程师 QA
—— 项目的「质量把关人」,专门找 Bug,确保每个功能按预期工作
🧪 核心定位
专门找 Bug。不等用户发现问题,测试工程师要在上线前把问题都找出来。

你可以把他理解成:餐厅的「试菜员」——每道菜做好后,试菜员要先尝一口:咸淡对不对?火候够不够?摆盘好不好看?确认没问题了,才能端给客人。
🕐 测试工程师的一天(Sprint 第 3 周,测试阶段)

时间
在做什么(用大白话讲)
09:00-09:30
打开「Bug 管理系统」(比如 TAPD),看昨晚开发修复了哪些 Bug、还有哪些 Bug 没修完
09:30-09:45
参加每日站会:报告「昨天测了 8 个功能,发现 3 个 Bug,已经提交给开发」
10:00-12:00
按 PRD 一条一条测试:PRD 说「点这个按钮要弹出确认框」,现在点了有没有弹出来?颜色对不对?文字对不对?
14:00-15:30
尝试「非正常操作」:在金额输入框里输入字母(应该提示「请输入数字」);在手机号输入框里输入 100 位数字(应该提示「手机号格式不正确」)
15:30-16:30
发现 Bug → 记录到 Bug 管理系统(描述:在哪个页面、点了什么按钮、出现了什么错误)→ 通知开发修复
16:30-17:00
「回归测试」:开发说「Bug 已经修好了」,我要重新验证一下——是不是真的修好了?修复过程中有没有引入新的 Bug?
🔧 常用工具(用大白话解释)

  • Bug 管理:
    TAPD / Jira(就像「待办事项」工具,但专门用来记录和跟踪 Bug——哪个 Bug 是谁发现的、现在修到什么进度了、谁负责修)
  • 自动化测试:
    Selenium / Cypress(可以让计算机自动跑测试用例——比如:自动打开网页、自动点按钮、自动检查返回结果对不对。比人工测试快很多。)
🤝 协作对象(他跟谁打交道?)

↑ 向上汇报:产品经理(报告测试进度——「这个 Sprint 测了 30 个功能,发现 12 个 Bug,还剩 5 个没修完」)

↔ 平行协作:开发工程师(提交 Bug、验证 Bug 修复情况)

⚡ 最痛的协作点:开发说「这点小问题而已,用户不会注意到的,能不能先上线?」——测试要坚持原则:PRD 写明了的,就必须做到。(解决办法:建立「Bug 严重程度分级」——严重影响使用的必须修,轻微的外观问题可以排到下个版本。)
📈 成长路径(从新手到专家)

初级测试(执行测试用例)→ 中级测试(设计测试用例、写自动化测试脚本)→ 高级测试(测试架构设计、质量体系建设)→ 测试负责人 / QA 总监

核心能力进阶:手工测试 → 自动化测试 → 性能测试 → 质量体系搭建
💡 核心问题:前后端是怎么配合的?(超详细版)
这是新手最常问的问题。理解了这个,你就理解了软件开发的核心协作模式。我们用「用户查询产品净值」这个场景,走一遍完整流程:
Step 1 - 用户操作(前端展示层)
用户打开小程序 → 看到「净值查询」页面(这是前端工程师画出来的)→ 在输入框里输入产品代码「000001」 → 点击「查询」按钮
Step 2 - 前端发送请求(API 调用)
前端代码执行:向服务器发送一个「请求」:「帮我查一下产品 000001 的最新净值」
(这就像服务员把「客人点了宫保鸡丁」这个需求,通过出餐口传达给后厨)
Step 3 - 后端接收并处理(业务逻辑层)
后端工程师写的代码收到请求 → 解析产品代码「000001」 → 连接数据库 → 执行查询:「帮我找产品 000001 的最新净值」 → 拿到结果:1.2345
Step 4 - 后端返回结果(API 响应)
后端把数据包装好,返回给前端:「产品 000001 的最新净值是 1.2345,日期是 2025-03-01」
(这就像后厨把做好的菜,通过出餐窗口递给服务员)
Step 5 - 前端展示结果(界面渲染层)
前端收到数据 → 在页面上显示:「最新净值:1.2345」(红色,因为今天是涨的)→ 同时显示日期「2025-03-01」
Step 6 - 异常情况处理(边界条件)
如果用户输入的产品代码不存在?
→ 后端查询数据库,找不到 → 返回:「没找到这个产品」
→ 前端收到这个信息 → 在页面上显示提示:「未找到该产品,请检查代码」
→ 前端负责「展示和交互」,后端负责「数据和逻辑」,API 就是他们之间的桥梁
📌 下期预告
下一期(课程 4/5):避坑指南篇
新手做项目最容易踩的 10 个坑,每个都有真实案例 + 根因分析 + 避坑方法
用「真实故事」的方式来讲,保证你看完能避开这些坑
📖 项目开发入门 · 详解篇
课程 3/5 | 团队角色篇
预计阅读时间:12 分钟
下期:课程 4/5 | 避坑指南篇