为C#开发人员团队带来敏捷性

时间:2009-08-24 07:01:33

标签: c# agile

这不是一个巨魔,但我想知道什么是最好的XP或Scrum项目已经开始 我们公司的6个开发人员是我公司的一个重要项目,问题是在休闲期间,经典的V循环无效并且有一个初级建筑师,我被要求对团队有一定的敏捷性。

所以我的问题是,在第3周的项目中包含敏捷性的最佳模式是什么?

编辑1:我忘了问为什么:)

编辑2:团队使用EntityFramework。

4 个答案:

答案 0 :(得分:7)

直接,你可以从两者中采取一些好的做法。

每日Scrum会议非常有效。让整个团队每天在白板附近,而不是房间,15分钟站起来。每个人都要回答三个问题:

  • 你昨天做了什么
  • 你今天会做什么
  • 有什么阻碍你的方式

这有利于让每个人都感受到团队的一部分,并让问题浮出水面。

将项目划分为迭代也非常有用。选择两周或一个月的迭代长度。

  • 在迭代的第一天举行为期半天的会议,团队选择并承诺在迭代中做什么。写下来并在每日会议期间参考它。监控您正朝着目标前进。
  • 在迭代的最后一天再做半天会议,做两件事。首先,您希望演示当前对业主(或利益相关者)的最新技术。这使团队专注于可以演示的东西,并通过显示不断的进展来保持团队的压力。其次,你想举行一次回顾性会议,在其中写下出错的地方,正确的事情以及发生的任何特殊事件。

有时我们使用结对编程来建立团队精神并专注于特别复杂的问题。只使用一台计算机给一个项目解决两个人。

说到团队关注,尽可能让整个团队在同一个专用房间工作。这非常重要。

持续集成,合理的源代码控制和单元测试是技术工具,可以让您的团队更敏捷。设置它们!

我还发现过去有用的是传播敏捷宣言(并挂出大量的印刷品)。

为了变得更加敏捷,您需要业主“购买”方法。他们需要参与规划会议,在那里挑选和选择在下一次迭代中应该开发哪些项目。通常,这种选择基于商业价值:通过首先开发最有价值的物品来降低风险。如果项目运行较晚,您仍然可以提前关闭它,仍然拥有最重要的东西。他们还必须接受将开发完成的部分责任。这通常将发展重点放在正确的事情上。

我可以在这些方法的全面实施上写更多内容,但正如我所说,你的项目已经开始了。根据我的经验,实施敏捷方法的最大问题是人们难以获得敏捷意味着什么。即使在完全敏捷的开发过程中,有些人也会倾向于以非敏捷的方式行事!因此,我认为在实施完整的Scrum之前,您需要进行一些敏捷培训。

希望它有所帮助!

答案 1 :(得分:2)

Task boards让每个人都知道正在做什么以及应该在sprint中完成什么是一个好主意。开始这项工作可能会遇到挑战,但一旦团队习惯了,就可以通过一种方式来展示正在做什么,做了什么以及将要做什么。有估计任务,并建立一个后台日志和烧毁,但有时可以看到很高兴,“嘿,我们确实完成了一些事情!”我建议将前几个短跑作为一个速度不一致的时期,因为有一些工作可以解决冲刺中可以做多少工作的问题。这是Sklivvz关于你站起来的白板上的答案的一部分。

结对编程也是一个很好的主意,可以帮助构建同类代码库并获得一些也很有用的标准。

答案 2 :(得分:1)

在项目启动后开始使用任何方法总是一个问题。但是我能给你的最好的就是使用SCRUM。

我提出这个原因的原因是SCRUM以其规格经常变化并迎合它的项目而闻名。

您拥有项目所有者,他是您为其制作计划的人,他们拥有产品待办事项。积压基本上是您的规格。请仔细阅读这些条款,我在这里进行简化。

然后你的sprint,这是一个1个月的开发周期,你可以在其中决定你将从积压工作中完成的事情。

然后每天,你有一个5分钟的scrum会议,在那里你会问你前一天做了什么,你将要做什么,以及你的路上是否有任何障碍。

所以基本上,你有一个可以改变的规范和持续的沟通。在我看来,这是关于最合适的敏捷方法,你可以在游戏中稍后进入。

For more information on SCRUM

答案 3 :(得分:1)

据我所知,你所谈论的内容基本上是为了消除假期期间停机时间的影响,现在我们大步走假期,SCRUM方法为处理这种假期提供了一套合适的工具。情况,理由是,

每个Sprint都会提供可交付的产品,因此您对停机时间未被利用的担忧肯定会被排除在外,因为在停机期间只会计划那么多的工作与团队的可用性一样多。

SCRUM与您使用的技术无关,无论是EntityFramework还是其他任何技术。