我们经常被问到这个问题:什么是敏捷方法论 (Methodologies)?很简单,敏捷是IT行业用来描述项目管理的替代方法的炒作词。
敏捷是一个过程,可以帮助团队快速,不可预测地响应他们在项目中收到的反馈。它为在开发周期中评估项目方向创造了机会。团队在常规会议中评估项目,称为冲刺或迭代。
敏捷是一个非常强大的过程,可以帮助公司设计和构建正确的产品。管理过程对软件公司非常有利,因为它有助于他们在整个开发过程中分析和改进产品。这使公司能够生产出高价值的产品,从而保持市场竞争力。
敏捷开发本身并不是一种方法论。它是一个总称,描述了几种敏捷方法。在2001年签署敏捷宣言时,这些方法包括Scrum,XP,Crystal,FDD / DSDM。从那时起,精益实践也成为一种有价值的敏捷方法,因此在后面的插图中包含在敏捷开发保护伞下。
敏捷从哪里来?
2001年,一小群人厌倦了管理软件开发项目的传统方法,设计了敏捷宣言。它是一种更加改进的方法,用于管理软件项目的进度。
敏捷宣言有四个重要的价值观:
- 重点应放在个人和互动上,而不是过程和工具上
- 工作软件比综合文档更重要
- 客户协作比合同谈判更重要
- 该过程应该响应变化而不是遵循计划
敏捷软件开发有12条原则:
- 通过持续提供有价值的软件提供客户满意度
- 始终接受需求的变更,无论项目的早期或晚期如何
- 提供在更短时间内工作的软件
- 开发人员和业务专业人员必须在整个项目期间每天密切合作
- 信息最好通过面对面交谈在各方之间转移
- 激励人们通过创造欣赏,信任和赋权的环境来建立项目
- 工作软件是衡量进展的关键指标
- 敏捷过程促进可持续发展
- 持续关注技术开发和设计的卓越性和质量可提高灵活性
- 简单性是有效敏捷管理的重要组成部分
- 自组织团队提供最佳架构,要求和设计
- 团队应通过检查和调整来反映更有效
有不同的敏捷方法可以促进宣言的价值观和原则。Scrum和XP是两个众所周知的例子。
敏捷软件开发的好处
许多开发人员经历了项目的噩梦,没有任何实践来指导它。缺乏有效的做法会导致不可预测性,重复错误和浪费精力。客户对计划下滑,预算不断增加以及质量低劣感到失望。开发人员因为工作时间越来越长而生产越来越差的软件而感到沮丧
顶级软件开发人员开发了敏捷会议。在反复体验现实生活项目中传统瀑布式开发的挑战和局限之后,他们希望创建一个更有效的分析项目开发的过程。他们使用的方法直接解决了传统方法的哲学和过程问题。
敏捷软件开发有很多好处。他们包括:
利益相关者参与和满意度
敏捷过程在每次sprint会议中创造了许多机会,以实现团队与利益相关者之间的真正互动。由于客户积极参与整个项目,因此各方之间的合作水平不断提高。这使团队有机会充分了解客户的愿景。通过频繁提供高质量的工作软件,利益相关者可以迅速与团队建立信任和真实的关系。这也进一步促进了客户与团队之间的互动。
透明度
敏捷方法在整个项目中积极地涉及客户,包括迭代计划,审核会话和软件中的新功能构建。但是,客户必须明白,在项目透明度期间,他们看到的是正在进行的工作,而不是最终产品。
早期和可预测的交付
短跑的持续时间为1至4周。通过使用这种时间框方法,可预测性很高,因为可以快速,频繁地向利益相关者提供新功能。如果软件具有足够的业务价值,它还允许团队更快地对软件进行beta测试或发布。
可预测的成本和时间表
由于Sprint是按照固定的时间表进行的,因此成本是有限且可预测的,并且基于完成的工作量。通过在每个Sprint之前组合估算的成本,客户将更好地了解每个功能的大致成本。在确定功能优先级或添加迭代时,这可以提供更多改进的决策机会。
灵活的优先级
通过优先考虑客户驱动的功能,Scrum方法可以提供更大的灵活性。该团队可以更好地控制每个sprint边界的可交付工作单元; 在最终产品里程碑方面不断取得进展。为了从工程中获得提示RIO,需要尽早将工作交付给客户,以便他们从功能中实现价值。
允许更改