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


第二个开发周期的目标确定后 , 各敏捷团队的”待办事项列表“都更新了 。这三个敏捷团队根据最新的”待办事项列表“对这个周期的工作进行了规划 , 然后开始了新一轮的开发 , 接着第二版雪人如期投放 , 吸引了更多的人到户外参加现场活动 。
之后是第三次迭代、第四次迭代……随着时间的推移 , 各个敏捷团队的交付能力越来越强 。
为了最大化的发挥敏捷团队的创造力 , 负责人做了如下要求:

  1. 每个新特性必须有独立的测试 。
  2. 每个生产环境的变更必须通过严格的测试测试(在CD中通过单元测试、集成测试、性能测试等) 。
  3. 在不影响其他”雪人部位“、不影响大版本规划的前提下 , 各个”雪人部位“可以按需部署 , 用于快速响应游客的诉求、修复雪人的缺陷 。
后来雪人在不断的产品迭代中走向正轨……那这种方式就是典型的互联网公司的「敏捷开发」流程 。
我总结这个流程就是:
在一个健康的互联网公司中 , 一个明智的决策通常要经过充分的调研和评估 , 然后才能成为各个部门的目标 。当然定目标绝不是喊口号 , 它包含两部分的内容:
1. 目标是什么
2. 如何检验我们正在向目标走
而在这个过程中 , 各个关键角色的目标要进行对齐 , 所有人的步调要保持一致 , 由下向上及时反馈目标进展 。
(使用PingCode Goals进行各个关键角色的目标对齐)
那对于产品研发部门来说 , 产品的研发进度无疑是非常重要的 。如果我们对一个产品目标进行分解 , 会形成一个产品的关键路线图(或者称为用户故事地图) , 在这个路线图中分布着不同的产品特性和其完成时间 。
(使用PingCode Plan规划路线图)
接着这些”需求“被分级分类后放在各个开发团队的”产品待办列表“中 。
(使用PingCode Plan规划程序增量)
进入到一个Scrum团队中 , 他们在自己的”产品待办列表“中就可以看到按优先级排序的各类需求 。
(使用PingCode Agile管理敏捷团队的开发工作)
Scrum团队会根据综合因素(通常包含:优先级、工作量、依赖关系、非功能性需求的比例等等)安排每个开发周期的工作 , 他们在每个开发周期结束时都会产出一个可以交付的程序增量 。随后我们将所有的Scrum团队完成的服务进行集成 , 形成一个全局版本 , 部署到生产环境中 。
项目开发流程8个步骤 项目开发流程8个步骤是哪些?

文章插图
(使用PingCode Plan管理各Scrum团队的版本)
最后我们再对不同的功能点进行追踪 , 对各类活动数据进行分析 , 为后续的决策提供数据支持 , 这便形成了一个完整的闭环 。这里我之所以把”敏捷开发流程“拉的这么长 , 是因为今天的敏捷已经不是”团队级别“的概念了 。20年前敏捷开发试图解决业务团队与开发团队之间的矛盾 , 而今天敏捷开发是一种思维方式 , 这种思维方式将为整个组织进行赋能 。
那对于今天雪人的故事而言 , 整个组织就是在用敏捷的方式响应新的”需求“ 。如果只有研发部门采用敏捷开发 , 那今天故事的结局会不一样;如果只有一个研发团队采用敏捷开发 , 那故事的结局会更不一样 。当然今天雪人的故事中有很多夸张的因素在 , 很多事情并不是一蹴而就的 , 基础设施也需要时间来演进 。
说到这 , 我们再回到团队级别的敏捷开发中 , 毕竟能落地的才是真的 。
首先 , 我认为敏捷开发绝不是一种或几种固定的开发框架 , 虽然我们在实施敏捷开发时确实也离不开这些框架 , 但敏捷最大的价值是它传达出来的价值观 。其次 , 我认为使用Scrum和看板这样成熟的框架是十分必要的 , 标准化的研发流程容易产生规划化效果 , 说人话就是容易复制 。
那么典型的敏捷团队是什么样?内部又有什么样的流程的?
三、Scrum 敏捷团队在一个(Sprint)冲刺中具体是怎么工作的?我首推Scrum , 放图:
项目开发流程8个步骤 项目开发流程8个步骤是哪些?

文章插图
(这是一个由8人组成 , 开发周期为2周的Scrum团队 , 主要负责产品研发)

推荐阅读