项目管理者联盟 | 中国工程管理网 | 中国研发管理网   会员中心 资料库 论坛 博客

PMI-ACP®认证

适合敏捷开发项目
敏捷项目管理最佳实践

网络课程

PMI-PBA®认证

重视项目商业分析
商业价值与需求分析能力

网络课程

NPDP®认证

产品管理国际认证
全球产品管理最佳实践

网络课

PMP®认证

单项目管理经典指南
年轻项目经理首选

北京 | 直播 | 录播

PgMP®认证

大型复杂项目全球标准
定位高级项目管理层

网络班

PfMP®认证

链接战略与项目
实现组织资源投资回报

全球直播

软考项目管理

信息系统项目管理师
系统集成项目管理工程师

计划 | 报名 | 经验

圈子
志同道合,朋友再聚首
项目管理者联盟PMP培训
会员· 圈友
登录ID
密   码
 
圈子信息
圈名:IT项目经理
加入方式: 允许任何人加入

IT项目经理

分享IT项目管理的体系框架和最佳实践
探头IT项目经理的职业发展和能力提升
结交和融入IT业界,成为圈内人士
定期发起组织沙龙研讨

圈主:zhenjm    管理员:暂无管理员   
成员数:141
主题数:108
排名33
通讯录
圈友列表
加入本圈
管理本圈
 
话题区 投票区 资料区 精华区
标题:十六招成为大型软件项目的开发英雄
楼主

嗨呦
PMB:4928
省份:北京
行业:综合应用
注册:2008/2/22
  
  
我们都遇到过这种情况:一个大型软件项目的建设没完没了,好像总也完不成。事实上微软的一些大型软件项目经常会陷入这种困境,像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%。

6、列出主要的功能模块(List Major Features)
列出软件项目中涉及到的所有主要功能模块。从这些高水平的功能模块入手,这是开始挽救整个项目的关键步骤。如果将软件的开发比作战争的话,列出主要的功能模块可以让你避免一场与成千个功能模块无止境的恶战,你的战争规模会相对较小并且更容易获胜。

7、提炼重中之重
好的,你已经列出了所有主要的功能模块,现在从这个列表中再提炼出20%的功能模块(这部分应该是所有主要功能模块中最突出的),将其做成另一个列表。这20%的功能模块是软件发布之前,在最终测试版本中都应该能实现的。

8、详述20%的高水平功能模块(Detail Out Top 20%)
参照这个20%的功能模块列表,做另一个明细表,在明细表中详述为完成这20%部件所需实现的各项功能。另外将这些功能按其重要程度进行排序。我比较倾向于把最复杂的排在首位,最后才是简单的。借助这个表只是为了使你的项目进行的更有条理(如先完成简单的功能模块),而不是让你透过这个表来看你的工作量有多大。

9、制定周计划(Plan The Week)
仔细地合计出下一周你能完成哪些功能模块并把这些功能模块分配给团队里的程序员。你在分配时最好把类似的功能模块放到一块分配。要保证每位程序员都有规则地导入代码。如果他们导入代码导致构建失败,那他们必须立刻对这个构建做出修正。

10、创建子系统(Create Branch)
使用你所选择的源代码控制系统创建一个子系统。在这一步骤中,你需要创建一个等待测试的子系统,然后在下一步中建一个补丁系统。接下来测试人员进行测试,而你则规划下一周的工作。

11、为测试人员建立测试版(Build Release for Testers)
让你的生成器加把劲,让他为你的内部质量保障团队建立补丁程序。

12、测试阶段(Testers Take Flight)
希望你已经有了一个质量保障团队,如果没有那你就要着手建一个至少有一人的质量保障团队,并给团队的人配备程序缺陷追踪系统。让他们尽快拿到补丁程序,并且开始测试。顺便说一句,如果你能把客户或终端用户纳入你的质量保障团队那就再好不过了。只要你的测试人员发现错误(如有关功能模块执行的问题),要保证他们能把这些错误报告给软件程序员。如果你有一个好的软件缺陷跟踪系统的话,当你的测试员给出反馈或是改变了错误软件的状态,这个系统应该会自动发送E-mail给程序员。

13、软件开发人员致力于主干开发工作(Software Developers Work on Trunk)
当你的测试员在做测试时,你的程序员在继续着下一周要做的功能模块。当软件出现错误时,程序员返回子系统,解决问题,然后再回到主干的开发中。

14、验收补丁
你的测试员已经完成测试了吗?所有的事情看上去顺利吗?别着急!你仅仅是完成了第一套可以安装的功能模块罢了。从技术上讲,如果你的工作是按照上边列出的步骤进行的,在这个阶段,客户或测试人员应该能够安装这个软件,并有一个可以使用的补丁系统。

15、继续步骤9到14
你要继续不断地努力直到完成那20%的功能模块,这个目标并不像你所想的那么遥远。

16、你的目标是集中攻克一些小的功能模块并把测试版发给测试人员。这与原来完成一个大型的软件项目,实现了它的全部功能却错误百出有很大的区别。

你的团队将会受到极大鼓舞从而能够每周都开发出可运行的软件!他们的工作效率将会大大提高,整个项目将获得巨大的动力!

当测试人员发现软件错误时,你的程序员将更迅速地进行修复,因为他们所写的代码都很清晰的印在脑海中!如果功能模块需要修改,也能很快被发觉,修改过程也将更顺畅。

你的商业用户将看到软件的优势,而你将从他们那里得到更多的资源,更好的工具以及更多的尊重!软件用户将大力支持你的产品!

要做的很多吗?这取决于你的开发流程,如果你没有按上述程序进行,那么你就有大量的工作要做,但是如果你抓住重点、执行迅速,那么要建立一个理想的环境并不难。

享受成为软件开发英雄的乐趣吧!

回复 | 引用 发表时间:2008/11/21 16:32:49

godspeedzhang
PMB:1
省份:北京
行业:IT软件
注册:2008/11/19
  
  
标题:Re:十六招成为大型软件项目的开发英雄
1 楼
学习中。。。
回复 | 引用    回复时间:2008/11/24 19:09:45

mayilaoer
PMB:61
省份:辽宁
行业:通信与网络
注册:2008/11/16
  
  
标题:Re:十六招成为大型软件项目的开发英雄
2 楼


-----------------------------------------------------------------
分享卓越软件研发管理实践
http://www.msup.com.cn

回复 | 引用    回复时间:2008/11/24 22:32:29

renbin1117
PMB:172
省份:山西
行业:政府与NPO
注册:2008/10/31
  
  
标题:Re:十六招成为大型软件项目的开发英雄
3 楼
学习了。。。。。
回复 | 引用    回复时间:2008/11/24 22:45:32

jiaochaopu
PMB:42
省份:湖南
行业:IT软件
注册:2008/11/25
  
  
标题:Re:十六招成为大型软件项目的开发英雄
4 楼
来学习一下.
回复 | 引用    回复时间:2008/11/25 15:58:47

whatman
PMB:36
省份:上海
行业:IT软件
注册:2005/9/1
  
  
标题:Re:十六招成为大型软件项目的开发英雄
5 楼
参观
回复 | 引用    回复时间:2008/12/1 11:16:02

zhjohny
PMB:327
省份:
行业:
注册:2003/2/19
  
  
标题:Re:十六招成为大型软件项目的开发英雄
6 楼
学习!
回复 | 引用    回复时间:2008/12/7 13:24:59

pengfei_fly
PMB:-26
省份:北京
行业:IT软件
注册:2008/12/8
  
  
标题:Re:十六招成为大型软件项目的开发英雄
7 楼
好文章
回复 | 引用    回复时间:2008/12/8 12:48:53

mirror3108
PMB:0
省份:山东
行业:IT软件
注册:2007/12/18
  
  
标题:Re:十六招成为大型软件项目的开发英雄
8 楼
学习下
回复 | 引用    回复时间:2008/12/10 16:18:39

ruobi
PMB:878
省份:广东
行业:IT软件
注册:2004/1/29
  
  
标题:Re:十六招成为大型软件项目的开发英雄
9 楼
good
回复 | 引用    回复时间:2008/12/18 8:42:42

jvyee
PMB:395
省份:北京
行业:IT软件
注册:2008/5/26
  
  
标题:Re:十六招成为大型软件项目的开发英雄
10 楼
忠告:成为开发英雄并无乐趣,仅仅是能者多劳而已,还会使自己失去许多生活中的东西
回复 | 引用    回复时间:2008/12/25 13:11:10
分页:1/5 共42条 首页 上一页 下一页 尾页 查看页 
!  您尚未登录,不能回复主题。    现在 登录  注册
关于联盟 | VIP会员 | 培训服务 | PMP认证 | PgMP认证 | 刊物出版 | 沙龙会议 | 人才服务 | 广告投放 | 联系我们 | 友情链接
建设运营:共创时网络
版权所有 京ICP证070584号 BBS业务许可2007第353号