项目开发流程8个步骤 项目开发流程8个步骤是哪些?( 三 )


【项目开发流程8个步骤 项目开发流程8个步骤是哪些?】这个团队在开始一个新的Sprint之前 , PO会及时更新左侧的产品待办列表 , 他通常按照优先级进行排序 , 并对列表里的工作项复杂度有个大概的认知 。
在第一周周一的早上10点 , Scrum Master组织所有人参加计划会议:首先由PO说明这个Sprint的目标 , 再对待办列表进行讲解 。然后由开发团队对用户故事的规模进行预估 , 在团队容量允许的情况下 , 将用户故事放入这个Sprint的工作列表中 。
之后由开发团队对Sprint的工作列表进行承诺 。
(使用PingCode Agile开计划会议)
散会后各自回去主动领任务开始干活 , 当开发工程师开始一项工作时 , 他会从主分支checkout出一个特性分支 , 然后基于这个分支提交新代码 , 当开发完成时 , 他会向主分支提交Pull Request(或Merge Request) , 这会自动触发CI流水线(执行静态检查、单元测试等) , CI流水线通过后 , 需要另一位开发工程师手动Code Review , 只有Code Review通过后代码才会合入主分支 , 这会自动触发CD流水线(执行集成测试、部署测试环境等) 。
部署完成后关掉相关的开发任务 , 领取下一个开发任务 。

项目开发流程8个步骤 项目开发流程8个步骤是哪些?

文章插图
(使用PingCode Agile关联开发数据)
每天早上10点 , Scrum Master组织所有人开站立会议 , 每人花2分钟同步一下工作进展 。
(使用PingCode Agile开站立会议)
第二周周五下午4点左右 , Scrum Master组织所有人开评审会议 , 由每个任务的负责人演示其完整的工作 , 由PO确定Sprint目标是否完成 , 版本什么时候对外发布 , 新增bug的紧急程度等等 。
第二周周五下午5点左右 , Scrum Master组织所有人开回顾会议 , 每个人说一下团队做的好的和不好的地方 , 有哪些改进方案等 。
(使用PingCode Agile开回顾会议)
第二周周五晚些时候 , 最新的版本部署到预发布环境中 。第三周(新Sprint的第一周)周二的晚上 , 部署最新的版本到生产环境中 。
对于自管理能力强 , 或者周期性不强的团队选择看板 , 放图:
项目开发流程8个步骤 项目开发流程8个步骤是哪些?

文章插图
(这是一个由5人组成 , 开发周期为1周的看板团队 , 主要负责基础服务维护)
这个团队非常注意”流动的感觉“ , 为了保证让工作流动起来 , 他们定义了5个栏:需求、设计、开发、测试和部署 , 其中设计、开发和测试都有明确的“完成的定义”和在制品的限制 。
有任何需求给到这个团队的时候 , 直接在需求列创建一个工作项即可 。当设计同学准备处理下一项任务时 , 他只需从上一栏中拉过来即可 , 但是当他想将任务拖到已完成时 , 这项工作必须满足设计栏的“完成的定义” 。
就是说所有的方案必须通过评审 , 并且将影响方案告知相关方 。当他不把这个任务拖到已完成的时候 , 那么下游的开发同学不会继续处理这个任务 , 这项任务将一直卡在”设计正在做“这一栏里 。
当开发同学准备处理下一项任务时 , 他只需从上一栏的已完成中拉过来即可 , 当他要完成一项任务时 , 要提交相应的代码 , 覆盖单元测试并通过CI , 然后再通过CD部署到Test环境中 。
当测试同学准备处理下一件工作时 , 他只需从上一栏的已完成中拉过来即可 , 为这个任务写相关的自动化测试并执行通过 , 然后再把任务拖到已完成中 。最后由部署同学拖动任务到部署栏中 , 部署这个最新的版本 。他们每天早上都会看着看板开早会 , 说一下当前的工作进展 。
在这个过程中 , 如果有一项工作长期被卡在某一栏中 , 将很容易被发现 , 如果有大量的工作被卡在某一栏时 , 这时将暴露出这个团队最大的瓶颈问题 。
这样的方式让他们的工作状态一目了然 。
(使用PingCode Agile的看板管理一个基础框架的研发流程)
类似这样的Scrum和看板团队组成了一个大型的研发部门 , 这个部门有自己的季度目标 , 每个月至少会开会一次部门同步会 , 他们会同步所有项目的工作进展和下一步的工作计划 , 就像雪人的故事一样……

推荐阅读