写点什么

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:001733

评论

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

简述SD-WAN组网的五大技术优势

Ogcloud

网络 网络加速 SD-WAN 组网

武汉 Linux 爱好者线下沙龙:WHLUG 2023 收官!不容错过!

nn-30

Linux 技术交流 线下沙龙 WHLUG LUG

MongoDB与大数据处理:构建高性能分布式数据库

互联网工科生

mongodb 非关系型数据库

IPQ6010 vs IPQ9574 Platform Comparison|Achieve 1588 TSN in WiFi6 WiFi7Hardware

wallyslilly

IPQ6010

针对海量数据的存储与访问瓶颈的解决方案

快乐非自愿限量之名

数据 数据化 仓库

测试开发 | 智能农业引领农业革新,人工智能携手农业改写未来

测吧(北京)科技有限公司

测试

汽车行业数字化转型,迎来新机遇!

优秀

数字化转型 汽车行业 汽车行业数字化转型

Java后端问题排查经验

WizInfo

如何给图数据库 NebulaGraph 新增一种数据类型,以 Binary 为例

NebulaGraph

数据库

软件测试/测试开发/人工智能丨ROC 与 AUC 的含义

测试人

人工智能 软件测试

Beyond Compare 4 for Mac v4.4.7(28397)中文版下载

iMac小白

面试官问我:线程锁导致的kafka客户端超时,如何解决?

华为云开发者联盟

开发 华为云 华为云开发者联盟 线程锁

centos 7.9离线下载安装vscode,以及插件安装下载教程。

百度搜索:蓝易云

云计算 Linux centos vscode 云服务器

JProfiler for Mac:跨平台兼容性,适用性广泛

iMac小白

测试开发 | AI在人工和服务领域的崭新角色

测吧(北京)科技有限公司

测试

测试开发 | AI与生物医学:加速医学研究的新引擎

测吧(北京)科技有限公司

测试

软件测试/测试开发/人工智能丨如何通过分组 AUC 从不同的维度验证模型的能力

测试人

人工智能 软件测试

英特尔成为openEuler社区黄金捐赠人,共建最具创新的开源社区

彭飞

企业如何通过全面预算管理优化业务流程

智达方通

业务流程优化 业务流程 全面预算管理

浅聊PAM市场价值

尚思卓越

运维 网络安全

整体模块化区块链技术引领区块链大规模采用

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

Linux系统中bashrc和profile的区别

百度搜索:蓝易云

Linux 运维 Profile 云服务器 bashrc

测试开发 | 保护数据隐私的分布式学习方法:构建安全智能未来

测吧(北京)科技有限公司

测试

大模型应用产品「归一妙计」亮相,AI Agent落地广告投放场景

武凯说

人工智能 领域模型 GPT 营销自动化 全媒体广告投放代理、

第五代英特尔至强可扩展处理器AI性能大幅提升,英特尔加注推动人工智能无处不在

E科讯

SD-WAN网络的可扩展性解析

Ogcloud

网络 SD-WAN 组网

Pipeline 助您轻松驾驭海量数据!

观测云

数据分析 日志 pipeline

软件测试/测试开发/人工智能丨分类,二分类和回归问题的对应场景与区别

测试人

人工智能 软件测试

关于业务转化息息相关的小程序能力

Geek_2305a8

活动 | Mint Blockchain 赞助支持清迈 WAMOTOPIA 线下活动

NFT Research

blockchain NFT L2

演讲回顾:半导体设计中的数字资产管理最佳实践

龙智—DevSecOps解决方案

数字资产管理

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