65.9K
CodeProject 正在变化。 阅读更多。
Home

与 Microsoft CVP Brian Harry 进行实时问答

starIconstarIconstarIconstarIconstarIcon

5.00/5 (3投票s)

2014 年 11 月 12 日

CPOL

14分钟阅读

viewsIcon

43323

11 月 12 日星期三,微软副总裁 Brian Harry 将在本篇文章的评论区进行在线问答。

与 Microsoft CVP Brian Harry 进行实时问答

11 月 12 日在线问答时间为美国东部时间下午 5:00 - 5:45。

11 月 12 日星期三,在微软的 Visual Studio 活动(正在从纽约直播)宣布之后,微软副总裁 Brian Harry 将在本篇文章的评论区进行在线问答。

我们在下面的采访中自己提出了一些问题,以引出话题,但请在下方的评论区为 Brian 和他的微软团队提出您自己的问题,**并请在美东时间下午 5 点加入我们的在线问答**!

您能告诉我们您目前关注的重点是什么吗?

我的重点是帮助软件开发组织更好地进行开发——更快、更可靠、更便宜、更敏捷。最近,我们投入了大量精力在 DevOps 工具上,以改进开发人员将代码更改快速轻松地交付给客户并收集反馈以驱动下一轮改进的速度和便捷性——即 DevOps 的良性循环。

对于那些还不了解的人来说,VS Online 与常规 Visual Studio 有何不同?使用 VS Online 相较于 Visual Studio 有何优势?

Visual Studio 是一个品牌,包含多个产品。当大多数开发人员想到 Visual Studio 时,他们会想到“**集成开发环境**”(IDE),它可以帮助您编写代码、调试代码等等。本月我们将发布 Visual Studio 2015 的预览版,其中包含许多我认为开发人员会喜欢的新功能。

Visual Studio Online 是一套云托管服务,可促进软件开发活动,这些活动通常被归类为应用生命周期管理(“ALM”)或 DevOps。这包括我们本地产品 Team Foundation Server(或“TFS”)中的一些功能,例如源代码托管、项目管理和生成自动化。然而,Visual Studio Online 还引入了一些专为云设计的功能,例如 Application Insights,它可以帮助开发人员及其团队收集来自世界各地运行的应用程序的数据,用于监视、分析和遥测。

Visual Studio Online 可以与 Visual Studio 以及 Eclipse、IntelliJ、Xcode、Emacs 等其他 IDE 结合使用……我们支持 Git 存储库,并且可以通过任何 Web 浏览器访问我们的大部分功能,因此它确实是为所有人设计的。

从 ALM 工具的角度来看,您今天宣布了什么?

我首先展示了一些我们正在构建的用于支持 DevOps 工作流的工具和技术。如果您读过《凤凰项目》,您就会熟悉 DevOps 的“三种方式”,这很好地描述了组织在成功采用 DevOps 时所经历的转型。在第一种方式中,重点是简化开发人员编写的代码的发布,以便可以自动部署、自动测试,并本质上更快地发布到生产环境,同时保持高水平的质量。为了实现这一点,我们首先展示了新 Azure SDK 中的 **Cloud Deployment Projects**,它使开发团队能够将所有云基础结构和配置要求封装为代码,从而可以轻松地与您的应用程序代码一起进行版本控制和部署。然后,我们展示了我们的 **Release Management for Visual Studio** 解决方案现在如何作为一项服务(目前处于预览状态)通过 Visual Studio Online 提供。过去,这只是本地运行的 Team Foundation Server 的一项功能,但我们很高兴现在开始为团队提供托管服务。Release Management 使定义发布管道、确定发布到生产环境之前谁必须批准发布、了解已部署内容及其位置等变得更加容易。最后,我们展示了 **Smart Unit Tests**,它可以帮助开发人员编写更好的单元测试,从而提高代码的覆盖率和架构覆盖率。自动化测试在拥抱 DevOps 时至关重要,因为它为您提供了额外的安全网,可以在错误或回归传播到下游之前捕获它们。

通过 DevOps 的“第二种方式”,组织真正专注于从其正在运行的应用程序中获取信息,以便他们可以更明智地进行持续投资。今天,我展示了我们将 **Application Insights** 引入 **Azure Preview Portal** 的过程。这为组织提供了一个单一的仪表板,用于监视其所有应用程序,并能够回答三个基本问题:我的应用程序是否可用、性能是否良好以及是否成功满足了其要求。

这些技术随后可以帮助组织实现 DevOps 的“第三种方式”——快速运行实验的能力。他们可以进行频繁的小幅更改,并快速衡量这些更改的效果,从而为下一组更改提供信息。快速迭代的能力可以真正释放团队的创新速度。我们还预览了一些我们将在未来几个月交付的完善的功能。这包括一项新的代码搜索功能,以及我们的下一代生成系统,我认为人们会喜欢它。它是开放的、灵活的、易于自定义的,甚至还包括一个跨平台生成代理,允许开发人员在非 Windows 机器上运行生成。通过在 Mac 上运行生成,团队现在可以第一次使用我们的工具为 iOS 和 OS X 进行生成。

与本地工具相比,您的客户在使用托管 ALM 工具方面看到了哪些好处?

与组织将其他工作负载(如 Office 365)迁移到云端一样,这些都是从根本上相同的益处。通过使用 Visual Studio Online,团队可以将服务器托管任务交给微软,这样他们就可以专注于运营业务和构建出色的软件。与使用我们的本地工具相比,团队还能更早地获得功能。话虽如此,对于确实需要或希望自己维护 ALM 基础结构的团队来说,Team Foundation Server 仍然是我们产品的重要组成部分。我们致力于为组织提供这种选择。

在实施新的 ALM 或 DevOps 流程时,人们最常遇到哪些挑战,或者计划不足?

我见过尝试进行“一次性全面切换”的组织通常会失败。在这些领域推动有效变革确实需要在这三个方面进行投资:人员、流程和技术。我们看到最成功的是那些认识到这需要持续投资并致力于一系列持续、渐进式变革的组织。这些团队不仅今天会成功,而且未来会越来越成功。

目前 VS Online 主要提供代码存储库和测试。您有什么可以透露的计划中的其他功能吗?

事实上,Visual Studio Online 今天的功能远不止这些。项目管理(bug 跟踪、需求管理、敏捷规划)是人们使用 Visual Studio Online 的关键原因之一,另一个原因当然是源代码管理。Application Insights 尽管托管在 Azure Preview Portal 中,但也是 VS Online 系列的一部分。测试用例管理是我们去年进行大量小额投资的领域,并在不久的将来会有进一步的投资。在我们今天在纽约市举行的 Connect(); 活动的主题演讲中,我们演示了在 Visual Studio Online 中管理的各种环境,帮助团队轻松管理他们的开发/测试/生产基础结构。您应该会看到该领域有更多发展。生成自动化和云负载测试是 Visual Studio Online 的另外两个功能,它们非常自然地适应了云。当团队对这些资源和功能提出高要求时,我们会弹性地扩展额外资源来满足这些请求。

您对 API 非常开放,并且有许多第三方公司与您的服务集成。这是您从一开始就计划好的重要方向吗?

是的,我们一直知道合作伙伴将在使 Visual Studio Online 取得成功方面发挥重要作用,就像他们在 Team Foundation Server 中所做的那样。事实上,Team Foundation Server 的大多数相同合作伙伴集成都可以使用我们的 .NET 对象模型, unmodified 地与 Visual Studio Online 一起使用。我们在过去一年中通过提供 REST 接口、服务钩子和 OAuth 来更新了其中一些 API。

您经历过几次显著的停机。您正在采取哪些措施来确保它们将来不会发生?

我们致力于提供一个非常可靠的服务,让我们的客户可以信赖。建立信任的一部分是在我们确实遇到问题时保持非常透明。我们的服务博客会提醒客户注意问题,并提供我们解决问题的最新状态。在任何重大事件之后,我通常会在我的博客上发布一篇相当详尽的回顾,涵盖发生了什么、我们做了什么、根本原因是什么、我们学到了什么以及我们计划长期采取哪些措施来解决这些原因。我这样做不仅是为了帮助客户理解,也是为了分享我们的学习经验,以便其他开发人员可以主动避免类似的问题。

每个冲刺(sprint),我们都会进行响应式和前瞻性的工作,以解决问题、提高服务的弹性、确保业务连续性等。最近,我们一直在致力于使用“断路器模式”来提高服务弹性,并防止系统中一个部分的故障级联到更广泛的故障。我们还一直在进行更改,以防止单个滥用用户(有意或无意)对他人产生重大影响。去年夏天,我们添加了每个租户的可用性指标,以便我们能够了解每个客户的体验,而不是被“平均”体验所蒙蔽。自从实施此附加功能以来,我们每个冲刺都会选择一些体验最差的客户作为我们调查和改进的重点——修复他们的问题。提供出色的服务需要不懈的努力。

您们一直在进行哪些方面的改进,以帮助从客户端到开发人员/测试/运维的反馈循环?

我很高兴您问这个问题,因为它确实很重要。我们在这一领域做了很多工作,并将继续做得更多。在许可方面,我们最近为 VSO 和 TFS 引入了“干系人”角色。这使得人们可以免费与开发团队协作处理工作项——例如,用于提交 bug 或功能请求。我们新的 Visual Studio Online API 使 UserVoice 等合作伙伴能够进行集成,以便您可以管理收到的需求,并通过投票让用户帮助您优先排序待办事项。当然,Application Insights 提供了用户如何使用您的应用程序的 360 度视图,这有助于您确保提供最佳体验。这些只是我们所做的一些事情,我们将继续做得更多。

上周您在 Azure“西欧”地区开设了一个新的 VS Online 实例。您知道下一个 VS Online 实例会在哪里吗?您希望将 VS Online 扩展到多远?

是的,没错。我很高兴能够做到这一点,欧洲实例的帐户增长非常强劲。随着时间的推移,我们预计全球几乎所有数据中心都会有 VS Online 实例。目前,我们采取务实的做法,在需求最高的地方提供它们。欧洲的需求很大,所以是第一个。现在我们正在观察下一个最高需求在哪里。我建议,如果人们希望为他们最喜欢的地点投票,他们可以在 http://visualstudio.uservoice.com 上创建建议。

您能否告诉我们更多关于敏捷项目管理改进的信息?

在过去一年左右的时间里,我们一直专注于满足客户在该领域提出的完善功能方面的需求。例如,我们知道团队需要灵活性,可以在 bug 和需求中添加临时元数据,用于过滤、搜索等。工作项标签提供了此功能,我们最近使得在查询、Excel 甚至 Visual Studio 中都可以使用这些标签。另一个我们收到的客户请求以及最近交付的例子是能够精炼 bug 在待办事项、看板和任务板上显示(或不显示)的方式。除了这些更改之外,随着我们接纳越来越多的客户,我们在敏捷项目管理功能的性能方面做了一些重大的改进。最后,我们可能投资最大的领域是帮助人们可视化他们的进度。工作项图表使人们能够快速从任何查询生成漂亮的图表,然后可以将其固定到您的团队主页并实时更新。我们做了大量工作来丰富这些图表,例如添加趋势——“我想查看我的 bug 数量随时间的变化”或“新功能开发的吞吐量是多少?”——等等。我们最近还启用了测试用例的图表功能。

请介绍一下测试用例图表的一些好处。

轻量级测试图表使团队能够跟踪其整个测试生命周期中测试的“实时”状态。测试用例图有助于在编写阶段跟踪测试进度,而测试结果图有助于在执行/分析阶段跟踪。根据您的报告需求,这些图表可以限定为测试计划级别和/或单个测试套件级别。您还可以通过从可视化角度调整颜色/图表类型来定制这些图表,或根据您试图回答的问题来定制枢轴。您可以将这些图表固定到您的主页,这样团队的所有成员,包括您的干系人,都可以一目了然地看到测试进度。这些图表可以帮助回答的一些问题包括:

  • 我如何跟踪测试用例创建的燃尽图?
  • 我如何跟踪自动化状态的燃尽图?
  • 我如何跟踪团队成员的测试创建状态?
  • 整个测试计划的测试状态是什么?
  • 我们团队在此冲刺中测试的用户故事的测试状态是什么?
  • 每个测试人员还剩多少测试要运行?
  • 我如何根据配置检查质量?
  • 我如何跟踪我们团队的测试失败原因?
  • 我如何跟踪我们团队测试失败的解决方案?

您最近听到了哪些关于 VS Online Application Insights 的成功案例?

我们看到各种规模的客户都在使用 Application Insights。我不确定我被允许公开说出哪些客户姓名,但如果您观看了我的主题演讲,您看到了我们的客户之一——Dominion,他们使用 Application Insights 不仅监控应用程序的健康状况,还根据客户如何使用应用程序来驱动其应用程序的改进。几年前,要实现这种洞察力将非常困难,并且需要自己搭建分析服务器,然后编写逻辑将这些数据发送回去。通过 Application Insights,您可以在几分钟内开始使用,并立即开始获得价值——即使不编写任何代码。我们还在微软内部的许多应用程序中使用 Application Insights。我的团队使用它来支持 Visual Studio Online,我知道 Xbox、MSIT 的一部分、Office 的一部分也正在使用它——所以它的采用率很高,并且它真正改变了我们构建和运营服务的方式。

Azure Preview Portal 的最新情况如何?

Azure Preview Portal 在每个冲刺中都在不断改进。Azure 团队正在继续向新门户中可管理的资源列表中添加内容,最值得注意的是在七月份添加了虚拟机。最终,Azure 中的所有资源都将显示在这里。与此同时,我的团队一直忙于将我们的 Application Insights 功能集成到新门户中。当我们首次推出 Application Insights 时,我们将其作为 Visual Studio Online 的伴侣 UI,但我们发现对洞察数据来说,更好的归宿是与人们管理其 Azure 资源相同的门户。今天我展示了最新的 UI,其中包含一些非常漂亮的图表,将大量有价值的信息触手可及。这只会变得越来越好——我们正在进行大量工作,将在未来几个月内发布。

我们什么时候可以期待看到 TFS 本地版 V1.0 REST API?

我们计划在 TFS 2015 中发布所有 REST API、OAuth 和 Service Hook 支持。我们目前的想法是,我们将在明年早些时候(2015 年)发布第一个预览版。

© . All rights reserved.