“敏捷”是一种思维模式:它关注交付价值、尊重人、推崇消除浪费(减少不必要的工作)、透明化、适应变更、持续改善;
“敏捷方法”囊括了多种框架和方法,这些方法是符合《敏捷宣言》和《敏捷十二大原则》的任何方法、技术、手段、实践,常见的方法比如:看板、Scrum、DSDM、FDD、水晶、XP、AUP、ScrumBan等;在实际的项目中,可以用这些已有的方法来提供指导、但不必拘泥于固有的方法,如果项目背景需要、可以进行相应的变通,要记得,我们不是为了敏捷而敏捷,而是为了持续交付价值流。
“敏捷”为什么流行开来呢?为了适应高度不确定的工作。以往可确定的工作项目有明确的流程,但是可确定的工作可以逐渐自动化,项目团队越来越多地需要去从事高度不确定的工作,比如:去解决某些问题、去做以前没有做过的工作。高度不确定的项目变化速度快、复杂性和风险性高,用传统的瀑布流预测方法将带来极大的浪费、返工,关键是不能快速体现价值。 因此,敏捷、势在必行。
什么样的项目最适合使用敏捷方法呢?
先看一个“不确定性模型”:
繁杂、复杂的项目适合应用敏捷方法,比如:
- 涉及新颖的工具、技术、材料或应用领域的项目;
- 变更速度极快的项目;
- 有不明确/未知的需求,最终目标难以描述的项目;
- 有诸多不确定性风险的项目。
-------------------------------------------------------------------------------
附:
《敏捷宣言》
《敏捷十二大原则》&(笔者提炼的重点)
- Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.(最高目标:持续交付有价值软件)
- Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.(欢迎需求变更)
- Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.(经常交付可用的软件)
- Business people and developers must work together daily throughout the project.(业务和开发人员紧密协作)
- Build projects around motivated individuals.Give them the environment and support they need, and trust them to get the job done.(激励项目成员、给与所需环境和所需要的支持)
- The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.(面对面高效沟通)
- Working software is the primary measure of progress.(衡量进度的首要标准:可用的软件)
- Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.(提倡可持续的开发)
- Continuous attention to technical excellence and good design enhances agility.(好的技术架构和设计,有助于敏捷的实践)
- Simplicity--the art of maximizing the amount of work not done--is essential.(要简洁、最大可能减少不必要的工作)
- The best architectures, requirements, and designs emerge from self-organizing teams.(引申:自组织团队——自律的团队,是敏捷管理的核心。自律的团队,在统一方向的目标前提下,团队成员在自己的领域负责制定决策和执行任务、而不是由领导人来指导,有助于提高创造力和效率;团队强调信息透明和互相协作,成员之间互相了解、尊重,由极强的凝聚力。这条原则想要表达的就是:只有卓越的自组织团队,才能输出最佳的架构、需求和设计)
- At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.(团队要定期自省,优化、调整方法)