作者JJ1118 (JJ)
看板GameDesign
标题Re: [分享]坊间游戏程式设计之教与学都还要再进步
时间Fri Oct 23 13:19:49 2009
※ 引述《NDark (溺於黑暗)》之铭言:
: 我个人经验是,
: 几乎一半以上的工程师不在意这个.或是不知道该怎麽作好debug & trace.
: 甚至是工作了好几年(资深)也是如此.
: 原因有很多,
: a(最多).
: 是主管不看重事先规划的工时,
: 只希望你拿出时间表:告诉他什麽时候会完成,
: 因为时间表是你自己提的,所以delay就要负全责,
: 如果时间表主管不满意,他就跟你摇头说自己再回去想想.
: (如果主管早有想法整个规划应该相反过来,
: 由主管作统筹大致的规划时程,执行的人负责微调及评估如期完成的可能性与风险.)
: 这种情况会导致上下交相贼,下面的人为了讨好主管,估的时间就会低於实际完成的时程.
: 没有把可能的风险包含进去.(就是假设事情都会很顺利)
: 导致最後一定会delay.然後自己还是得背黑锅.
: 一直在赶进度的情况下软体工作人员就没办法写出优秀的架构.自然也无心顾及QA.
: 没有QA.软体的未来就埋下"不定时炸弹",
: 最干的情况是:bug爆炸出包了,主管会骂你怎麽这麽差劲.
: 让你无语问苍天的事实:你可能已经是现有的人力下能作的最好的那一位了.
掌控专案时程的是PM,如你提到有两种状况:
1. PM依据各单位提供的时程评估,整合出一个专案时程表
2. PM依据产品上市或交货需求,设计一个专案时程表
但是无论是哪一种,最重要的是RD要买单。无论RD心态是讨好主管还是迫於压力,
只要定下schedule,就是要完成。
现实是很残酷的,当产品没有如期完成时,倒楣的是全公司,
不要认为只有RD被骂到臭头。做PM的或Sales也是在客户面前辈被海K,
还赔掉了商誉、信任度,未来就没case可以接了。
我的经验是看产品特性,如果是自制产品,会以第一种方式进行(各单位提交时间表)
若是向外面争取来的机会,争取前就会跟各单位讨论好该时程式否可行,
若大家都觉得可行,在争取到之後就没有delay的空间。
软体开发只有0和100,没有中间过程,写完几亿行code,只要一个bug解不掉,
产品进度就跟0没差两样。因此软体开发的进度如何评估和管理本来就是很深奥的学问,
但是好的RD至少要可以确实把状况反应,让相关人员能够有所准备去对外。
: 其他原因还有,
: b.
: 永远都有更重要的事情要作.
: 可能是你的主要产出并不是软体,软体只是你展示的工具.
: 或是更可能是主管认定这种QA是你"应该"要作好的.
: 不能跟主管讲说"我觉得我要再花几天把程式改得[跟原来一样]"
: (改的不一样主管会觉得你有做事,改的一模一样,主管就认为你在偷懒,
: 同样"高效能"也是你原本"应该"就要作好的,怎麽现在才来改)
很多老板的确是这麽觉得的,「高效能」是你开发时就要顾到的....
(我刚刚才因为效能问题没有初期测试出来被我老板海K)
但是我觉得schedule就是要拿到完成可以上市的产品,
如果有需要测试、调校的时间本来就应该要估在时程里。
: c.
: 主管并不懂你的工作内容.
: 他只关心最後结果符不符合
: c1客户"口中"所说(而非写在纸上的规格)
: c2"重要人士"所说(老鸟讲一句你烂.你就是很烂,你只好找一百种方法来证明)
: c3主管"心里"所想(就是从来也没告诉你要开发成什麽样子,
: 只有rough的描述,开发过程也不修正,
: 最後成品出来才说这东西"品味"真差)<--改编真实案例
主管不懂你的工作内容,相同的RD也不懂主管真的的工作。
主管永远认为你应该要懂他的想法或需求,若你不懂要问。
不会主动沟通的员工,闷起头来做的再好还是容易犯错。
以上面第三点(c3)来说,有心的主管可能会告知把规则说清楚,
但是既然开发者不知道要开发成怎样,也不问就闷着头开发,
我不认为开发者心态和做事方式是对的。
每天坐在办公室前10小时就表示我认真,付出很多,是优秀员工。
放屁,重点是能不能完成需要完成的工作,满足需求者的需求。
就因为抱着「我有做就对了」的心态,所以才会连需求都没确实确认就做下去。
最後做错时还会抱着一副你都没讲清楚的想法.....
如果是需求者的需求和当初开的需求书不同,那还可以说嘴。
如果当初没有听好需求,确认需求,只能说被评估绩效不彰也是自找的。
: 其实是这些问题同一个源头,台湾的软体业才在发展中.
: 而且软体的变化速度已经非那些
: "资深"&&("没有继续充电"||"没有加强软体开发管理能力")的那些管理人可以掌握.
: anyway.有点抱怨了...
: 我只是想说有时候是环境让软体工作别无选择,
: 只有那些"心灵纯净未受污染"的工程师能够继续对自己的程式码有粹炼的能力.
: 其他都只是在虚应故事,拿"讨口饭吃"当藉口而已.
同意,台湾的软体开发管理的确还是刚起步。
但是如果真的要开始往那方向走,只怕各位软体工程师会撑不住。
连一周写一次的工作进度都写的乱七八糟,更别说大量的专案管理文件
版上很多都是软体工程师,我也先说了,如果以下言论有感觉被伤害的,
请不要来查我的IP.....
大部分工程师都活在自己的世界里,没有商业的概念,总是认为自己有一技之长,
根本不怕没饭吃。软体公司就是靠卖软体,软体哪来?
就是我写啊,所以我说话最大声....就算没有很严重的心态,
至少也有感觉自己比那些sales、PM高一等的感觉,或是对於营运面完全没兴趣的表现。
我希望所有现在及未来的工程师都需要换个心态,无论卖什麽,
重要的是买家愿意付钱给公司,公司才有钱付你薪水。
买家为什麽愿意买你家的产品,不只是因为你产品产的好,还因为行销、
业务端努力推广维持关系才可以得到销售机会。
我在做PM时,很讨厌听到RD用轻蔑的口吻对我说你这个sales,
因为我觉得PM比sales高级一点,sales不过就是逞逞口舌之快,只会靠关系来工作。
但是後来我兼做sales之後,重新体认到的sales的重要,也更看清了RD的愚蠢。
当RD在内部被检讨为何delay时,我们在外面说用跪的可能太夸张,
我们还是低声下气的去求人家宽限时间,不要动用合约的罚则。
Delay後,RD只需要帮自己找方法解决困境,让老板愿意继续付薪水给他。
而PM、Sales则是努力帮公司找方法解决困境,让买家继续付全公司的薪水。
好的RD要走出象牙塔,用PM、Sales和老板的角度来思考开发的需求。
而不是认为技术可以是一切的根本。技术是必须要有的技能,
能否卓越,重点在态度。
给一个例子!大家知道前有一位很厉害的工程师,就是设计车诺比病毒的那一位。
大家知道他现在在干嘛吗?
他一直有工作,因为能力真的很强。但是几乎都只能当顾问性质或接案子的工作。
因为个性独行侠,技术虽然一流,可是很难管理和配合,
所以最後只能用这种方式来合作。
我相信大家来这个版上都不只是为了把技术提昇,而是想要做出一些成就,
请记住,成就不是靠自己一个人来做的,是大家一起完成的。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.128.227.51
1F:→ rexrainbow:"只要一个bug解不掉,产品进度就跟0没差两样。"->所以 10/23 13:31
2F:→ rexrainbow:有蓝色画面出现的程式都是半成品? 10/23 13:32
3F:推 NDark:一个"已知的"bug解不掉. 已知的是在清单上的意思 10/23 13:34
4F:→ NDark:当然进度赶的时候,清单上的item会自动消失. 10/23 13:35
5F:→ rexrainbow:或许让程式当掉算了也是种解法? 反正出现的机率很小.@@ 10/23 13:36
6F:推 remmurds:大推这篇 工程师的心态都应该要好好改一改 别再自视甚高 10/23 17:20
7F:推 yoco315:你讲的CIH怎麽都跟我知道的不一样,他本人有上PTT.. 10/24 01:51
8F:→ yoco315:要不要请他自己上来说明一下 XD 10/24 01:51
9F:推 asoedarren:你说的应该是10年前的CIH 10/24 10:18
10F:→ softwind:CIH? 不知道他现在过的怎样? 10/24 11:14
11F:推 asoedarren:不就在搞linux kernel & driver 人不错 不会不好相处 10/24 13:43
12F:→ darkflier:CIH是姓江吗 10/25 20:29
13F:推 ctrlbreak:CIH 陈 x豪 10/26 00:20