Communication 客户参与敏捷开发的最佳实践?

Communication 客户参与敏捷开发的最佳实践?,communication,agile,collaboration,Communication,Agile,Collaboration,我们需要让我们的客户开发合作伙伴参与我们的开发过程。我们或多或少都在遵循敏捷方法。一些客户合作伙伴距离遥远,而另一些则更近。我们需要尽量减少旅行费用 我们的客户都是从事医疗保健的,而且往往很忙、很贵、很难安排 哪些实践和技术能够支持客户参与?我们使用电话、电话会议和电子邮件。我们对利用维基技术很感兴趣,也很想听听其他人的想法。只是一些想法: 如果您确实选择使用Wiki,请确保它支持整个Wiki范围的“最近的更改”列表,最好是特定于用户的列表。人们离开发越远,就越有可能用电子邮件来比喻他们的计算机

我们需要让我们的客户开发合作伙伴参与我们的开发过程。我们或多或少都在遵循敏捷方法。一些客户合作伙伴距离遥远,而另一些则更近。我们需要尽量减少旅行费用

我们的客户都是从事医疗保健的,而且往往很忙、很贵、很难安排

哪些实践和技术能够支持客户参与?我们使用电话、电话会议和电子邮件。我们对利用维基技术很感兴趣,也很想听听其他人的想法。

只是一些想法:

如果您确实选择使用Wiki,请确保它支持整个Wiki范围的“最近的更改”列表,最好是特定于用户的列表。人们离开发越远,就越有可能用电子邮件来比喻他们的计算机使用。如果他们不能立即知道什么时候有新的东西让他们看,他们将永远不会去探索它。您最好还需要向他们发出信号,表示您需要他们关注问题,否则他们会像对待CCs一样对待变化

我非常相信创建交互(叙述)的视频屏幕截图并将其分发给用户。与真正的演示不同,客户不需要中断,他们可以反复回放和重新观看相同的交互,关注小细节


最后,如果您分发原型,请确保派人(或至少是一次屏幕共享会话)查看原型是如何使用的。语境设计是有效的。您可以指望人们以不同于您预期的方式使用您的原型,并且您必须了解他们如何使用原型来真正了解问题所在,即使他们没有报告问题

你考虑过类似的事情吗

这将允许客户登录到您网络上已经运行应用程序的PC,或者允许您在其中一台计算机上安装/更新应用程序

这将解决远程客户问题,还将支持敏捷过程中持续不断的客户反馈需求

我以前曾在一家公司使用过它作为技术支持,但没有理由(可能成本除外)它不适合您的情况


这也是了解用户如何使用您的应用程序的一个很好的方法,从而了解哪些是有效的,哪些是无效的。

首先,请确保您有一位产品经理或产品负责人与开发人员保持密切联系。此人将负责管理与客户的关系

然后,产品经理可以在每次迭代结束时向客户演示产品,并在开发人员需要反馈以实现用户故事时向客户提问

当你让客户参与进来时,你能从他们那里得到积极的反馈,这是令人惊讶的


我们没有使用wiki,大部分交流都是通过电子邮件、电话和屏幕共享应用程序进行的(我们使用GoToMeeting,但还有很多其他选择)。

客户是否在同一个隔间或地球的另一端并不重要,除了通信延迟,关键因素是可用性

如果一个客户忙了好几天都没时间回复你的电子邮件,那么他将导致你的迭代延迟或失败

客户对敏捷有两个关键承诺:

  • 能够及时回答问题
  • 在迭代过程中不改变他们的想法/优先级
  • 客户必须承诺就可用性达成合理的服务水平协议(SLA),例如1小时响应时间或24小时响应时间等,并且您需要根据滞后系数调整所有估计和计划。如果客户不承诺或不贯彻执行,则取消迭代并重新规划,再次将客户的承诺放在首位。不要只是“猜测”你认为客户可能想要什么


    一句话:如果没有客户的承诺,敏捷将无法工作。

    您可能应该在同一地点与每个人一起启动一次。面对面的时间是无价的。这包括所有开发人员。准备一些元计划问题,但也有足够的时间进行交流。

    一个选项:在“客户合作伙伴”站点安装客户代理,当这些客户可用时,他们可以提取您需要的信息。让这些代理建立稳固的关系,使它们能够代表客户视图。他们的时间都是你的。当出现他们无法回答的问题时,他们可以随时联系您的客户合作伙伴,即使是在咖啡店里。

    敏捷中客户的全部目的是与开发人员进行开放和自由的对话(即即时反馈)。如果您的实际客户无法提供此服务,则您需要一个中介/代理来填补此角色。你不需要实际的客户,你只需要一个能够充分代表客户利益的人来满足客户的需求。

    我在敏捷方法方面的经验主要用于桌面应用程序。当我们的客户处于远程状态时,我们会花时间让工程师到客户站点配置/安装演示装备。工程师与客户一起制定测试和演示设置/计划,该计划将提供一个客户认为可以复制部署环境重要方面的环境,但可以将演示系统与现有基础架构隔离开来(以便我们可以在需要时推送更新)。工程师还设置了部署系统,将我们的应用程序转移到生产环境中,这样我们就可以在不在现场的情况下进行“部署”。我们的应用程序可以自我更新(无论是针对每个版本还是每个构建),我们仔细地记录所有错误并将所有崩溃作为bug提交给bug跟踪器。这样我们至少知道出了什么问题,伊夫