您所在的位置:开发 > .NET > .NET专区 > 微软动态 > 微软会变身 成为敏捷开发典范吗?(1)

微软会变身 成为敏捷开发典范吗?(1)

2008-03-21 16:46 思维牧童 IT168 字号:T | T
一键收藏,随时查看,分享好友!

很明显,在微软的31000名开发者中并不缺乏天才的存在,他们绝大多数都是程序员中的佼佼者。但是由于这个公司的编程团队过于庞大,再加上它的产品数量的繁多、产品的重要性和产品的普及范围广,所有这些因素加起来就形成了一个可能妨碍高效编程的环境。

AD:

微软可能是当今世界上最大的软件厂商,但是它同时也可能是在编程实践方面犯错误的数量最多的软件厂商。我们经常可以听到针对微软的各种批评意见。

它要么是发布软件太晚,例如Windows Vista和SQL Server 2005,要么就是太早发布,例如Windows ME;要么发布的产品太不安全,例如Outlook Express 5.5和6.0和IE 5.5,要么发布过于“安全”的产品,例如Vista;要么在新产品中的变化太少,例如Visual Studio 2003,要么新产品的变化让你感觉跨度太大,例如Office 2007的Ribbon界面;要么编写的程序过于臃肿和复杂,例如Vista,要么编写的程序过于简单,例如的微软的Bob产品。总之,微软很少有不被人们批评的时候。

很明显,在微软的31000名开发者中并不缺乏天才的存在,他们绝大多数都是程序员中的佼佼者。但是由于这个公司的编程团队过于庞大,再加上它的产品数量的繁多、产品的重要性和产品的普及范围广,所有这些因素加起来就形成了一个可能妨碍高效编程的环境。

但是,如果你相信微软服务器和工具部门的管理者所说的话,你或许会对微软的看法有所改观,据他们表示,与过去几年相比,微软已经变成了一个更加敏捷的开发商。

采取新开发策略 向敏捷开发进军

在这个微软内部称为STB的部门领导下,微软已经利用新的开发策略来帮助它的程序员使其产品更快上市,同时还可以保证代码的质量更高,以及更快速的响应来自用户的反馈。

这是一种什么策略?其中包括在开始编写任何代码之前收集来自用户的反馈;加强推出新的社区技术预览版(CTP),替换或淡化传统的alpha和beta测试版模式,CTP模式使用了一种“早发布,常发布”的方式来实际测试软件;创建独立的“feature crews(功能小组)”,可以迅速的创建特定的功能,并且针对这些功能直接与用户交流。

负责微软开发工具的高级副总裁Soma Somasegar在本月的一次采访中表示,“我不认为有猛然醒悟的说法。我们只是认识到我们是在为客户开发产品,而不能仅仅从技术角度考虑问题。因此我们如果能越早的与客户结合起来,我们就能越早的做出一个更好的架构、功能、品质产品和可扩展产品,而所有这些都是客户所关注的。”

四年开始的这种改革在近期达到了顶点,上个星期微软正式发布了2008版的Windows Server、SQL Server和Visual Studio,它们每一个的开发过程都使用了上述列出的所有新技术。

反对者:微软现状令其很难敏捷

当然批评者依旧存在。首先,批评者们指出,尽管微软在用户反馈和开发的灵活性方面取得了一定成效,但是最近的同时发布三个新产品不是它们取得成功的体现。

Visual Studio 2008自从去年11月份就早已有之,而Windows 2008上月初才交付生产。同时,RTM版的SQL Server 2008最近被推迟到几年第三季度,比原先的计划推迟了一个季度,尽管微软的确发布了一个成为完整功能的社区技术预览版。

来自kirkland的一个微软方向分析师Greg DeMichillie表示,“设定发布日期是一个公共关系手段”。他曾经作为一个开发者在微软服务器和工具部门工作了十年之久,他依然不能相信微软现在是敏捷开发的典范。

“很明显,采用CTP版和其它改变带来了一定好处,”他表示。“用户可以比较早的对产品有一定了解,微软就可以更早得到来自他们的反馈意见。但是,还不能因此断言,这个改进就会让微软能够更快发布更可靠的软件。”

关注开发工具的市场调查公司Evans数据的CEO John Andrews通过电子邮件表示,诸如Google、Salesforce.com等以Web为中心的厂商在软件开发方面都非常敏捷,甚至IBM的敏捷性也在微软之上。

Andrews在电子邮件中写到,“我相信微软正在尝试在所有可能的方面实现敏捷编程,但是它面临的实际处境是,它的代码基础的复杂性和大小使它不能够真正的实施这个编程方法,现在它做的是在可能的地方实现半敏捷开发。”

但是微软官员声称,敏捷与否和减少多少一个产品的预定计划发布时间没有多大关系,更重要的是能够在产品的第一个版本中发布更高质量的软件。

微软负责数据库开发的副总裁Ted Kummert承认,听到这个说法的用户可能会表示不同的意见,因为SQL Server 2008的发布刚刚被推迟。“但是,我们之所以决定延迟发布这款产品,是考虑到我们必须保证最终交付的软件具有很高质量,”微软上周发布的SQL Server 2008社区技术预览版是迄今为止Kummert的团队发布的第六个版本。

微软实现敏捷开发还有新武器

SQL Server和Visual Studio开发团队已经完全切换为发布社区技术预览版CTP模式,这是一个中间性质的过渡软件版本,通过它可以有机会快速得到来自用户的反馈,但是它得不到像具有完整功能的beta版那种来自微软的广泛支持。Windows Server组在开发Windows Server 2008的时候,综合使用了beta测试版和CTP版这两种模式。

微软客户服务部门的副总裁Rich Kaplan表示,在微软企业产品开发过程中,还有另外一个比较关键的地方是它的技术采纳计划TAP(Technology Adoption Programs),在这个计划中,测试软件厂商先对产品进行测试,然后将beta版或社区技术预览版应用到生产环境中,这样通过这个计划可以让微软从测试的软件厂商那儿得到丰富的线索信息。技术采纳计划由微软的客户服务和支持团队来管理,微软可以通过非正式的评论和更多的调查型数据来从参与者那儿得到反馈信息。

据一些在最近的开发周期中参与这些新产品的预览版测试的用户表示,他们发现微软在响应速度和灵活性方面有了很大的进步。

Garanti银行的数据库系统经理Umit Nazlica表示,“我们在测试SQL Server 2008的时候要求的几乎每一个事情现在都体现在了最终版本的产品中。”Nazlica表示,举个例子来说,Garanti的IT职员要求具有更强大的资源管理和监管功能,同时还有数据压缩和解密方面的改进,这些功能都已经在新版中实现。

这个银行运行了140个微软的数据库实例,具有约11TB的数据,它在这之前还参与了目前使用的SQL Server 2005的TAP计划。据Nazlica表示,这次的测试过程比上次要好很多。他表示,“我们投入了更多的时间来测试这个产品,而且在与微软的工作人员进行交流方面我们现在更有经验了。”

Michael Ruminer是波士顿的一个敏捷开发顾问,同时也是Visual Studio Team System软件方面的微软最有价值专家MVP,他表示,微软的开发团队现在真正的聆听客户要求,并且兑现自己的承诺。他们现在并没有表现出以往所具有的自大傲慢的态度。

Rbuminer表示,敏捷开发不可能简单的通过管理的方式来被规定。但是他又补充说,当他与微软的开发者交流的时候,他感觉到他们的管理者正在采取实际的措施来为敏捷开发扫清障碍和不必要的过程。而且他表示,在听到外部开发者对Visual Studio测试工具的抱怨后,微软公司已经相应进行了显著的改进,这一步让Ruminer看到了微软响应迅速的一面。

不过,他也表示,关于微软推出社区技术预览版的频率是否太快这个问题,还需要更多的讨论。因为这样将给用户和第三方开发商带来比较大的压力,它们可能被迫去忙于测试所有版本,Ruminer表示。但是对他来说,其积极的一面超过潜在的负面影响。他表示,“没有人会强迫你去安装CTP版。”

内容导航



分享到:

  1. 彻底透视CDN痛点,互联网老兵聊聊CDN的那些事儿!
  2. 3行Python代码完成人脸识别

热点职位

更多>>

热点专题

更多>>

读书

网管员必读——网络组建(第2版)
《网管员必读——网络组建(第2版)》仍是以一个中等规模的模拟局域网组建为思路,较全面地介绍了与局域网组建相关的各方面知识

51CTO旗下网站

领先的IT技术网站 51CTO 领先的中文存储媒体 WatchStor 中国首个CIO网站 CIOage 中国首家数字医疗网站 HC3i 51CTO学院