0) 启动(Kickoff)
- 目标产出:项目一页 PRD(1 页),关键里程碑与验收准则(Acceptance Criteria)。
- 负责人:产品/系统负责人(主导),软件/硬件各自参与。
- 验收门:PRD 获得所有关键干系人签字(含验收条件、最低可交付版本 MVP 定义)。
1) 系统架构与接口定义(系统设计)
- 做什么:
- 画系统 Block Diagram(总体模块与总线关系)。
- 列出 HW–SW Interface Matrix(接口名、信号、引脚、逻辑/时序、电平、最大带宽、复位/唤醒约束)。
- 产出物:
HW-SW-Interface.md(放docs/),初版 BOM 草单。 - 负责人:硬件起草原理图要点、软件给出 HAL 期望(stub 函数/接口签名)。
- 验收门:Interface 文档被双方 Review 并 versioned(例如 IF-v1.0)。
2) 迭代计划与任务拆分(Backlog)
- 做什么:
- 把工作拆成并行可交付的 task(例如:BSP bring-up、UART 驱动、传感器原理图、PCB 电源部分)。
- 每项写明 DoD(Definition of Done)。
- 产出物:迭代 Backlog(issue 列表),每个 issue 有 owner、验收测试。
- 负责人:项目经理/软件负责人维护 backlog。
- 验收门:迭代 Scope 成文并认领。
3) 可行性 / PoC 迭代(Prototype loop)
- 做什么:
- 先做小范围 PoC(面包板或模块开发板)验证核心外设/协议(I2C、SPI、UART、电源)。
- 软件提供最小固件(serial 输出 boot log)。
- 产出物:PoC 报告(含日志/照片/问题清单)、最小固件二进制。
- 负责人:软件实现最小驱动,硬件做原始连线/模块选型。
- 验收门:PoC 能复现关键能力(例如能从传感器读到数据、能控制电源开关)。
4) 原理图设计与评审(HW)
- 做什么:
- 绘制完整原理图、关键电源与时钟电路、接口保护、电平转换、测试点标注。
- 生成 BOM,标注可替代元件。
- 产出物:Schematic v1、BOM、Footprint checklist。
- 负责人:硬件工程师(Schema),软件提供 IO 分配建议。
- 验收门:通过 DRC/DFM Review(最少 1 次硬件互评 + 软件确认接口引脚)。
5) PCB 布局与出板(HW)
- 做什么:
- PCB layout(层叠、阻抗、走线规则、测试点、编程头位置)。
- 生成 Gerber、装配图、测试夹具接口位置。
- 产出物:Gerbers、Assembly Drawing、Panelization 文件。
- 负责人:硬件工程师,制造准备(去找厂商)。
- 验收门:DFM 通过,BOM 已 freeze(或带替代项说明)。
6) BSP / Boot 与基础固件(SW 并行)
- 做什么:
- 实现 Bootloader / BSP(UART 串口输出、时钟初始化、flash、看门狗设置)。
- 在 Host 上做 HAL mock 测试,使业务逻辑可在 PC 上单元测试。
- 产出物:BSP 镜像、CI 构建脚本、HAL 接口文档。
- 负责人:软件负责人与驱动工程师。
- 验收门:目标平台能刷机并输出 boot log;关键驱动有单元/集成测试或 mock 测试。
7) 首次样板 Bring-up(Integration)
- 做什么:
- 把固件刷进样板(使用 JTAG/USB/SWD/ISP),上电做 "smoke test"。
- 按 Bring-up Checklist 做逐项验证(电源轨、晶振、串口输出、I2C 扫描、SPI loopback)。
- 产出物:Bring-up 日志(异常与处置记录)、示波器/逻辑分析截图、问题单(issue)。
- 负责人:硬件负责供电与测量,软件负责刷机与串口解析。
- 验收门:所有 Boot checklist 条目通过或已列出阻塞任务并有计划解决。
(如果失败:立即 triage — 切换到问题定位循环:测量 -> 回溯原理图 -> 替换元件 -> 固件屏蔽外设 -> 再 bring-up)
8) 驱动与中间件实现(迭代开发)
- 做什么:
- 基于 HAL 实现外设驱动(带错误处理、重试、超时等)。
- 编写中间件(文件系统、网络、协议栈)与业务库(硬件无关)。
- 产出物:驱动代码、接口文档、单元测试、CI Artifact。
- 负责人:软件团队(模块 owner)。
- 验收门:驱动有单元/集成测试、PR 通过 Code Review + CI 构建成功。
9) 功能集成测试(Integration & HIL)
- 做什么:
- 在真实板子上跑完整功能测试(Use Case 流程),包括 HIL 测试脚本(若有自动夹具)。
- 做压力/长时间运行/功耗测试。
- 产出物:测试报告(Test Cases 执行结果、日志、故障复现步骤)。
- 负责人:测试工程师 + 开发者配合。
- 验收门:所有 Acceptance Criteria 满足或列出已知问题与风险评估。
10) 回归 & Release Candidate(RC)
- 做什么:
- 修复集成中发现的问题,做回归测试,生成 RC 镜像并打 tag(语义版本)。
- 生成 Release Notes 与小报告(<100 字)。
- 产出物:
product-vX.Y.Z-rc.bin、Release Notes、Test Logs。 - 负责人:Release 主任(软件)与 QA。
- 验收门:RC 通过回归测试且没有高优先级阻塞。
11) 试产(Pilot)与生产测试准备
- 做什么:
- 小批量试产,验证装配流程、烧录流程、生产测试治具(ATE)是否可靠。
- 将关键测试脚本转为产线自动测试项(电源、通信、功能)。
- 产出物:试产报告、生产测试脚本、测试夹具说明。
- 负责人:硬件工程师 + 生产工程师 + 软件支持(测试脚本)。
- 验收门:试产不超过可接受的缺陷率,测试夹具稳定。
12) 量产 & 维护(Production)
- 做什么:
- 正式下放到产线,建立版本回退、保修与问题追踪流程。
- 建立 post-mortem 与改进 backlog,持续迭代。
- 产出物:正式 release、维护 SLA、问题清单与 fix 计划。
- 负责人:项目负责人、运维/客服支持。
并行规则与沟通(保证流程顺畅)
- Interface 变更必须:开 issue -> 更新
HW-SW-Interface.md-> 两方 Review -> 批准(48 小时内响应优先级)。 - 代码合并策略(映射到流程):feature 分支对应开发任务,integration/release 分支用于集成测试,RC -> main/tag 用于产线。
- 日常 sync:短会(15 分)+ 每次交付后写小报告并上传 artifacts(固件、日志、release notes)。
- 变更控制:重要接口/电源/时序改动需走变更审批(邮件或 issue + 评论记录)。