如何处理敏捷团队中的客户端和迭代?

Ond*_*ták 4 agile agile-processes

这个帖子是我之前的一个跟进.这实际上是2个问题,所以我希望没有人介意,因为他们互相依赖.

我们正在开始一个新项目,我们认为这是一个尝试敏捷技术的好机会.我们对几本书和文章中的想法进行了头脑风暴,并提出了最适合我们的概念:2周迭代,然后与客户打电话,他们将在下一次迭代中选择他们想要的东西.我只有几个问题,我们无法弄清楚自己.

在第一次迭代中该做什么?

如果我们从头开始,通常在前几次迭代中做什么?只需对应用程序的代码核心进行一个月的开发,或者从具有有限预编码功能的简单线框开始?通常客户想看到什么?闪亮的东西不起作用或丑陋的东西有效吗?

如何与客户沟通?

我们最初认为将过程设置为这样的过程:

alt text http://img690.imageshack.us/img690/2553/communication.png

在客户端有一个联络点是一个好主意,还是最好直接与所有客户沟通以防止误传?


欢迎任何想法!提前致谢.

And*_*bel 6

在我看来,敏捷开发的一个关键成功因素是专注于在每次迭代中为客户提供价值.我肯定会选择"有效的丑陋东西"而不是"不起作用的闪亮东西".做一些闪亮的用户界面并试图让客户了解帽子业务逻辑花费大量时间来实施总是有风险,Joel Spolsky撰写了一篇很好的文章.

如果客户端想要增强UI,他们总是可以将其作为下一次迭代的要求.

关于与客户的沟通,我认为您应该稍微调整一下.用scrum术语来说,你的"焦点"被称为"产品所有者".让一个人与客户协调是好的,因为可能需要花费大量时间让不同的利益相关者就需求达成一致.但是,产品所有者(或联络人)应与开发人员直接联系,而无需通过项目经理.实际上,产品所有者和项目经理具有截然不同的角色,通过分裂为两个人而获得了很多收益.

产品所有者是利益相关者对开发团队的发言权.另一方面,项目经理负责项目团队的健康,并经常跟踪预算等.这些角色有时具有相反的议程,并且将他们分成两个人,为冲突的利益之间的谈判提供了一个健康的机会.如果一个人同时担任这两个角色,那么这个人往往倾向于支持其中一个角色,自动减少另一个角色.您不希望在项目经理总是将客户端放在团队需求之前的团队中工作.另一方面,没有客户希望产品所有者始终将团队的需求放在第一位,而忽略了客户.将责任分配给两个人有助于纠正这种情况.