1.什么是敏捷?
敏捷是一种思维模式。
敏捷是指能够让团队思考更加有效、工作更为高效,并且做出更好决策的一组方法和相关理念。
敏捷承诺的几种解决方案:
- 敏捷项目可以按时完成,为那些苦恼于交付期限和预算的团队带去了福音
- 敏捷项目交付高质量的软件,那些受困于bug和低效软件的团队会迎来巨大的变革。
- 敏捷团队构建的代码结构优良且易于维护,那些常常维护复杂又混乱的代码的团队会得到解脱。
- 敏捷团队会让用户满意,不再交付无法为用户带来价值的软件。
- 最重要的是,在出色的敏捷团队中,开发人员不用加班,可以与亲朋好友共度晚间时光和周末。这在他们的职业生涯中可能是史无前例的。
2.理解敏捷的价值观
敏捷软件开发宣言(Manifesto for Agile Software):
- 个体和互动高于流程和工具
- 可工作的软件高于详尽的文档
- 客户协作高于合同谈判
- 响应变化高于遵循计划
敏捷软件开发的12条原则:
(1)最优先要做的尽早、持续地交付有价值的软件,让客户满意
(2)欣然面对需求的变化,即使是在开发后期。敏捷过程利用变化为客户维持竞争优势
欣然面对需求变化意味着什么?
- 不要认为有变化就会有人“倒霉”
- 我们是一条绳上的蚂蚱
- 我们不把变化拖到最后。
- 我们不要再把变化当成犯错
- 我们通过变化学到东西。【这是团队成长的最有效方式 】。
(3)频繁地交付可工作的软件,从数周到数月,交付周期越短越好
(4)在团队内外,面对面交谈是最有效、也是最高效的沟通方式
(5)在整个项目过程中,业务人员和开发人员必须每天都在一起工作
(6)以受激励的个体为核心构建项目。为他们提供所需的环境和支持,相信他们可以把工作做好
(7)可工作的软件是平衡进度的首要标准
(8)敏捷过程倡导可持续开发 。赞助商、开发人员和用户要能够共同、长期维持其步调。稳定向前。
(9)坚持不懈地追求技术卓越和良好的设计,以此增强敏捷的能力
(10)简单是尽最大可能减少不必要工作的艺术,是敏捷的根本
(11)最好的架构、需求和设计来自自组织的团队
(12)团队定期反思如何提升效率,并以此调整自己的行为