技术团队管理细节

项目实践

这一部分对我认为最理想的软件开发流程做一个总结。这个流程基于敏捷开发的工作流,但是去掉了敏捷中比较复杂的部分,在流程之上保障一定的灵活性。

项目组职能

团队中成员可以身兼多职,或者在多个团队中身兼多职

  • 项目经理:把控项目风险和进度,对项目整体负责

  • 产品经理:设计项目业务,对项目业务发展负责

  • 前端工程师

  • 后端工程师

  • 测试工程师

  • UI

管理流程

  • 【发现需求】需求方与咨询团队对接,确定需求 核心咨询师(Owner)

  • 【产品核心TEAM】Owner与产品团队沟通,确定PM ,

  • 【需求分析】PM介入进行需求分析

    • 产出:需求文档大纲、业务流程图

  • 【需求碰头会】 根据PM产出,由 Owner 牵头,组织项目相关人讨论细化需求

    • 参与人:Owner 产品经理 产品总监 需求方关键人

  • 【需求细化】PM根据需求碰头会结果,产出:PRD

  • 【PRD需求侧评审会】PM牵头组织需求侧人员召开产品评审会,
- 产出:最终PRD

    • 参与人:Owner PM 产品总监 需求方

  • 【PRD终稿邮件确认】PM起邮件发起PRD最终版审批,核心审批层级: Owner -> 产品总监 -> 需求方关键人

  • 【研发人员确定】Owner 与 技术总监讨论确认 产出:研发人员名单

  • 【PRD研发侧评审会】Owner 牵头,进行PRD研发侧需求评审

    • 参与人:PM、技术总监、研发团队、UI、QA

    • 研发团队产出:研发排期表

    • QA团队产出:测试用例

  • 【产出研发排期表】

    • 研发分阶段

    • 职责到人

    • 排期到天

    • 按需求模块划分,方便研发进度追踪

    • 考虑前后端及UI团队协同

  • 【产出测试用例】

    • 按模块划分

    • 考虑每一个逻辑分叉

  • 【研发阶段】

    • 【每日晨会】Owner 每天组织相关人员晨会,跟进项目进度,及时发现项目风险。 出席人:Owner、产品经理、技术团队、QA团队、UI设计师

    • 【模块化提测】

      • 研发团队完成一个模块需求后可针对模块组织提测,发起人Owner 参与人:产品经理、QA、研发

      • QA需对测试用例中P0基础功能进行测试,能测试通过的才可进行提测

分模块提测

  • 如果单个模块功能相对独立,则不必等到所有功能模块全部开发,完成后可以进行单个模块提测

  • 提测流程与模块化提测一致 经过研发自测后 QA对测试用例中的P0功能进行测试,全部P0需求通过后可进入测试阶段

  • BUG生命周期

    • 测试人员提出bug

    • 研发人员针对bug进行修改

    • 修改完成后指回测试人员进行回测

上线流程

  • 测试人员将全部模块问题测完 全部bug解决完成后发布 测试报告给 研发团队 研发总监 PM 产品总监 Owner

  • Owner邮件发布上线申请书 到 产品总监 技术总监 审核。抄送 产品经理 QA 研发团队

  • 产品总监 技术总监审核完毕后 项目由研发团队进行上线

  • 上线完成后QA需对项目进行回测

  • 回测通过后owner上线公告给项目所有相关人员

项目复盘

  • 由owner牵头所有项目相关人员进行项目复盘

  • 由各项目相关人员依次分享 项目经验 问题 不足 值得改进的地方

  • 由各项目相关人员编写复盘文档 owner汇总存档

项目delay

  • 由研发团队、QA 告知 owner 项目进度延期

  • 由 Owner发布delay通告 说明delay原因

  • 项目复盘时需对delay进行说明

研发KPI

  1. Delay 次数、时常及影响评级

  2. 线上故障、影响

  3. 单位需求排期时长

  4. 是否担任过关键人

更多

  • Git 版本管理与持续集成

  • 软件交付这十年

  • 前端的未来