聊一聊:敏捷开发

本文最后更新于:2022年8月1日 凌晨

近期由于一些工作上的安排,开始负责公司一个开源项目管理的事务,经过团队近两个月的努力总算赶在 deadline 前完成了大版本的发布。在这个项目期间我们尝试通过敏捷开发的模式,解决前期由于团队架构变化带来的问题。

什么是敏捷开发?

敏捷 开发是用于描述迭代软件开发的术语。 迭代软件开发通过以较小的增量(通常称为冲刺)对工作执行来缩短DevOps生命周期。 冲刺(sprint) 的时长通常为 1-4 周。 敏捷开发通常与传统开发或瀑布式开发相对照,后面两种开发模式会提前计划大型项目并根据该计划执行。

在每次冲刺 (sprint) 中交付生产质量代码需要 Agile 开发团队考虑加快速度。 所有的编码、测试和质量验证都必须在每一次冲刺 (sprint) 中完成。 除非团队已正确设置,否则结果可能低于预期。

scrum

实践

我们的配置:

  • 产品经理:1名
  • 项目经理:1名
  • 技术经理:1名
  • 开发工程师:7名
  • 测试工程师:2名

我们的工作流程:

  1. 产品经理收集需求
  2. 项目经理组织需求评审会
  3. 产品经理绘制原型、组织需求澄清
  4. 开发经理组织技术评审、开发排期
  5. 项目经理协调资源
  6. 测试工程师准备测试用例
  7. 项目开发每日站会,评估风险、协调资源
  8. 交付测试
  9. 客户试用验收
  10. 项目发版
  11. 项目复盘(聚餐、休假)

经验与教训

项目的进展不总是一帆风顺的,总会遇到意料之外的问题。

  • 新成员的融合,由于从其他项目组借调了一些开发人员,前期磨合的会比较痛苦
  • 团队成员对产品的认知,由于是一个 AI 相关的开源项目,团队部分成员背景知识的欠缺也会拖慢整体的节奏

总结

项目经理更需要懂技术,了解产品,才能更好的带领团队。

我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=jclwsg7169zu


聊一聊:敏捷开发
https://yance.wiki/pa/
作者
Yance Huang
发布于
2022年7月15日
许可协议