跳转到内容

敏捷开发流程

来自代码酷

模板:Note

敏捷开发流程[编辑 | 编辑源代码]

敏捷开发流程(Agile Development Process)是一种以人为核心、迭代增量式的软件开发方法论,强调快速响应需求变化和持续交付价值。与传统的瀑布模型不同,敏捷通过短周期(通常2-4周)的迭代(称为"Sprint")逐步完善产品。

核心原则[编辑 | 编辑源代码]

敏捷开发遵循《敏捷宣言》的四大价值观:

  1. 个体和互动高于流程和工具
  2. 可工作的软件高于详尽的文档
  3. 客户合作高于合同谈判
  4. 响应变化高于遵循计划

其12条原则包括持续交付、欢迎需求变更、跨职能团队协作等(详见[敏捷宣言]原文)。

主要实践[编辑 | 编辑源代码]

Scrum框架[编辑 | 编辑源代码]

最流行的敏捷实现方式,包含以下角色和仪式:

  • 角色:
    • 产品负责人(Product Owner)
    • Scrum Master
    • 开发团队
  • 仪式:
    • 冲刺规划会(Sprint Planning)
    • 每日站会(Daily Standup)
    • 评审会(Review)
    • 回顾会(Retrospective)

gantt title Scrum Sprint时间线示例 dateFormat YYYY-MM-DD section Sprint 1 需求梳理 :a1, 2023-01-01, 2d 任务分解 :a2, after a1, 3d 开发实现 :a3, after a2, 10d 测试验收 :a4, after a3, 5d

看板方法[编辑 | 编辑源代码]

通过可视化工作流限制在制品数量(WIP),典型看板列:

[待办] -> [开发中] -> [测试中] -> [已完成]

技术实践示例[编辑 | 编辑源代码]

用户故事格式[编辑 | 编辑源代码]

作为[角色],我想要[功能],以便[商业价值]
示例:
作为用户,我想要登录功能,以便访问个人数据

持续集成脚本[编辑 | 编辑源代码]

以下是Jenkinsfile的简化示例:

pipeline {
    agent any
    stages {
        stage('Build') {
            steps {
                sh 'mvn clean package'
            }
        }
        stage('Test') {
            steps {
                sh 'mvn test'
            }
        }
    }
}

度量指标[编辑 | 编辑源代码]

常用敏捷度量公式:

  • 迭代速度(Velocity):解析失败 (语法错误): {\displaystyle \frac{\sum 完成故事点}{迭代次数}}
  • 燃尽图(Burn-down Chart):剩余工作量随时间变化曲线

行业案例[编辑 | 编辑源代码]

案例:Spotify模型[编辑 | 编辑源代码]

音乐流媒体Spotify创造的敏捷扩展框架:

  • 小组(Squad):自治团队(类似Scrum团队)
  • 部落(Tribe):相关小组的集合
  • 分会(Chapter):跨部落的专家社区

常见误区[编辑 | 编辑源代码]

误区 正确实践
认为"敏捷=无文档" 保持文档精简但必要
每日站会变进度汇报 聚焦障碍而非状态
忽略回顾会议 定期改进流程

工具推荐[编辑 | 编辑源代码]

  • 任务跟踪: Jira, Trello
  • 持续集成: Jenkins, GitHub Actions
  • 协作平台: Confluence, Slack

页面模块:Message box/ambox.css没有内容。

参见[编辑 | 编辑源代码]

  • 极限编程(XP)
  • 精益开发(Lean)
  • DevOps实践