写点什么

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

评论

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

Coinbase或在不久使用Zebec发放工资,并对Web3支付赛道发展寄予厚望

鳄鱼视界

Java开发如何通过IoT边缘ModuleSDK进行进程应用的开发

华为云开发者联盟

开发 数据处理 华为云 12 月 PK 榜

网易云音乐用户画像资产治理及业务赋能

网易数帆

数据仓库 数据治理 数据资产 12 月 PK 榜

什么样的CRM,才值得企业为之买单呢

ToB行业头条

浪潮信息正式发布基于龙蜥 Anolis OS 的服务器操作系统 Inspur KOS

OpenAnolis小助手

开源 操作系统 龙蜥社区 浪潮信息 KOS

java运算符类型都有哪些

千锋IT教育

阿里云张献涛:高性能计算发展的三大趋势

云布道师

阿里云 弹性计算 高性能计算

2022年“259”号文下聚合支付发展洞察

易观分析

金融 聚合支付 收款码

请求量太大扛不住怎么办?进来学一招

捉虫大师

Go 性能优化

跳出程序员思维:如何应对上手英文工具站的几点误区

程序员泥瓦匠

Nginx学习笔记(一)HTTP核心配置指令

Starry

Wallys/IPQ4018 12V-56VDCPassive 24V-56V/2*MMCX 27dbm Support MU-MIMO /industrial wifi moudle

wallysmeng

IPQ4018 IPQ4028

喜讯|云起无垠实力入选《2022年度中国数字安全能力图谱》

云起无垠

CAS Fuzzing

数据治理八大优势和四大挑战

用友BIP

解读Java内存模型中Happens-Before的8个原则

华为云开发者联盟

Java 开发 华为云 12 月 PK 榜

消除视觉Transformer与卷积神经网络在小数据集上的差距

华为云开发者联盟

人工智能 华为云 12 月 PK 榜

问答知识库快速构建技术解析及行业实践

中关村科金

人工智能 大数据 AI 知识图谱 技术实践

低代码开发平台YonBuilder移动开发,开发阅读APP教程

YonBuilder低代码开发平台

App 低代码 移动开发 阅读 开发.

What's new in Dubbo 3.1.4 and 3.2.0-beta.3

Apache Dubbo

Java 开源 微服务 dubbo RPC

云起无垠入选《ISC 2022数字安全创新能力百强》

云起无垠

明道云联合RestCloud打造APaaS+IPaaS融合解决方案

明道云

场景 | 九科信息物流供应链领域RPA数字化解决方案

九科Ninetech

MySQL的数据类型和存储引擎介绍

C++后台开发

MySQL 数据库 中间件 后端开发 存储引擎

数据报告 | 非洲电商市场分析报告

前嗅大数据

数据报告 电商报告

教你用JavaScript实现背景图像滑动

小院里的霍大侠

JavaScript 编程入门 实战案例 图像滑动

YonBuilder移动开发平台AVM框架 封装滑动单元格组件

YonBuilder低代码开发平台

开发者 后端 移动开发 avm.js AVM

ShineScrum捷行2022年最受欢迎的五篇文章回放

ShineScrum

PO 用户故事 项目经理 PRD 团队工作效率

身份证扫描简史:科技进步无处不在,从复杂到极简

caidianer

ps 身份证 扫描

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