qdzx2008的专栏

---不能则学,不知则问,耻于问人,决无长进.如何能得到快乐:抛弃仇恨、远离烦恼、生活简单、淡泊名利、为人着想、笑口常开---

张兴
张兴的公告

首页 留言 点击这里给我发消息
月 [下月] [上月]
最近评论
hdnero:wow gold
hdnero:wow gold
jamte55:哈哈,从程序员开始
zhouxz1026:不得不说这个文章很有水平,也说明了作者的涵养。学习了!
蜂胶
蜂蜜
jzywh:你的这篇文章原封不动的复制粘贴了我的两篇文章
http://www.cnblogs.com/jzywh/archive/2005/09/29/246650.html
http://www.cnblogs.com/jzywh/archive/2006/02/20/seconddomainurlrewriter.html
, 严重侵犯了我的权利。

文章分类
收藏
相册
自拍风景
.net
【孟子E章】的专栏
21世纪asp.net技术网
Alinker 专栏
ASP.NET Forums 官方中文网站
csdn .net文档列表
任宇(XML/HTTP方面)
博客园
博客堂
开源大全
最新收集的.net文章
老猫的理想
蓝丽网(蓝丽程序员网络)
Ajax
Ajax 中国
Blog
“小灰”的专栏
AppleBBS
Java之路
My MSN Space
shenzhe'BLOG
博客中国
老康的专栏
键者天行
E杂志
《C# 杂志》
《C/C++杂志》
《CSDN社区电子杂志——ASP.NET杂志》官方blog
《Delphi杂志》
《Java 杂志》
《MS SQL Server杂志》
《Oracle杂志》
《Visual Basic杂志》
《Web开发杂志》
《开源杂志》
《移动开发杂志》
《软件工程杂志》
java
电子报
本博客.net分类的电子报
其他
MSN Web Messager
开发视界--Symbian开发专栏
存档
软件项目交易
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
订阅到BlogLines
订阅到Yahoo
订阅到GouGou
订阅到飞鸽
订阅到Rojo
订阅到newsgator
订阅到netvibes

转载 从程序员升级到工程师 收藏

新一篇: SQL Server 和 Oracle 常用函数对比 | 旧一篇: 教你做一个优秀的项目经理

       大多数象我这样对软件有浓厚兴趣的人,毕业后义无反顾地走进了企业,开始了程序员的生涯。那时,我们迷恋“大全”、“秘籍”一类的书籍,心中只有代码。当我看到一行行枯燥的代码变成了能够打电话的设备,变成了屏幕上漂亮的表格,变成了动听的音乐,成就感油然而生。我觉得自己也是一个出色的程序员了。在用户的机房中苦熬三昼夜解决软件的bug,也成了一种可以夸耀的资历。

五年前的某一天,我把曾经让我兴奋自豪的大量代码和少得可怜的文档移交之后,来到了华为。这里有更多的年轻人,我如鱼得水,可以充分发挥自己的想象力。依然是代码,依然是匆匆地在纸上记下稍纵即逝的灵感(我们把它称作文档),依然是无休止地和bug作斗争。当有一天,一个新来的同事拿着署着我的大名的文档,小心翼翼地来问我时,我发现自己好像有点不认识它了。我心里有点沮丧,再看看代码,发现文档上记录的一些灵感已面目全非。我当时不知道那位新来的同事感受如何,但我从那时起,好像意识到什么。现在来看,那时的很多事情都是事倍功半。

去年年底,公司派我到印度从事项目开发,学习印度的软件开发管理方法。一种久违的冲动在心底升起。印度,我已去过两次,虽说是走马观花,但是,印象还是比较深刻。我在访问过程中和印度的工程师交流过,他们言谈中透着自信。他们给我讲解正在做的软件的测试环境,给我看他们写的单元测试文档。当我看到一个软件模块的单元测试用例有三百多页时,我觉得心里很是沉重。当我第三次踏上这片土地时,我又见到了熟悉的人们,明亮的眼睛,温和的笑容,随意的穿着,风驰电掣的摩托,还有大学校园中穿着拖鞋,手抱书本的年轻人。

我也见到了我的项目经理,一个个子较高,瘦瘦的年轻人,据说刚从美国回来,已工作了五、六年。我听了心里很高兴,这回要一招一式地学两手。需求分析的时间是一个月,项目经理和我们(实际上代表客户)讨论了proposal中的内容,确定每一项都是需要的。然后他把模块大致划分了一下,开始进入计划中的学习阶段。每个人在学习阶段要写出功能描述的胶片,给其他人讲解,不知不觉中,项目组的所有人对项目有了整体的了解。他还安排了一些培训,如他们公司的软件开发模型、项目组中各角色的定义,以后及时的培训不断,只要项目组中有需求,他总是把qa或相关的人请来,培训很专业。需求分析完成后提交了一份四十多页的文档,当我看到这份英文文档中我写的部分整整齐齐地列在其中时,我的感觉很复杂,有些喜悦,但更多的是苦涩,我以前怎么就从来没有这样做过需求分析呢。

在我写文档的过程中,qa给我们培训过srs的写作模板,后来我还是不放心,让他们一个有经验的工程师写了一段,我们再琢磨着照着写。这份srs虽然是多个人合写,但风格一致,内容详实。更为可贵的是,一直到最后,这份需求分析的内容都没有改过,以至于我们没有机会走一下他们的需求更改流程。

需求分析是项目的第一阶段,第二阶段的开发时间要根据需求分析的结果来确定。当对方的首席技术官(相当于我们业务部的总体组长)来和我们讨论计划时,他们已列出了对每个模块的代码行数的预测,可能存在的风险。根据他们公司的生产率--300行/人月,他得出了项目第二阶段需要多少周。

我们当时就提出了异议:1)公司对该项目需求很急;2)每月300行是否太少;3)我们还有下载的源代码参考。他解释说,300行/人月是使得项目能达到他们质量标准的经验数据,考虑到有源代码参考,生产率最多不能超过350行/人月。当他问我们公司的生产率时,我脑袋里转了三个圈,没敢多说,大概六、七百行吧。他沉默了一会儿,然后坚定地说,我们这个计划是建立在确保质量的基础上的,我想你们到印度来开发软件,首先看中的应该是我们印度公司的质量保证。我知道你们不缺乏软件开发人员,你们为什么不选择下载的软件呢。几句话说到了我的痛处,现在国内的弟兄们还在为使用下载软件移植的产品四处奔波呢!

  随后的开发活动有条不紊,我们老老实实地跟着做。系统测试计划、用例,概要设计,集成测试计划、用例,详细设计,单元测试计划、用例,编码,单元测试,集成测试,系统测试。一个完整的v模型开发过程,其中每个过程都有review。当我们对一些设计的方法不太明白时,项目经理给我们发来了相关的资料,我不知道他当时是怎么想的,一些基本的分析、设计方法是十年,甚至二十年前的软件工程书中就讲到的,印度每个计算机专业的人员都是必修这些内容的。而我们除了对一些具体协议的代码很熟之外,对这些常用的方法似乎一无所知。我感到一些羞愧,进城直奔书店,把他给我开列的书找了出来,晚上躺在床上,仔细研读,我仿佛突然又遇到了能给我指点迷津的良师益友。现在印度所已形成了强烈的学习风气。我回来后也推销了700多本书,这些书教我们如何用工程化的方法开发软件,是成为一个软件工程师必读的资料。

发表于 @ 2007年01月04日 11:07:00|评论(loading...)|编辑

新一篇: SQL Server 和 Oracle 常用函数对比 | 旧一篇: 教你做一个优秀的项目经理

评论

#xiammy 发表于2007-01-04 12:50:06  IP: 218.249.220.*
lz: 建议排版做一下吧
#jamte55 发表于2008-06-04 12:38:01  IP: 125.120.89.*
哈哈,从程序员开始
发表评论  


当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
Csdn Blog version 3.1a
Copyright © 张兴