技术开发 频道

十六招成为大型软件项目的开发英雄

【IT168 分析评论】

 我们都遇到过这种情况:一个大型软件项目的建设没完没了,好像总也完不成。事实上微软的一些大型软件项目经常会陷入这种困境,像Vista,SQL Server,XP这些大的软件项目就是如此,在项目开发的最后阶段总是不得不删减大量的功能模块,任命新的管理者争分夺秒地交付产品。在最后期限内,如果你只是不停的编译再编译,而总也完成不了产品,你就会陷入困境无法脱身。你怎样才能让一个大型软件项目脱离这种困境从而成为一名软件开发英雄呢?让我来告诉你如何办到吧……

    首先,让我们了解一个失败的大型软件开发项目产生的过程:为了解决一些复杂的问题,一个大型的软件开发项目被设计出来了。很好!软件就是用来解决问题的。但是从第一天起事情就朝错误的方向发展了!怎么回事呢?是这样,经理和主管决定由他们来计划整个软件项目的细节而这些细节可以说是细到了极致。接着他们任命一个项目经理来管理所有的程序员,让这些程序员独立完成各自负责的部分。就在项目交付使用的前几周,这个项目经理开始整合所有已完成的部分。这样能行吗?当然不行了……这简直是一场灾难!项目被拖延了!几天、几周、甚至几个月,几年过去了项目都还没能完成交付。问题到底出在哪里呢?我们该如何解决呢?

    软件开发就像是建楼房

    你看过建楼房的过程吗?建楼房时是不是每个人都在各自的区域建造自己负责的那部分呢?当然不是!那么摩天大楼是如何建成的呢?首先应该是打地基,然后用升降机井建楼层,一层接一层的建,再修建内部的构架……。你能想象出如果每一部分都是在不同场所建造的,最后再将所有这些部分移到施工现场进行整合会是什么样子的吗?即使你有一个绝妙的整合方案,你也会遇到问题:一些部分可能不能互相锲合需要重新做,建筑师可能改变他们的想法,一些部分有可能丢失,整个建筑看起来就像一对乱麻!

    完成项目成为软件开发英雄

    你的软件项目正面临危险吗?或者它已经处在困境之中了吗?你准备好让你的软件项目重新步入正轨了吗?那让我们开始……

    1、源代码控制(Source Control)

    你有源代码控制系统吗?如果没有,那就是个大问题了。你得赶紧添置一个。没有源代码控制,你就跟玩俄式轮盘一样:你不能恢复已做出的更改,你没有源代码的备份,你没有历史记录,这样你也几乎不可能建立合适的“持续集成”的服务装置。

    2、持续集成(Continuous Integration)

    你有一个持续集成的服务器装置吗?设想一下:生成器是根据导入的代码进行编译,如果你每次导入的代码,都让生成器来编译,这就足以使整个过程变得复杂了,更不用说有很多人导入各种各样的代码。但是,持续集成装置将自动地编译你的软件项目,并且能给你编译的结果。你甚至能添加Unit Tests、Coding Standards Tests等等。但是为了让你更容易明白还是不要搞的太复杂。

    3、软件缺陷跟踪系统(Bug Tracking System)

    如果没有软件缺陷跟踪系统你就无法方便地衡量软件的质量。在任何时候你都应该能够看到哪些功能模块正在被构建、被测试、被通过以及哪些模块出现问题了等等。如果你还在依靠excel表或是笔记做这项工作,那么赶快投资一点钱添置一个(程序)错误跟踪系统吧!

    4、补丁系统(Patching System)

    这里我并不是要谈论installer的问题,我要说的是你需要一个补丁系统。你肯定不想经常重装你的testers。

    5、删减未测试的功能模块(Disable Untested Features)

    删减你的软件中所有未完整地经过软件缺陷测试以及未被使用者认可的功能模块。如果你的软件陷入困境,你很可能会觉得其中还有90%-95%的功能模块能够执行,而实际上却只有80%。

0
相关文章