如何高效地进行敏捷开发管理

简介: 敏捷开发其实也是企业的一种管理文化。目前软件行业敏捷开发管理最大的问题在于太看重具体的形式,而忽略了敏捷的初衷。很多公司请几个敏捷教练建立流程,把会议室的椅子都搬走宣布从今以后大家站着开会了,使用敏捷管理工具建立迭代、建需求、分任务,可是这真的就意味着敏捷了吗?因为敏捷,老板要求这个功能明天上线,怎么实现我不管,毕竟响应变化高于遵循计划。

敏捷开发其实也是企业的一种管理文化。

目前软件行业敏捷开发管理最大的问题在于太看重具体的形式,而忽略了敏捷的初衷。

很多公司请几个敏捷教练建立流程,把会议室的椅子都搬走宣布从今以后大家站着开会了,使用敏捷管理工具建立迭代、建需求、分任务,可是这真的就意味着敏捷了吗?

因为敏捷,老板要求这个功能明天上线,怎么实现我不管,毕竟响应变化高于遵循计划。

因为敏捷,我们希望每天至少发布一个版本,没办法,敏捷要求我们快速地交付可工作的软件。

因为敏捷,虽然需求我们还没想好,但是这个版本要保证本周内上线,敏捷宣言说得好,要欣然面对需求变化。

因为敏捷,我们项目一篇文档也没有,毕竟工作的软件高于详尽的文档。

。。。。

我们不禁要问,这真的是敏捷吗?敏捷的初衷是团队成员能够更加紧密地配合完成工作,敏捷开发强调拥抱变化,但并不意味着可以随心所欲地变更需求。敏捷开发的实质是通过迭代式增量软件开发的方式,防止出现长期闭门造车严重偏离客户需求,达到快速响应市场变化的目的。

下面我想分享下我们公司在近百人的开发团队,同时进行十几个项目开发的过程中,是如何使用CORNERSTONE管理平台进行敏捷项目管理的。

一、角色划分

杰夫·萨瑟兰将SCRUM团队中的角色分为三种:

  • 开发团队成员,负责开展具体的开发工作;
  • Scrum主管,协助开发团队把事情做得更好;
  • 产品负责人,决定应该做什么工作,拟定待办事项清单的内容。

我们根据我们开发中的实际情况将系统中的角色分为以下四种:

  • 项目经理:相当于Scrum主管,负责协调团队内部合作,召集站立会议,把控项目整体进度。需要明确的是,项目经理并不是一个传统意义上的团队领导。用更流行的话说,项目经理更像是一个仆人式领导。项目经理不应该对团队成员大吼小叫,也不会告诉研发人员该做什么以及如何开发一款产品,而是应该集中精力帮助研发人员清除前进道路上的障碍。
  • 产品经理:相当于产品负责人,负责决定应该做什么工作,拟定待办事项清单的内容,确定各个事项的优先顺序。事实上,和很多人理解的不同是,确定各个事项的优先级几乎是敏捷中最重要的工作。为什么?在软件开发领域有一条根据数十年研究工作总结出来的原则,即在任何一款软件中,80%的价值来自20%的功能。人们总喜欢说每个需求都是重要的,但产品经理需要问一下自己,究竟哪些需求能够给整个项目带来最大的价值?而这些能够带来最大价值的需求就必须优先完成。
  • 开发人员:开发人员是项目开发任务具体的实施者。他们负责完成开发任务,及时反馈开发进度。
  • 测试人员:测试人员是项目测试任务具体的实施者。他们负责制定测试计划,编写测试用例,创建以及回归缺陷。

CORNERSTONE中,我们可根据项目成员的具体职能设定不同的角色和权限。

打开百度App,看更多图片
二、收集需求(用户故事)

在项目开始前,产品经理应该基于用户或市场的需求,来编写用户故事,即CORNERSTONE中的需求。一个好的需求(用户故事)一般应该满足INVEST标准:

在这里插入图片描述
(一) 独立性(Independent)——尽可能地使一个需求独立于其他的需求。需求之间的依赖使得制订计划、确定优先级和工作量评估都变得很困难,通常我们可以通过组合需求和分解需求来减少依赖性。

(二)可协商性(Negotiable)——需求的内容要是可以协商的,需求不是合同。

(三)有价值(Valuable)——每个需求必须对客户具有价值。

(四)可评估(Estimable)——开发团队需要衡量需求,以便确定优先级和工作量,并便于安排工作计划。

(五)规模小(Small)——一个好的需求要尽量维持小规模,至少要确保在一个迭代周期中能够完成。需求越大,在安排计划、工作量评估等方面的风险就会越大。

(六)可测试(Testable)——一个需求要可以测试,以便确定它是可以完成的。如果一个需求不能够测试,那么你就无法知道它什么时候可以完成。

基于以上原则,CORNERSTONE支持在创建需求时,关联其他需求(这样我们便可以做到组合需求来控制单个需求的粒度!),关联测试用例(确认需求是可以被测试的!),关联迭代(确保需求可以在一个迭代中完成!),设定优先级以及开始截止时间。
在这里插入图片描述

三、冲刺规划会议(Sprint Planning Meeting)

在每个迭代开发正式开始前,我们都会举行一次规划会议,由产品负责人讲解需求,由所有团队成员一起负责将需求拆解细化成具体的开发任务。开发任务的颗粒度最好足够细,以确保一名开发人员在一个迭代周期内可以开发完成。

一次冲刺规划会议中的产物一般为:

(一)具体分配到每个开发人员的任务列表;
在这里插入图片描述
(二)会议纪要,CORNERSTONE提供了WIKI功能,可以在系统中保存每次会议的会议纪要;
在这里插入图片描述

四、每日站会

在迭代开始后,我们团队一般每天上午固定15分钟左右进行内部沟通。我们一般会打开CORNERSTONE任务的看板视图:
在这里插入图片描述

每个团队成员只需要用三到五句话说明以下三个问题:

  • 我昨天做了什么来完成我的任务;
  • 我今天打算做什么来完成我的任务;
  • 有没有什么可能的阻碍因素会导致我不能按时完成任务。

一般来说,项目负责人需要聚焦于帮助团队成员解决阻碍因素,以帮助所有任务按时完成。

五、随时关注团队进度

在迭代的开发过程中,项目经理需要随时关注项目的开发进度。我们的项目经理一般通过CORNERSTONE提供的项目仪表板来查看项目的整体完成情况;通过燃尽图了解任务的完成情况;通过缺陷分布、缺陷累计来了解迭代完成的质量。
在这里插入图片描述

系统自带的甘特图能随时查看迭代的具体进程以及每个项目成员的任务分工情况,做到分配合理。
在这里插入图片描述

除了以上统计外,还有一个“报表”功能属于管理员专用,报表功能包含迭代燃尽图、代码提交统计、状态分布统计、每日新增曲线,每日完成曲线、累计数量曲线以及成员工时列表等统计信息。

六、评估总结

在每一次迭代束之前,我们的研发团队成员还要聚在一起开个评估会,向产品负责人演示在这个阶段之内取得的成果,接受评估意见。研发团队成员会评估一下列表上的工作任务已经完成了多少,自己是在这个阶段的冲刺中认领了太多任务以至于没有做完,还是工作任务认领得太少了。CORNERSTONE同样提供了汇总视图,用以在这类会议上展示说明。
在这里插入图片描述

最后总结一下,敏捷其实是一种管理方式,敏捷不会告诉我们具体每个项目应该怎么做,杰夫·萨瑟兰有句话说得好,不要猜测,要规划、执行、检查、行动。我认为这句话道出了敏捷的本质。

目录
相关文章
|
7月前
|
敏捷开发 开发框架 数据可视化
|
敏捷开发 测试技术 持续交付
Scrum敏捷开发:适应变化的核心能力
敏捷开发是一种以人为核心,迭代、增量式的软件开发方法。它强调团队成员的密切合作、快速响应需求变化、持续交付高质量软件。
|
2月前
|
敏捷开发 数据可视化 测试技术
利用敏捷开发方法优化项目管理
【10月更文挑战第14天】敏捷开发方法论强调适应性和人本价值,通过迭代和增量的方式提升软件交付效率。本文介绍敏捷开发的核心原则、实施步骤及其在项目管理中的应用,包括透明化管理、快速响应变化、提高团队协作和持续改进等方面,旨在帮助团队更高效地运作。
|
3月前
|
敏捷开发 测试技术 持续交付
构建高效团队:敏捷开发与远程协作的最佳实践
在快速发展的技术行业中,构建高效的开发团队至关重要。本文介绍了敏捷开发的核心原则,包括跨功能团队、迭代进展、持续改进和客户合作,并探讨了远程协作的挑战与机遇。面对沟通障碍、时区差异等挑战,企业可以通过明确沟通渠道、建立清晰工作流程、促进团队凝聚力、利用自动化工具及灵活安排工作来提升远程团队的效率。敏捷开发与远程协作相结合,不仅能提高生产力,还能增强团队的创新能力和凝聚力。
|
4月前
|
持续交付 C# 敏捷开发
“敏捷之道:揭秘WPF项目中的快速迭代与持续交付——从需求管理到自动化测试,打造高效开发流程的全方位指南”
【8月更文挑战第31天】敏捷开发是一种注重快速迭代和持续交付的软件开发方法,通过短周期开发提高产品质量并快速响应变化。本文通过问题解答形式,探讨在Windows Presentation Foundation(WPF)项目中应用敏捷开发的最佳实践,涵盖需求管理、版本控制、自动化测试及持续集成等方面,并通过具体示例代码展示其实施过程,帮助团队提升代码质量和开发效率。
72 0
|
敏捷开发 人工智能 Cloud Native
LeSS 敏捷框架高效生产力实践
LeSS 敏捷框架高效生产力实践
71 0
|
7月前
|
敏捷开发 开发框架 持续交付
深入探讨敏捷开发项目管理流程与Scrum工具:构建高效团队与卓越产品的秘诀
深入探讨敏捷开发项目管理流程与Scrum工具:构建高效团队与卓越产品的秘诀
|
敏捷开发 前端开发 项目管理
高效敏捷开发体验
本场景将带你基于云效项目协作Projex进行高效敏捷开发。
|
敏捷开发 BI 测试技术
这样做,项目管理简单高效
本场景将带你基于云效项目协作Projex高效进行项目管理。
|
敏捷开发 测试技术 持续交付
Scrum敏捷开发模式的优势、实践经验及适用企业
Leangoo领歌是一款永久免费的专业敏捷开发管理工具,支持私有部署,它提供端到端敏捷研发管理解决方案,包括小型团队敏捷开发,规模化敏捷SAFe,Scrum of Scrums大规模敏捷,涵盖敏捷需求管理、任务协同、进展跟踪、缺陷管理、统计度量等。提供了不同视角的统计,例如:进度统计、燃尽图、团队速率、任务分布、缺陷分布、测试用例分布等等,实时掌握项目状态及进展。