“敏捷”是一种思维模式:它关注交付价值、尊重人、推崇消除浪费(减少不必要的工作)、透明化、适应变更、持续改善;
“敏捷方法”囊括了多种框架和方法,这些方法是符合《敏捷宣言》和《敏捷十二大原则》的任何方法、技术、手段、实践,常见的方法比如:看板、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.(团队要定期自省,优化、调整方法)