从卓越工程角度看微软中国开发团队的成长
开发团队的成长离不开优秀的人才,简捷有效的流程和高效率工具这三个卓越工程系统中的重要因素。本文作者从这三个因素分析了微软中国开发团队是如何“从优秀到卓越”的。
- .NET,
作者 Jean-Jacques Dubray译者 郭晓刚 发布于 2008年5月4日 下午6时19分
Gunther Lenz是微软的一名架构师,Christoph Wienands是在西门子工作的一名软件工程师,两人担当起了一个项目,目标是评估以Microsoft Visual Studio 2005 Domain Specific Languages工具为基础建立的软件工厂(Software Factory)的优势。
虽然对于目前基于文本的软件开发工作来说,重用增加、抽象层次提高、自动化水平提高这些都是显而易见的好处,但还不足以向管理层及其他利益相关者证明先期投入的必要性。因此我们着手寻找定量的数据,以图清楚地在商业上确立这种范型。
该分析的目标是在框架及应用程序开发领域识别出自动化和重用的机会。为此作者开发了一个软件工厂模板(Software Factory Template):
软件工厂模板是在Software Factory Schema的基础上实现的。我们提供了多个T4模板——有工件生成、向导和DSL——全都包含在安装包里。这些模板给开发者提供了额外的工具和上下文敏感的自动化机制。
他们的项目分为两个部分:
经过初步研究,他们发现:
对于开发者来说,以前定义加上使用要输入320行的代码,而现在只需要输入几个字符串,然后决定几个选项就可以了。最终不但节省了时间,而且质量也提高了——因为只能在合理的选项中选择,而且在工件生成之前还会对输入进行验证。
总而言之,结论就是:
DSL开发成10倍地提高生产率,投资收益率超过100%。
对于指导包(guidance package),即使在最低投入的情况下也可以达到超过300%的投资收益率。
作者们计划在未来解决一些更复杂的问题:
查看英文原文:Making the Business Case for Software Factories
- 如何将此方法扩展到更广阔的领域?
- 如何让工具适应更复杂的实现?
- 能够节省多少维护工作?
- 如何处理DSL元模型及模型的演进?
开发团队的成长离不开优秀的人才,简捷有效的流程和高效率工具这三个卓越工程系统中的重要因素。本文作者从这三个因素分析了微软中国开发团队是如何“从优秀到卓越”的。
本文是Productive Java with Ruby系列文章的第一篇,我将从单元测试这个话题开始,让Java的开发人员能够在实际工作中利用Ruby提高工作效率。
InfoQ中文站有幸与阿里软件的首席架构师赵进在一起探讨了SaaS的相关话题,包括SOA和ASP与SaaS的异同、云计算、SaaS的前景、它的关键技术、技术瓶颈等等。
在这篇文章中,Adrien Louis和Marc Dutoo在一个典型的ESB场景中讨论了编配和路由的区别和优缺点。他们讨论了几种连接服务的方法,从使用如自定义路由这样的低级别方法,到使用如工作流和编配这样面向业务的高级别方式,并总结说不存在“一边倒”的解决方案。
本文是根据7月26日InfoQ中文站在杭州举行的QClub活动(第三期)后半程小组讨论总结而成。主要内容包括如何在SOA系统中实现服务编排,如何保证分布式系统中的一致性和可用性,以及如何在实施SOA的过程中控制接口的粒度等。
人们很容易想当然的以为虚拟化技术仅仅应用于服务器。而在现实中,虚拟化这一苏醒的概念正被运用于各个层面,其中包括网络,存储以及应用基础架构。在这篇导论中,InfoQ将深入每个方面,详尽向您描述虚拟化技术的运用以及其优点与不足。
在这篇案例研究中,InfoQ对Adobe AIR和Amazon的简单存储服务(Simple Storage Service ,S3)在NASDAQ市场回放程序(NASDAQ Market Replay)中的应用进行了详细的分析。
没有回复
回复