你做不做? 做什么啊——软件工程 (0分)

  • 主题发起人 主题发起人 tuti
  • 开始时间 开始时间
T

tuti

Unregistered / Unconfirmed
GUEST, unregistred user!
曾经泛泛地看过本叫《代码大全》的书,其他都没记住,只记得讲到一个类比的问题,
即“软件的开发”与 哪种人们比较熟知的事务有可比性,以便不熟悉软件开发的
人(各级管理层,客户等)可以得到个大致合适概念。很多人都把“软件开发”类比成
“房屋的建筑”,我也很同意这个类比。
在上海有很多在建的高楼大厦,路过那些工地,我常常会想:即便是100万行规模的
软件开发,难道就比造一幢10来层的楼难度更大吗? 虽然也有劣质的楼房,但我武断
地认为,豆腐渣的软件系统要比豆腐渣的楼多得多。我常自问这是为什么。
我不知道,是否有刚入行2年的建筑工去主持厂房的设计建造。 但我知道常有
刚入行2年1年甚至几个月的人在担当软件项目的负责人。
我不知道,是否有心急的建筑商看不得设备的闲置,而在没有设计图纸的情况,就让
施工队开始建筑“商务楼DEMO”。 但我常看见,管理精英们看不得资源的闲置,而在无开发
设计的情况下,驱动开发团队先做个“商务软件DEMO”出来。
我不知道,是否常会有客户要求把3年的盖楼工程期,压缩到1年(新闻联播中到是常有)。
但我常听到管理人员心急如焚地要求把3个月的开发时间,压缩到1个月。
昨晚在看《非程序员》第9期, Alan Cooper的访谈里面有段对话(翻译稿):
smilemac: 例如市场压力、预算、管理水平等等,这些都可能造成项目时间限制,许多
产品是它们之间相互妥协的结果。
alancooper: “...市场压力,预算...”,所有的都是管理者掩饰他对程序不了解的借口。
看似偏激,但我觉得说得是一语中的,现实就是这么一个样子,无论你如何臆想它,或者
忽视它,现实始终还在那里。而真正要面对现实是很不容易的,因为现实总是残酷的。
而比现实更残酷的是,管理层往往都很激情洋溢地盘算着商业计划,他们信奉的是“跳一下
才能完成的计划才是好计划”,至于你原来能达到哪里他却并不清楚。而开发人员几乎都是
天生的乐观主义者,对于他们来说没有“Mission Impossible”。任务越是困难越含糊不
清,越能激发他们克服困难的热情和所谓的创造自由度。这有点象我们这些单身汉在灯光
昏暗的酒吧里看到一位线条突兀,衣着似露未露的性感MM,所激发得某种生理反应。而当
一个相信电脑能算命的客户+ 激情洋溢的管理人员+ 一个(群)乐观向上的开发人员,
基本上大概一幕悲剧的演员就全齐了,然后大家一起想象着项目会自然出落得丽质天成,
结果多半是“为什么受伤的总是我"。
抱怨了半天,又要提到软件工程了。目前有这样一种情况,
每次项目挫折总结的时候,上上下下都会说“这是因为没有执行软件工程的原因”。
这时候“软件工程”就象是个大垃圾袋,任何令人讨厌的东西都可以往里扔。至于什么是
软件工程,很多数人只怕只有个模糊的概念。多半自己也分不清“软件工程”和“幸福生活”
之间有什么区别。不少人站出来说:“软件工程就是要把开发中的一切文档化可交流可维护
,而不要搞心口相传。” “要出一些什么样的文档呢?” 有不少人沉默了,
仍然有一些勇敢的人站出来列出一串文件名列表,或者拿出“CMM”或“RUP”的文档模板来。
“那怎么才能填写好这些文档,并使这些文档的资料足以做为进一步开发的基石呢?"。
“...”一片寂静。角落里有几个声音说到“找个咨询公司来做方案,或找个行业专家”。
也许有人有这样的好运气,但对大多数项目来说,这几乎是要老鼠给猫去挂个铃铛,把一个
问题偷换成另一个问题。
为什么一幢幢楼能建起来,而一个个软件项目在泥潭中挣扎下去。我只能说与建筑
和其他产业相比,软件开发几乎没有工程。因为在如此短暂产业的时间里,还没有足够多的
失败与教训来让大家摸索出一条被广为接受的工程方法来。请注意,总结出一是回事情,
被大家知道是一回事,而被大家采纳执行就是完全不同的别的事情了。到幼儿园走一圈,
我们可能知道健康的孩子是什么样,但我们却不知道怎么才能生出并养育个健康的孩子来。
知道目的地,和知道如何到达目的地,也是完全不同的两件事情,虽然他们之间有关系。说到
这里,突然想起那些信誓旦旦要在多久时间里,通过CMM X 级的老总们,即便他们生过
孩子,只怕由于工作繁忙也没养过孩子。
出路何在呢?只有去试验、去试错,土法上马。代价是什么?代价就是痛苦与失败。
软件工程方面的试验是困难的。一个人一台机器1、2个小时就可以试出一个API的使用来,
而4、5个人1、2个月也未见得,试出一个工程方法的优劣来。而在一个新软件工程方面
的导入在初期,引起开发混乱度的增加也是很常见的,谁也无法保证某个别人行之有效的
方法就一定适合你的项目团队。况且,也很少有哪个老板愿意给你个项目试着玩。
难归难,日子还要过。有前辈说了:痛苦的经历是改善流程的源动力。
这里我推荐两本书,管不管用就看各人的造化了。
1.《软件需求》机械工业,书很薄,有操作性。薄书就能说清的事,为什么要去看厚书呢?
2.《软件创新之路》电子工业 . 程序写多的人应该看看。想以MS为模仿对象的人也该看看。
也许我们知道未来是怎么样,但不知道怎么样能活到未来。
鼠目寸光,挂一漏万,见笑见笑。
 
不换行,看的好累 :-<
 
注意换行
我给你转换一下吧
曾经泛泛地看过本叫《代码大全》的书,其他都没记住,只记得讲到一个类比的问题,即“软
件的开发”与 哪种人们比较熟知的事务有可比性,以便不熟悉软件开发的人(各级管理层,
客户等)可以得到个大致合适概念。很多人都把“软件开发”类比成“房屋的建筑”,我也
很同意这个类比。
在上海有很多在建的高楼大厦,路过那些工地,我常常会想:即便是100万行规模的软
件开发,难道就比造一幢10来层的楼难度更大吗? 虽然也有劣质的楼房,但我武断地认为,
豆腐渣的软件系统要比豆腐渣的楼多得多。我常自问这是为什么。
我不知道,是否有刚入行2年的建筑工去主持厂房的设计建造。 但我知道常有
刚入行2年1年甚至几个月的人在担当软件项目的负责人。
我不知道,是否有心急的建筑商看不得设备的闲置,而在没有设计图纸的情况,就让施工
队开始建筑“商务楼DEMO”。 但我常看见,管理精英们看不得资源的闲置,而在无开发
设计的情况下,驱动开发团队先做个“商务软件DEMO”出来。
我不知道,是否常会有客户要求把3年的盖楼工程期,压缩到1年(新闻联播中到是常有)。
但我常听到管理人员心急如焚地要求把3个月的开发时间,压缩到1个月。
昨晚在看《非程序员》第9期, Alan Cooper的访谈里面有段对话(翻译稿):
smilemac: 例如市场压力、预算、管理水平等等,这些都可能造成项目时间限制,许 多
产品是它们之间相互妥协的结果。
alancooper: “...市场压力,预算...”,所有的都是管理者掩饰他对程序不了解的借口。
看似偏激,但我觉得说得是一语中的。现实这东西就是个样子,无论你如何臆想它,或者
忽视它,现实始终还在那里。而真正要面对现实是很不容易的,因为现实总是残酷的。而比
现实更残酷的是,管理层往往都很激情洋溢地盘算着商业计划,他们信奉的是“跳一下才能
完成的计划才是好计划”,至于你原来能达到哪里他却并不清楚。而开发人员几乎都是天生
的乐观主义者,对于他们来说没有“Mission Impossible”。任务越是困难越含糊不清,越能
激发他们克服困难的热情和所谓的创造自由度。这有点象我们这些单身汉在灯光昏暗的酒吧
里看到一位线条突兀,衣着似露未露的性感MM,所激发得某种生理反应。而当一个相信电
脑能算命的客户+ 激情洋溢的管理人员+ 一个(群)乐观向上的开发人员,基本上大概一
幕悲剧的演员就全齐了,然后大家一起想象着项目会自然出落得丽质天成,结果多半是“为
什么受伤的总是我"。
抱怨了半天,又要提到软件工程了。目前有这样一种情况,
每次项目挫折总结的时候,上上下下都会说“这是因为没有执行软件工程的原因”。
这时候“软件工程”就象是个大垃圾袋,任何令人讨厌的东西都可以往里扔。至于什么是软
件工程,很多数人只怕只有个模糊的概念。多半自己也分不清“软件工程”和“幸福生活”
之间有什么区别。不少人站出来说:“软件工程就是要把开发中的一切文档化可交流可维护,
而不要搞心口相传。” “要出一些什么样的文档呢?” 有不少人沉默了,仍然有一些勇敢
的人站出来列出一串文件名列表,或者拿出“CMM”或“RUP”的文档模板来。“那怎么才
能填写好这些文档,并使这些文档的资料足以做为进一步开发的基石呢?"。“...”一片寂静。
角落里有几个声音说到“找个咨询公司来做方案,或找个行业专家”。也许有人有这样的好
运气,但对大多数项目来说,这几乎是要老鼠给猫去挂个铃铛,把一个问题偷换成另一个问
题。
为什么一幢幢楼能建起来,而一个个软件项目在泥潭中挣扎下去。我只能说与建筑和其
他产业相比,软件开发几乎没有工程。因为在如此短暂产业的时间里,还没有足够多
的失败与教训来让大家摸索出一条被广为接受的工程方法来。请注意,总结出一是回
事情,被大家知道是一回事,而被大家采纳执行就是完全不同的别的事情了。到幼儿
园走一圈,我们可能知道健康的孩子是什么样,但我们却不知道怎么才能生出并养育
个健康的孩子来。知道目的地,和知道如何到达目的地,也是完全不同的两件事情,
虽然他们之间有关系。说到这里,突然想起那些信誓旦旦要在多久时间里,通过CMM
X 级的老总们,即便他们生过孩子,只怕由于工作繁忙也没养过孩子。
出路何在呢?只有去试验、去试错,土法上马。代价是什么?代价就是痛苦与失败。软
件工程方面的试验是困难的。一个人一台机器1、2个小时就可以试出一个API的使用
来,而4、5个人1、2个月也未见得,试出一个工程方法的优劣来。而在一个新软件工
程方面的导入在初期,引起开发混乱度的增加也是很常见的,谁也无法保证某个别人
行之有效的方法就一定适合你的项目团队。况且,也很少有哪个老板愿意给你个项目
试着玩。难归难,日子还要过。有前辈说了:痛苦的经历是改善流程的源动力。
这里我推荐两本书,管不管用就看各人的造化了。
1.《软件需求》机械工业,书很薄,有操作性。薄书就能说清的事,为什么要去看厚书呢?
2.《软件创新之路》电子工业 . 程序写多的人应该看看。想以MS为模仿对象的人也该看看。
也许我们知道未来是怎么样,但不知道怎么样能活到未来。
鼠目寸光,挂一漏万,见笑见笑。
 
兄弟最近刚辞职,想不干开发了,
但又有点于心不甘,琢磨着改当项目顾问。
--不过我到是常说,所谓顾问就是职业骗子。
也没什么拿得出手的资历学历,
上海地区有兴趣的朋友,大家可以聊聊。
 
对于软件工程没必要一开始就全面的实施,一个公司在软件开发过程中或多或少也积累了一
些开发经验,这些经验有的是好的就应该保留并发扬,而有的不好就应该坚决予以摒弃,对
于有问题的地方要根据重要程度找出错误加以改进,这样不断的持续进行过程改进,那么开
发会逐渐步入正常的轨道,到时通过什么CMM认证就会水到渠成,现在CMMI就是这方面应用
的最新成果!国内的CEO们热衷于通过CMM X级认证,认为通过认证后什么问题都可以解决,
取得认证后就大肆对外宣传而管理制度又回到以前的老路上,这就成了炒作、跟风,好比买
椟还珠!
一个企业开发能力的改进应该是先从PSP,然后TSP,再就是CMM逐步升级。
 
tuti:
一看就知道您身经百战的老手了
不才也有时想做做所谓顾问的事情。。。后果你一定知道
但软工和开发管理确实是一门学问——经理人的学问
我个人认为掌握某些开发技术或者说是编程兴趣,同时深喑开发之道并不矛盾
小公司有小公司的包袱(本来打抱负,但想来更妙),真能在开发控制上大做文章的,必定能
在大型项目有所展现
目前国内开发人才的培训教育很落后,高校不会专门为国内开发公司培训专门人员,在这混乱的
人才成型机制中大型开发研究机构要略微占先机
虽然没能象您大手笔洋洋洒洒,有机会交个朋友吧
我在南京,常有机会来SH。。。
 
我不清楚楼上几位的资历,所以只是说说看法
我想如果没有几年实际成功(首要条件)开发重大项目(其次)经验
并且很多方面都懂
否则我想时没有公司愿意请你做顾问的
如果你时老板你会吗?
如果有,我想也难,至少现在难,毕竟没多少公司愿意花这个钱
 
>>onedot
说得对,其实做顾问的想法基本是不可能的。
况且给我个项目我也不见得做得好到哪里去,所以也只是想想而已。
>>房客
海内存知己,天涯若比邻
其实我资历也挺浅,充其量也就是想得多些。
这篇 “做不做”加上 转贴的“软件工程到低能帮多大忙?”
http://www.delphibbs.com/delphibbs/dispq.asp?lid=795044
构成了我对“软件工程”这个问题的基本看法。
留个QQ:9699981
 
写的不错(抄了别人的好些东西吧?看着好像很熟悉)
我也推荐一本书<微软项目>,写的还不错.看了会让你知道怎么做,而不是那种做什么的书.
 
微软项目几本书是不错,好就好在全是些,具体的感受与体会。
是不是抄了什么,说实在的自己也搞不清楚了,杂书看了多了点
很难说哪些是自己想出来的,哪些是看来的。
 
Good.Ths for every one.
 
后退
顶部