写点什么

Visual Studio 研发过程中的敏捷实践

  • 2009-12-17
  • 本文字数:1185 字

    阅读完需:约 4 分钟

潘正磊是微软 Visual Studio Business Applications 团队的总经理,也是微软中国研发集团服务器与开发工具事业部开发工具的总经理。1992 年加盟微软后,她一步步从程序员成长为微软全球2000 多名总经理中为数不多的华人之一。近日InfoQ 有幸就Visual Studio 研发过程中敏捷相关的话题独家专访了潘正磊,本文是采访的摘录。

在Visual Studio 产品的研发过程中,微软研发团队很好地应用了敏捷,那么在从传统的开发方法到敏捷的转型过程中,微软经历了一个什么过程?作为Visual Studio 整个研发过程的亲历者,潘正磊提到这也是一种“被迫的”结果。很多.NET 领域的开发人员都比较清楚,Visual Studio 2005 产品比预期发布的时间延迟了近一年的时间,另外产品还存在各种各样的质量问题,一发布就开始不停地进行打补丁。按照潘正磊的话说,她认为Visual Studio 2005 是一个比较失败的产品。经历了2005 版的挫折之后,痛定思痛,研发方面负责人对下一代产品提出两个新的要求:高质量、准时交付。整个研发团队也进行了一次大的转型,开始采用敏捷,其直接导致的结果就是Visual Studio 2008 从CTP(社区预览版)开始,用户反馈就非常好。

具体而言,和以前动辄对整个产品推翻重来不同的是,Visual Studio 2008 研发时采取了在保持核心内容不变的同时,提供新的功能。对Visual Studio 整个产品体系来说,CLR 相当于地基,.NET Framework 相当于钢筋结构,而Visual Studio 就是这个大楼,三个方面联系在一起,如果同时对这三个均做修改,那么要完成这个建筑是非常困难的。于是研发团队确保对CLR 做最少的改动,对.NET Framework 做小幅度的延伸,地基和结构稳定之后,不断从社区收集对产品的期望和反馈,然后生成原型文件。然后明确用户的真正需求,通过多次迭代逐渐完善产品。其结果就是原计划9 月份发行的Visual Studio 2008,10 月份就上市了,比2005 版有了很大的进步。

对于Visual Studio 这样的大型项目,如何去控制它的进度?工具在里面起到什么样的作用?对于这个问题,潘正磊结合开发过程中对Team Foundation Server 的应用进行了阐述。TFS 可以自动产生一些报表,显示哪些功能已经完成,哪些功能还需要继续测试,以及测试的覆盖率是多少,还需要增加哪些应用场景等,不同级别的人员可以看到不同的视图。另外,不论团队大小,都会有很多的约定存在,这些约定如果只是让工程师记住的话,是比较困难的,这时工具的作用就显现出来了。比如在研发过程中,我们曾经实现过这么一个工具,作为工程师,在将你的代码嵌入之前,你需要经过六七个不同的步骤,每一个步骤都会告诉你注意什么。这样做的好处就是可以保证所嵌入的代码比较完善,不会出现解决了一个Bug,却有更多Bug 出现的情况。不过潘正磊也强调,工具虽然重要,但其起到的也只是一个辅助的作用,最关键的还是使用它们的人!

InfoQ 中文站近期会发布本次采访的完整视频,敬请期待。

2009-12-17 02:001840

评论

发布
暂无评论
发现更多内容

Lightroom Classic 2023 for Mac(摄影后期图像编辑软件) v12.4完美激活版

mac

图像处理软件 苹果mac Windows软件 Lightroom Classic 2023

ChatGPT“与图对话”初体验

无人之路

ChatGPT

简单的解压缩软件 Bandizip Archiver激活中文最新版

胖墩儿不胖y

Mac软件 解压缩工具 压缩软件

公链如何开发?怎么开发一条可靠的公链

V\TG【ch3nguang】

Mac平台PDF编辑和阅读工具 PDF Expert 3

展初云

PDF Mac软件 PDF Expert for Mac

PDF Expert for mac(pdf编辑工具) v3.5.2激活密钥版

mac

PDF Expert 苹果mac Windows软件 PDF编辑软件

非一般中国“千年霓裳 遇见运河”通州大运河畔再现传统文化盛景

联营汇聚

文心一言 VS 讯飞星火 VS chatgpt (105)-- 算法导论10.1 3题

福大大架构师每日一题

福大大架构师每日一题

探索Redis与MySQL的双写问题:挑战与解决方案

Java随想录

Java MySQL redis

Redis性能优化:理解与使用Redis Pipeline

Java随想录

Java redis

04. 人工智能核心基础 - 导论(3)

茶桁

人工智能

为什么zookeeper不满足线性一致性依然可以实现分布式锁?

Jerry Tse

zookeeper zookeeper分布式锁 分布式锁原理

Python 列表操作指南2

小万哥

Python 程序员 软件 后端 开发

架构纠缠系列:简单与复杂的技术方案如何取舍

凌晞

架构设计 架构决策

人生最优解:体验最极致的人生

少油少糖八分饱

人生 回忆 体验 阅读笔记 死前归零

从“概念”到“应用”,字节跳动基于DataLeap的DataOps实践

字节跳动数据平台

数据中台 DataOps 企业号9月PK榜

DxO PhotoLab 7 for mac(专业raw图像处理软件) 7.0.1.31永久激活版

mac

图像处理软件 苹果mac Windows软件 DxO PhotoLab 7

神器 CodeWhisperer

亚马逊云科技 (Amazon Web Services)

人工智能

蓝易云:linux系统切换IP实现HTTP代理教程。

百度搜索:蓝易云

云计算 Linux IP HTTP 云服务器

简单易用的程序创建工具:VMware InstallBuilder Enterprise激活版

mac大玩家j

软件推荐 Mac软件

火山引擎ByteHouse:如何提升18000节点的ClickHouse可用性?

字节跳动数据平台

数据库 大数据 数据仓库 云原生 企业号9月PK榜

专业好用的照片处理和编辑软件 DxO PhotoLab 7 for mac

展初云

Mac软件 DxO PhotoLab 7 raw智能照片处理工具

钱包发展的未来:ERC-20代币的趋势和创新

区块链软件开发推广运营

交易所开发 dapp开发 区块链开发 链游开发 NFT开发

蓝易云:Linux系统命令:du与df的区别!

百度搜索:蓝易云

Linux 磁盘 du df 硬盘

Visual Studio研发过程中的敏捷实践_研发效能_霍太稳@极客邦科技_InfoQ精选文章