一、敏捷宣言与十二原则
敏捷宣言:
敏捷宣言强调个体互动胜过流程和工具,可用的软件胜过详尽的文档,客户合作胜过客户谈判,响应变化胜过遵照计划。
敏捷十二原则:
1、最高优先级的是满足客户需求:通过尽早和持续交付有高价值的软件来满足客户。这是敏捷开发的核心,强调始终将客户需求放在首位,并尽快通过可用的软件来体现这些需求。
2、欢迎需求变化:即使在开发阶段的后期,敏捷流程也能够利用变化来为客户获得竞争优势。这反映了敏捷开发对变化的开放态度,认为变化是项目中的常态,并应被积极应对。
3、频繁交付可工作的软件:从数周到数月,交付周期越短越好。这有助于确保团队能够持续产生价值,同时使客户能够尽早看到并反馈开发成果。
4、业务人员与开发人员紧密合作:在项目过程中,业务人员、开发人员必须每天在一起工作。这种紧密的合作有助于确保开发的产品或服务真正满足业务需求。
5、以受到激励的个体为核心:构建项目时应围绕能够工作的个体,为他们提供所需的环境和支持,并信任他们可以把工作做好。这强调了团队中个体的价值和重要性。
6、面对面的沟通最高效:最有效的沟通方法是面对面的交谈。这种方式能够减少信息的误解和遗漏,提高团队的协作效率。
7、可工作的软件是衡量进度的首要标准:在敏捷开发中,团队的进度主要以可用的软件来衡量,而不是传统的计划完成度。这有助于团队更加关注实际的开发成果。
8、倡导可持续开发:客户、开发人员、用户要能够共同、长期维持步调(节奏)、稳定向前。这强调了敏捷开发中的可持续性,即保持稳定的开发速度和质量。
9、持续追求技术卓越:团队需要不断地提高自己的技术水平,追求技术的精益求精。这有助于确保开发的产品或服务具有高质量和高性能。
10、简单性是关键:尽最大可能减少不必要的工作。简单性是敏捷流程的根本,有助于提高开发的效率和减少出错的可能性。
11、最佳架构、需求和设计出自自组织型的团队:自组织的团队能够自我管理和决策,从而产生最佳的架构、需求和设计。这强调了团队自主性和灵活性的重要性。
12、团队定期反思并调整工作方式:团队需要定期反思如何提升效率,并调节和调整自己的工作方式。这种持续改进的精神是敏捷开发的核心之一。
二、敏捷核心概念
MVP(Minimum Viable Product,最小可行产品):开发团队通过提供最小可行产品获取用户反馈,并在这个最小可行产品上持续快速迭代,直到产品达到一个相对稳定的阶段。MVP对创业团队来说很重要,可以快速验证团队的目标,快速试错。
三、Scrum敏捷项目管理方法
三个角色:
产品负责人(Product Owner):负责明确需求、确定优先级并管理产品待办事项列表(Product Backlog)。
敏捷教练/Scrum Master:确保整个Scrum流程在项目中顺利运行,消除客户和开发团队之间的沟通障碍。
自组织团队(Scrum Team):负责完成冲刺所需的工作,通常团队规模控制在3到9人左右。
三个物件:
产品待办事项列表(Product Backlog):用于记录需求和任务,按优先级排序。
冲刺列表(Sprint Backlog):团队根据产品待办事项列表选取的特定冲刺所需完成的任务列表。
可交付产品增量(Increment):在每个冲刺结束后,团队交付给产品负责人的可用的、经过测试的、可以交付给客户的产品部分。
四个会议:
冲刺计划会议(Sprint Planning):确定下一个冲刺的目标和选择要完成的任务。
迭代评审会议(Sprint Review):在冲刺结束后,产品负责人和团队展示和讨论已完成的工作。
迭代回顾会议(Sprint Retrospective):回顾冲刺过程中发生的事件和取得的成果,以促进团队学习和改进。
每日站会(Daily Scrum):团队成员每天固定时间进行的短会,用于沟通进展、协调工作和解决问题。
四、敏捷实践中的关键要素
仆人式领导:一种为团队赋权的方法,通过为团队提供服务来领导团队,注重理解和关注团队成员的需求和发展。
用户故事与故事点估算:用户故事以角色的形式呈现需求,故事点用于估算用户故事的工作量。
看板与燃尽图:看板用于展示进度,燃尽图用于跟踪剩余工作量。
持续集成与持续部署(CI/CD):在敏捷项目中,持续集成和持续部署有助于加快软件交付速度并提高质量。
五、敏捷项目管理的优势与挑战
优势:敏捷项目管理能够灵活应对需求变化,快速交付有价值的软件,提高客户满意度和团队绩效。
挑战:敏捷项目管理需要团队成员具备较高的自我管理能力,同时需要克服传统项目管理中的一些惯性思维和做法。
PMP认证项目中的敏捷知识涵盖了敏捷宣言、十二原则、核心概念、Scrum敏捷项目管理方法以及敏捷实践中的关键要素等方面。掌握这些知识对于项目经理在复杂多变的项目环境中取得成功至关重要。