微软产品总监谈下一代 Visual Studio vNext 及 DevOps

  • 贾国清

2011 年 10 月 14 日

话题:.NETDevOps持续交付语言 & 开发文化 & 方法

10 月 10 日,微软望京办公室,InfoQ 中文站对微软总部敏捷开发和 Visual Studio 产品线战略总监Sam Guckenheimer进行了采访。采访主要围绕以下几个话题展开:

  • 微软是如何运用敏捷开发来进行微软产品研发?团队是如何组成的?团队协作是如何进行的?
  • 如何提高应用生命周期管理(ALM,Application Lifecycle Management)流程的效能
  • Visual Studio vNext 亮点
  • 如何通过 Visual Studio vNext 行团队协作
  • Visual Studio vNext 中增强的对敏捷开发的支持
  • 微软与 DevOps
  • BUILD 大会感悟
  • Sam 的著作《Agile Software Engineering with Microsoft Visual Studio, from Concept to Continuous Feedback》面向的读者群及主要内容
  • Sam 在北京 Tech Ed 2011 的演讲主题及介

下一代开发平台 vNext 通过专注于改善整个团队在开发中的工作流,从整体上加强了对软件解决方案的有效建立和后期维护的支持,主要具备以下几个特点:

  • 敏捷规划工具——通过新的待办事项和任务板,提高整个团队参与的透明度。
  • 轻量级需求——以一种更加自然的方式在软件过程中尽早获取和接受需求。
  • 尊重利益相关人的反馈——写出真正符合利益相关人期望的代码。
  • 持续测试——通过单元测试覆盖率的增强保证最终产品的质量。
  • 敏捷质量保证——通过一系列方法提高代码质量:代码审阅支持,改善单元测试框架并支持新的探索性测试。
  • 改善用户体验——改善的日常任务的体验。
  • 开发与运营协调一致——增加业务运营与开发团队之间的联系和了解,减少修复产品缺陷所需的时间。

在提到微软与 DevOps 话题时 Sam 提到:

  • 无需在生产主机上安装任何软件,仅通过 PowerShell 来捕捉服务器上生成的 Tracelog,然后通过邮件、TFS 将日志发送给开发者,开发者可直接通过 BUG 管理模块来打开该日志,日志可按时间查看,通过该日志,可以了解到生产服务器上发生了什么事情,还可以在不同的产品版本间保持有效隔离,同时支持回滚至特定历史版本。支持代码和 SQL 隔离,并且可以快速将修复增加到产品中。
  • 在 Visual Studio 11 中,系统运维负责人可直接与 TFS(TFS,Team Foundation Server)互通,运维经理负责在运营管理模块中管理产品实例,在产品 Backlog 中的产品实例允许开发人员直接看到相应的代码和 SQL 语句,由此可以形成一个闭环,从产品设计到开发再到运维,产品运行阶段问题修复后再回归到产品中。这样的一个持续的流程,正是 DevOps 中所提倡的。
  • 在服务器端,增加了一些监控组件,这些组件可持续地对运行情况进行监控,可以看到服务的状态、来自全球各地的请求的相应时间等,同时还提供了相应的诊断机制,可以将遇到的问题与具体产品的代码行关联,在短的时间内将修复后的产品带给用户。

此外,在采访过程中 Sam 还提到了 TFS 所带来的改变:

在 TFS 中可以建立项目开发的知识,让团队成员间更有效的协作。项目包括了需求、Bug、程序代码、测试用例等。最显著的特点是减少浪费并让整个开发团队沟通更顺畅、提高项目的实时能见度以及完整的可追踪性等。这也是应用生命周期(ALM)的核心。

以下是其他相关信息,供参考:

  1. BUILD 2011 大会的主题演讲BUILD 大会首日演讲(中文字幕)
  2. Visual Studio vNext 的相关主题vNext 路线图以及Visual Studio Team Foundation Server 2010 介绍
  3. 文中提到的 Sam 编写的书:Agile Software Engineering with Visual Studio: From Concept to Continuous Feedback, 2nd Edition
  4. 关于 Tech Ed 2011 微软技术大会:http://technet.microsoft.com/zh-cn/teched2011_community

本期视频采访会在近期发布,敬请期待。

.NETDevOps持续交付语言 & 开发文化 & 方法