十六招成为大型软件项目的开发英雄
我 们都遇到过这种情况:一个大型软件项目的建设没完没了,好像总也完不成。事实上微软的一些大型软件项目经常会陷入这种困境,像Vista,SQL Server,XP这些大的软件项目就是如此,在项目开发的最后阶段总是不得不删减大量的功能模块,任命新的管理者争分夺秒地交付产品。在最后期限内,如 果你只是不停的编译再编译,而总也完成不了产品,你就会陷入困境无法脱身。你怎样才能让一个大型软件项目脱离这种困境从而成为一名软件开发英雄呢?让我来 告诉你如何办到吧…… 首先,让我们了解一个失败的大型软件开发项目产生的过程:为了解决一些复杂的问题,一个大型的软件开发项目被设计出来了。很好!软件就是用来解决 问题的。但是从第一天起事情就朝错误的方向发展了!怎么回事呢?是这样,经理和主管决定由他们来计划整个软件项目的细节而这些细节可以说是细到了极致。接 着他们任命一个项目经理来管理所有的程序员,让这些程序员独立完成各自负责的部分。就在项目交付使用的前几周,这个项目经理开始整合所有已完成的部分。这 样能行吗?当然不行了……这简直是一场灾难!项目被拖延了!几天、几周、甚至几个月,几年过去了项目都还没能完成交付。问题到底出在哪里呢?我们该如何解 决呢? ? 软件开发就像是建楼房 你看过建楼房的过程吗?建楼房时是不是每个人都在各自的区域建造自己负责的那部分呢?当然不是!那么摩天大楼是如何建成的呢?首先应该是打地基,然 后用升降机井建楼层,一层接一层的建,再修建内部的构架……。你能想象出如果每一部分都是在不同场所建造的,最后再将所有这些部分移到施工现场进行整合会 是什么样子的吗?即使你有一个绝妙的整合方案,你也会遇到问题:一些部分可能不能互相锲合需要重新做,建筑师可能改变他们的想法,一些部分有可能丢失,整 个建筑看起来就像一对乱麻! ? 完成项目成为软件开发英雄 你的软件项目正面临危险吗?或者它已经处在困境之中了吗?你准备好让你的软件项目重新步入正轨了吗?那让我们开始…… ? 1、源代码控制(Source Control) 2、持续集成(Continuous Integration) ? 3、软件缺陷跟踪系统(Bug Tracking System) ? 4、补丁系统(Patching System) ? 5、删减未测试的功能模块(Disable Untested Features) ? 6、列出主要的功能模块(List Major Features) 7、提炼重中之重 ? 8、详述20%的高水平功能模块(Detail Out Top 20%) ? 9、制定周计划(Plan The Week) 10、创建子系统(Create Branch) ? 11、为测试人员建立测试版(Build Release for Testers) ? 12、测试阶段(Testers Take Flight) ? 13、软件开发人员致力于主干开发工作(Software Developers Work on Trunk) ? 14、验收补丁 ? 15、继续步骤9到14 ? 16、你的目标是集中攻克一些小的功能模块并把测试版发给测试人员。 这与原来完成一个大型的软件项目,实现了它的全部功能却错误百出有很大的区别。 你的团队将会受到极大鼓舞从而能够每周都开发出可运行的软件!他们的工作效率将会大大提高,整个项目将获得巨大的动力! 当测试人员发现软件错误时,你的程序员将更迅速地进行修复,因为他们所写的代码都很清晰的印在脑海中!如果功能模块需要修改,也能很快被发觉,修改过程也将更顺畅。 你的商业用户将看到软件的优势,而你将从他们那里得到更多的资源,更好的工具以及更多的尊重!软件用户将大力支持你的产品! 要做的很多吗?这取决于你的开发流程,如果你没有按上述程序进行,那么你就有大量的工作要做,但是如果你抓住重点、执行迅速,那么要建立一个理想的环境并不难。 享受成为软件开发英雄的乐趣吧! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- sql-server – 如何在没有CLR的SQL Server 2008中调试存储过
- sql-server-2008 – 商业智能开发Studio 2008安装
- sql-server – 如何搜索Sql Server 2008 R2存储过程的字符串
- sql – 你可以没有ON关键字的INNER JOIN吗?
- sqlserver oracle sql语句执行对比
- sqlserver2008附加数据库附加不上
- SQL Server错误:主文件组已满
- SQLServer中char/varchar/nchar/nvarchar的区别
- sql – SELECT * – 优点/缺点
- sql – 将IF EXISTS与CTE一起使用