【发布时间】:2009-08-24 07:01:33
【问题描述】:
这不是巨魔,但我想知道对于已经开始的项目来说,最好的 XP 或 Scrum 是什么 我们是我公司一个重要项目的 6 名开发人员,问题是在假期期间,经典的 V 循环无效并且有一名初级架构师,我被要求为团队增加一些敏捷性。
所以我的问题是,在他已经在第三周的项目中包含敏捷性的最佳模式是什么?
编辑1:我忘了问为什么:)
编辑 2:团队使用 EntityFramework。
【问题讨论】:
这不是巨魔,但我想知道对于已经开始的项目来说,最好的 XP 或 Scrum 是什么 我们是我公司一个重要项目的 6 名开发人员,问题是在假期期间,经典的 V 循环无效并且有一名初级架构师,我被要求为团队增加一些敏捷性。
所以我的问题是,在他已经在第三周的项目中包含敏捷性的最佳模式是什么?
编辑1:我忘了问为什么:)
编辑 2:团队使用 EntityFramework。
【问题讨论】:
您可以立即从两者中汲取一些好的做法。
每日 Scrum 会议非常有效。让整个团队每天在白板而不是房间附近开会,站起来 15 分钟。每个人都必须回答三个问题:
这样做的直接好处是让每个人都感觉自己是团队的一份子,并让问题浮出水面。
将项目划分为迭代也非常有用。选择迭代长度,两周或一个月。
有时我们使用结对编程来建立团队精神并专注于特别复杂的问题。将一件事情交给两个人,让他们只用一台电脑来解决。
说到团队焦点,如果可能的话,让整个团队在同一个专用房间里工作。这很重要。
持续集成、良好的源代码控制和单元测试是让您的团队更加敏捷的技术工具。设置它们!
我还发现过去传阅(并悬挂大量打印件)敏捷宣言很有用。
为了变得更加敏捷,您需要您的业务负责人“认同”该方法。他们需要参与计划会议,在会议中挑选和选择应该在下一次迭代中开发哪些项目。通常,这种选择基于商业价值:首先开发最有价值的项目来降低风险。如果项目运行较晚,您仍然可以提前关闭它,仍然拥有最重要的东西。他们还必须承担完成开发的部分责任。这通常将开发重点放在正确的事情上。
我可以写更多关于这些方法的完整实施,但正如我所说,你的项目已经开始了。根据我的经验,实施敏捷方法的最大问题是人们很难理解敏捷的含义。即使在完全敏捷的开发过程中,有些人也会倾向于以非敏捷的方式行事!出于这个原因,我认为您需要进行一些敏捷培训,然后才能实施成熟的 Scrum。
希望对你有帮助!
【讨论】:
Task boards 是一个好主意,可以让每个人都知道在 sprint 中正在做什么以及应该做什么。开始这项工作可能会遇到挑战,但一旦团队习惯了它,作为一种展示正在做什么、已经完成和即将发生的事情的方式,它并不是那么糟糕。有估算任务和建立积压日志并烧毁,但这有时会很好地显示,“嘿,我们确实完成了一些工作!”我建议将前几个 sprint 作为速度不一致的时期,因为在 sprint 中可以完成多少工作存在一些问题。这是 Sklivvz 就您站起来的白板上发生的事情做出的回答的一部分。
结对编程也是帮助构建同质代码库并获得一些有用的标准的好主意。
【讨论】:
在项目开始后开始使用任何方法总是一个问题。但是我能给你的最好的方法是使用 SCRUM。
我提出这一点的原因是 SCRUM 以规范经常变化并迎合它的项目而闻名。
您有项目负责人,也就是您为其制定程序的人,他们拥有产品待办列表。积压基本上是你的规格。请更详细地阅读这些术语,我在这里进行了简化。
然后您将进行 sprint,这是一个 1 个月的开发周期,您可以在其中决定要从积压工作中完成的事情。
然后每天,你有一个 5 分钟的 Scrum 会议,你会问你前一天做了什么,你将要做什么,以及是否有任何障碍。
所以基本上,你有一个可以改变的规范,并不断的沟通。在我看来,这是最合适的敏捷方法,你可以在游戏后期使用。
【讨论】:
据我了解,您所说的基本上是为了减轻假期期间停机的影响,现在我们大步迈向假期期间,SCRUM 方法提供了一套正确的工具来处理这种情况,原因,
每个 Sprint 都会交付一个可交付的产品,因此您不必担心停机时间没有得到利用,因为在停机期间计划的工作量与团队可用性一样多。
SCRUM 与您使用的技术无关,无论是 EntityFramework 还是任何其他技术。
【讨论】: