Agile project management is a methodology that focuses on flexibility, collaboration, and iterative development. It allows teams to adapt to changing requirements and deliver high-quality products in a fast-paced environment. There are several methods and tools used in agile project management.
One popular method is Scrum, which is a framework that divides a project into small, manageable parts called sprints. Each sprint typically lasts for two to four weeks, during which the team completes a set of predetermined tasks. At the end of each sprint, the team reviews the progress, adjusts the project plan if necessary, and moves on to the next sprint.
Another method commonly used in agile project management is Kanban. Kanban focuses on visualizing the workflow and limiting work in progress (WIP). It uses visual cues like boards and cards to provide a clear picture of the tasks at hand. The team moves cards across the board as they progress through the project, ensuring a constant flow of work and preventing bottlenecks.
When it comes to tools, there are numerous options available to support agile project management. One popular tool is JIRA, which offers features for creating, tracking, and managing tasks. It provides real-time visibility into project progress and allows for efficient collaboration and communication among team members.
Another widely used tool is Trello, a simple and intuitive project management platform. It uses boards, lists, and cards to help teams organize and prioritize tasks. Team members can easily visualize the workflow, move cards across the board, and track progress in real-time.
In addition, many teams use tools like Slack for efficient communication and collaboration. Slack allows team members to share information, ask questions, and provide feedback in real-time. It also integrates with other project management tools, enabling seamless workflow across different platforms.
In conclusion, agile project management encompasses various methodologies and tools that promote flexibility, collaboration, and iterative development. Scrum and Kanban are two widely used methods that divide projects into smaller parts to ensure faster delivery and adaptability. As for tools, options like JIRA, Trello, and Slack provide features for tracking progress, organizing tasks, and facilitating communication and collaboration within the team.
Agile敏捷管理 目录:
一什么是Agile
二什么样的团队适合Agile
三敏捷开发的实施步骤(SCRUM)
四Agile敏捷管理的具体实施
五敏捷工作坊的体验
六结语
七附:SCRUM在教育和政府领域的应用
从本质上讲,敏捷(Agile)并不是开发方法,而是一种理念对于项目管理而言,敏捷是一个全新的术语,敏捷强调在软件研发过程中持续性的根据用户反馈和需求优先级来发布新版本,不断进行迭代,让产品逐渐完善
在数十年前,瀑布式项目管理是软件研发的主流方法,在研发过程中,团队成员将会花大把的时间和精力在项目前期去收集资源和信息,然后基于这些去做产品设想和研发规划
到了70年代,有先觉的研发人员发现瀑布式研发不仅在执行中各处受限,研发速度还很慢,显然Out了尤其到了90年代末期,开始出现黑客来捣乱,这就意味着前功尽弃全部推倒重来,这简直是研发的噩梦
相比瀑布基于线性可预测性地去开发产品,研发人员更想要能够灵活管理用户反馈Bug和需求的方法这也就是敏捷方法出来以后受欢迎的原因
另外,你也可以通过这个视频学习 什么是敏捷(Agile)
在2001年,17位研发人员共同探讨出了敏捷宣言这份文档,阐述了他们对于软件研发的看法文中他们定义了敏捷开发需要遵守的四项价值观
总结为:
尽管如此,这四项价值观并不意味着我们就该放弃工具文档和计划因为它们对研发结果依然有非常重要的价值,只是相比之下,我们应该关注更核心的事物:人产品模型协作和迭代为了让这四项原则变得简单易懂好执行,他们又将写了 敏捷开发12项原则 作为指导:
如果我们把这些原则和遇到的问题对号入座,很快我们就会发现,这12项原则正是对应了客户期望比如,客户不会关心开发文档写的怎么样,他们更感兴趣交付的成品能干什么;他们不在意你的开发计划,他们希望你能立马交付;昨天他们想要修个BUG,而不是等到下次版本更新
我们总会遇到需求多样化的客户,而这时,敏捷能够确保你在研发过程中始终将用户需求作为核心
敏捷虽然听起来光鲜亮丽,但不是所有项目都能用敏捷来做
敏捷在公司里投入使用后可能与预想的结果背道而驰敏捷意味着快速推进项目,也就是说并不是所有事情都是按部就班因此,我们得知道在这种快速变化的环境下,团队是否能够适应变化
所以在部署使用敏捷前,需要团队先明确几个问题:
1.你是否会愿意接手目标不明确的项目?
敏捷项目管理中有句话叫做:快速失败比如我们接手了一个连最终产出都不明确的项目,首先我们会先交付最小模型产品,这时我们得做好被质疑的准备毕竟没人知道要做出怎么样的产品,所以我们的最小模型的产品很可能是个怪胎在与客户反复测试后,我们才会逐步了解他们的真实需求,这时候我们离成功又近了一步
2.你会如何规避项目风险?
就像我们前面提到的,敏捷提倡不断从犯错中积累学习并持续迭代如果我们走老路,用传统项目管理的方法来推进的话,我们会要承担更大的风险当然就算我们开始敏捷之后,也要准备好随时响应未知问题
3.你的团队能有多灵活?
作为项目经理,我们的责任是和客户一起把产品做的更好这么做很可能和设计研发其他成员的想法背道而驰这时我们需要找主心骨聊一聊,是否愿意放下老套路,根据用户需求来调整想法重新规划方向
4.公司阶层制度严格吗?
敏捷的其中一项原则不仅是和用户一起工作,研发成员的身份也会发生变化你们公司的文化开放吗?是否能接受扁平和开放的管理方法?
5.你怎么衡量进度?怎么定义成功?
用敏捷来管理项目能够帮我们逐渐进步的同时也督促我们将产品做得更好如果因为突发灵感而放弃正在执行的任务,那么敏捷将毫无意义我们先花些时间来看看团队是怎么看待进步和成功然后再来看我们是不是离最终目标一步步的更近了?
在Scrum中,产品经理和项目团队紧密协作,一起定义目标梳理产品需求清单清单中通常会包含产品特性修复bug非必要功能需求以及其他要在交付时完成的工作
有了产品清单,产品经理就会开始确定需求优先级,研发团队通常会在接下来30天左右的迭代中产出潜在可交付版本当研发团队制定了迭代清单后,除了团队成员外,任何人都不能再加入需求当一轮迭代完成后,全员再次分析需求清单划分需求优先级,然后进入下一轮迭代
1.三个角色
2.三种可视化文档
另外,用户故事要注意必须完整,遵循INVEST标准:
Independent让一个用户故事独立于其他用户故事
Negotiable可协商性,协商更多细节
Valuable必须对客户具有价值
Estimable开发团队需要衡量用户故事,以便确定优先级和工作量,并便于安排工作计划
Small规模小,至少要确保在一个冲刺周期中能完成
Teatable可测试,便于确定它是可以完成的
3.三种不同形式的会议
1确定敏捷开发中的3个角色:Product Owner, Scrum Master, Scrum Team
2拟定待办事项清单,并确定优先级
3改进和评估待办事项清单:
·要完成这些事项,现有信息足够吗?
·是否细分到了可以评估的程度?
·是否成员都能接受,用于评定一个事项已完成的标准?
·用相对难度去评估,利用斐波那契数列的数字
4冲刺规划会:Product Owner, Scrum Master, Scrum Team一起规划冲刺的内容,记录每个冲刺完成事项的点数
5将工作透明化:利用白板和燃尽图更新进度
6每日站会
7冲刺评估和冲刺展示:将成果展现给产品负责人看,哪些事项可以移到完成事项一栏,并接受评价
8冲刺回顾会
9上一个冲刺阶段结束之后,立刻开始新的冲刺阶段
在冲刺阶段结束之际,把所有已完成的用户故事列出来,将各项难度评分加在一起,最终的数字就告诉我们团队的进度是多少然后再看未完成用户故事的难度分值总和,就可以知道什么时候可以完成项目
速度 X 时间 =交付工作量
敏捷非常注重节奏,当你有多个任务要交付,团队更需要注重节奏的把握而身为项目经理,我们的职责是让整个团队通过协作最终交付产品
敏捷是不断规划执行学习和迭代的过程,敏捷项目通常可以分解为一下7步:
第1步:通过战略会议定义你的愿景
每当开始新项目时,第一件要做的事情是定义产品的业务需求,或者说想要达到的愿景事实上,我们只需要回答一个问题:你为什么想要做这个产品这是我们心中的蓝图,时时提醒我们不要跑偏
作为一家产品公司,定义愿景的最佳方法之一是电梯演讲:
用于:(哪部分目标客户)
需求:(用户的需求)
类别:(我的产品是哪种类型)
功能:(产品的价值客户为什么选我们)
竞品:(主要的竞争对手有哪些)
差异化:(和竞品的差异化描述)
即使我们做的不是软件产品,我们也可以根据项目的目标来调整上述内容
战略会议的参与角色都有谁?
此时我们要让更多人认同这个项目,所以很多关键的利益相关者自然不能缺席,包括相关主管经理主任和产品经理
战略会议该什么时候召开?
项目开始前我们就该来开战略会,或者至少每年一次的定期会议来保证愿景依然不过时
战略会议要召开多久?
这个就由你主观来决定了,一般来讲,花4-16小时来探讨战略已经足够了
第2步:绘制产品路线图
当我们开完战略会后,就该轮到产品经理把愿景变成产品路线图产品路线图能帮助我们纵观全局理清思路,让我们有宽松的时间来开发每个产品需求宽松并不是说我们可以花数天或是数周的时间来推进每步计划,而是轻量级的去定义产品理清需求优先级和粗略估算产品每个需求的时间
项目管理专家Roman Pichler认为:目标导向的产品线路图能够聚焦于目标和产出结果(比如:获客增加活跃度满足客户需求)而产品特性来自于这些目标,所以我们在制定目标时应谨慎,每个目标对应3-5个产品特征
而每个目标,我们需要包含5个关键信息:时间名称目标产品特征和衡量标准,有了这些,我们就能清楚知道哪些该做什么时候算做成功了以及我们如何取得了成功
产品路线图由产品负责人画,同时听取利益相关者的想法,如客户市场研发代表等,并最好在战略会议结束后着手画产品路线图
第3步:制定发布计划
当我们有了战略和计划,下一步我们就可以暂定几个时间节点
这个阶段产品经理要严格按照计划发布新版本我们也不用担心功能不齐全的问题,敏捷项目都会有多次发布的过程,所以我们只要优先发布核心功能的版本即可
举例来说,你的项目要在11月交付,而你可能在2月初就已经做好了最小模型,打算在5月左右发布完整版这些时间节点的安排都将由你的项目难度和每次迭代时长(或者说每次达成目标需要的工作时长)决定通常每次发布新版本都需要经历3-5次迭代
谁来制定发布计划?
产品经理项目经理和所有团队成员都该来参与其中当然,邀请少数利益相关者来加入其中也是对其他成员的鼓励,让团队能够尽早开始
发布计划什么时候来做?
越早越好,你的发布计划应该在确认新产品后的第一天开始制定在随后的每个季度中至少记录一次
制定发布计划要多久?
一般来说会需要4-8小时,实际时长由具体情况决定,但不能因为它拖进度
第4步:制定迭代(Sprint)计划
迭代(Sprints),我将其理解为通过短期研发完成具体任务来达到目标的一个过程,也是帮助产品经理和研发团队逐渐切入项目细节的方法
通常情况下,每次迭代大约要花费1-4周具体的时长我们需要根据团队过往的表现情况来制定,同时尽量保持每次迭代的时长相同
哪些角色参与制定迭代计划?
迭代是整个团队的活,因此,产品经理项目经理以及其他所有成员都该积极参与其中,表达自己的声音和想法
迭代计划什么时候来制定?
在每次迭代周期开始前,我们就需要做好迭代计划比如说,你的计划是每周迭代,那么就你就需要在每周一(或者你选好的某一天)告诉其他人迭代计划
制定迭代计划要多久?
迭代计划是迭代周期的基石,虽然如此,我们也不要在这上面浪费过多的时间,通常2-4小时足够了写好了迭代计划也就意味着我们已经踏上了正轨
第5步:每日站会
在每次迭代过程中我们需要有时间来确认项目组没有遇到阻碍,同时保证能准时完成既定目标这时候我们就需要使用每日站会
每日站会,如同字面意思一样通俗易懂,每天花15分钟左右的时间来讨论下面3件事:
昨天我完成了哪些事情
今天我打算做哪些事情
我有遇到哪些问题,如何解决
或许讨论这3件事,可能让团队的一部分人的脸挂不住但这对推动敏捷项目管理的沟通有积极意义敏捷之所以能够跨团队协作,主要依靠的就是团队快速响应和有让成员发声表达的空间
第6步:迭代(Sprint)结束了?那就进入评审阶段吧
如果迭代中一切顺利,那么迭代周期结束后,我们需要来检测下软件的功能我们可以借评审的机会来向团队成员和利益相关者展示成果
作为产品经理,你对产品功能有选择的权利如果有哪步错误,尝试多问几个为什么?下次迭代时我该怎么调整才能让团队达成目标?敏捷是不断学习和迭代的过程,你的流程管控和最终产出也是同一道理
哪些角色参与评审?
团队全员和利益相关者都应该参加迭代评审会来确认项目进度和表达他们的观点
什么时候执行评审?
每次迭代结束后就可以开始
评审阶段要多长久?
无需特意去准备PPT功能说明,审查会最多1-2小时就够了
第7步:迭代(Sprint)回顾总结
为了让敏捷项目管理能顺利运作,我们在每个阶段结束后需要知道下一步要做什么这是我们在迭代回顾阶段要做的事当迭代和审查结束后,接下来该去决定下次要做哪些工作我们需要回顾下,在迭代中是否发生了些事情改变了你的既定时间,甚至是项目愿景
谁来参加回顾总结会议?
回顾总结是审查的延伸,这时利益相关者离开也没有关系,而其他团队成员则加入其中,给出自己的意见
什么时候来做?
当然最好是在审查阶段结束后,立刻开始迭代回顾总结
这会花多长时间来做?
概括下来大概几个词:简短明了甜蜜温馨,最多花1-2小时来总结和大致规划下次计划
工作坊的体验主要是让学员大概体会一下运用敏捷的方式开发项目的流程,并通过一些敏捷工具深化在敏捷开发过程中的运用
1制作自行车项目
(1)分组并确定团队内敏捷3个角色
(2)定冲刺周期(每10min1个sprint,3个sprint)
(3)在冲刺开始前,给每个组15分钟开战略规划会,此期间验收人对自行车提出需求,要满足什么样的功能,团队开战略会列出任务清单
(4)每个sprint结束后给每个组7分钟开站会
(5)每个组的SCRUM Master更新看板和燃尽图
(6)进行项目验收,对成果进行点评
(7)结束后小组内进行总结回顾会
2乐高堆房子项目
(1)分组并确定团队内敏捷3个角色
(2)定冲刺周期(每15min1个sprint,4个sprint)
(3)在冲刺开始前,给每个组15分钟开战略规划会,此期间验收人对自行车提出需求,要满足什么样的功能,团队开战略会列出任务清单
(4)每个sprint结束后给每个组10分钟开站会
(5)SCRUM Master更新看板和燃尽图
(6)在第三个Sprint开始时,要求团队内交换2名成员到其他组完成自己组的任务,期间不得交流,只能依据看板进行
(7)进行项目验收,对成果进行点评
(8)结束后小组内进行总结回顾会
七SCRUM的应用
1SCRUM与教育
教师首先让学生对自己的性格做评价,将自己划分为不同类别,分为勇敢类,喜欢数学类,关心他人感受类,勇往直前实现目标类,将不同类型的学生组合在一起,形成多功能小组教师拟好所有待学事项,让各小组的学生每天将所有事项移到待办事项中,然后开始动手,打开教材,自己学习,组内互教互学教师从完成事项一栏随机挑出一些事项问组内成员,以确定每个人都理解相关概念,只有当每个人都理解了之后,才符合所说的完成的定义,一切交给学生来做决定
2SCRUM与政府
制定政策:每周都去改变一件事情,采用增量方法,每周都会展示一种可交付的产品,每个机构都会切实感受到成果的存在
书籍建议:
敏捷革命:提升个人创造力与企业效率的全新协作模式
SCRUM的一些工具:
Leangoo(领歌)基于看板的可视化协作
ConfluenceJira
国外有Redmine,Axosoft,国内有禅道,一些自研工具(百度Icafe,阿里Aone,腾讯Tapd)
劳伦斯在七根智慧之柱中写道:所有人都做梦,但是却不尽相同,那些夜里在蒙灰的心灵角落做梦的人,早上醒来往往发现是空洞虚无的而那些白日做梦的人,则是最危险的,因为他们会在睁着眼睛做梦的时候,把梦想变成现实
看了这么多,不如试一试吧!此文由个人整理而来,主要来源于个人在敏捷团队时敏捷开发的逻辑和思考,以及明道云博客和敏捷相关书籍英文文档翻译等如有疑问或补充,欢迎评论下方交流~