论坛首页 综合技术论坛

[原创]定论——软件开发的评价标准(1)

浏览 39969 次
该帖已经被评为精华帖
作者 正文
   发表时间:2004-12-30  
庄表伟 写道
to:clamp
清醒的方法论,也就是知道自己“被不同的人使用,会有极为悬殊的效果”的方法论。这样的方法论,并不能让老板放心——老板总是希望自己的企业能够通过“XX认证”,所有的事情都由数据图表来表示,然后公司就成了成熟的软件企业——哪有这么容易的事情。
真正的方法论,一定会告诉老板:
你要重视人!
你要重视经验!
你要信任高手!
注意,叫人迷信高手的,也不是方法论,那是“迷信”。


呵呵,我不认为告诉老板要重视人重视经验信任高手的就是“真正的”方法论
我认为一个好的方法论,对于人的要求应该是这样的:
      1、对于符合其基准要求的人员,可以得到比较稳定的结果
      2、如果有超出基准要求的人员,可以得到比较好的结果
      3、如果不符合基准要求,那么不要期望该方法论可以正常的工作!

至于老板选择1还是2还是3,那是老板的事情!
他是老板,而你不是,所以你应当提供选择,告诉什么样的行为会得到什么样的结果,而不是告诉老板应该怎么做!
0 请登录后投票
   发表时间:2005-01-10  
可是很多时候经验确实不是很轻易地就能从一个头脑传递到另一个头脑的。我和我的朋友 ly
合作了一年多,其间因对技术问题的不同看法发生过数次争论,现在才比较充分地理解了他的很多设计意图。发现以前由于经验上的差距,未能理解他的设计,他的很多想法其实都是非常正确的。
<BR>quote]

看了一大堆,这句话还有点着边。
软件首先是人脑的活动,软件的成本主要在设计的交流。在座的大多都是可以自称是‘老鸟’的角色了,谈什么技术对生产力的影响,有本末倒置的嫌疑哦~~
0 请登录后投票
   发表时间:2005-05-20  
为什么不记美工MM的工作呢?这个需要解释一下 
因为大多数时候,客户的修改需求都会围绕代码,而只会在项目的初期要求修改视觉效果。作为一次投入的成本,相对于整个项目的成本,实在不是很高,除非是“游戏”。另外一方面,在这个领域的提高效率的工具,向来没有什么太大的争论,甚至效率都不是第一要求考虑的因素。

不认同这样的观点。
代码对最终用户来说是透明的,所以对于他们来说,界面的易操作性,美观是非常重要的。在项目后期很可能要花80%的时间花在20%的界面细节上
0 请登录后投票
   发表时间:2005-05-29  
这样的原则也许是对的

1 "好的代码不需要注释"  优雅 简洁的代码能解释自己. 

2 "好的设计不需要文档"  思路清晰 一个图就能表达设计意图.

3 "好的产品是不用说明书 不用培训 不用售后服务 不用维修的产品". 黄金 白银都有这个特性

4 "强大的团队就是一个人的团队"  无疑一个人的团队内耗是最少的 也无法依靠任何人 只能将自己的能力最大的发挥.

这么说好像很极端 但是这样的原则无疑能提高效率.

如果我们不断的加盐(文档) 就越吃越咸.

同样我们不断的强调以上原则就能越来越有效率.
0 请登录后投票
   发表时间:2005-07-26  
husthxd 写道
为什么不记美工MM的工作呢?这个需要解释一下 
因为大多数时候,客户的修改需求都会围绕代码,而只会在项目的初期要求修改视觉效果。作为一次投入的成本,相对于整个项目的成本,实在不是很高,除非是“游戏”。另外一方面,在这个领域的提高效率的工具,向来没有什么太大的争论,甚至效率都不是第一要求考虑的因素。

不认同这样的观点。
代码对最终用户来说是透明的,所以对于他们来说,界面的易操作性,美观是非常重要的。在项目后期很可能要花80%的时间花在20%的界面细节上


但是一个好的结构可以用很低成本去支持这用户对操作的变化,但如果是一个糟糕的结构,后期就大家一起加班好了,hoho
0 请登录后投票
   发表时间:2005-07-26  
对了,老庄的这篇文章结束了吗?
0 请登录后投票
   发表时间:2005-07-26  
没结束,而且打算重写,预计在《OO丧钟》结束之后,就开始写《定论》
0 请登录后投票
   发表时间:2005-09-22  
庄表伟 写道
一、序论

我们一直在争论,什么更好。
什么是更好的语言,什么是更好的写法,什么是更好的设计,什么是更好的风格,什么是更高的框架,什么更好的工具......

没有定论,似乎没有什么能够占绝对的上风,往就是陷入混战,边上还有人劝架:“具体情况具体分析嘛,这样凭空吵不出结果的!”

能不能得到定论呢?

首先要明确,标准是什么?或者说软件开发的根本目标,除了满足功能需求之外,对于软件开发的这一方来说,最重要的目标是什么?

————效率!
同样的软件开发收入,投入的成本越低,就越赚钱。
对于开发人员也这样,同样的项目,如果只用干一个月,而不是一年,同样的奖金数量,大家都会很开心。

一切有助于提高效率的,都是好的。
而一切妨碍效率的,都是坏的。

有些方法吹得神乎其神,你用了以后,发现没有提高效率,但是带来了别得好处。。。且慢,如果它降低了你的工作效率,那么它的任何好处都是假的。

有人告诉你,文档很重要,如何如何。你写出了世界上最漂亮的文档,但是你的开发速度是原来的1/10,那么你就是被这样的思路害了。

有人告诉你,代码分离很重要,然后你发现你经常需要修改文件,满足需求变更,都要跨越十几个文件,那么你又受骗了。

也许有人又告诉你,你这样的做法不符合那样的“最佳实践”。而你发现理解这些“最佳实践”,花费了你大量的时间,那么你还是受骗了。

真正好的东西,理解起来也应该很容易,学习起来也不会难,它是自然的。那些一看就觉得不自然的思路,你永远都不该去试图理解它,否则就是浪费了时间。


二、总开发成本
软件开发,基本上还是一个手工劳作的行业。软件开发的成本,基本上就是人员的工资×工作量。而得到的产品,就是一堆“byte”。包括“文本的byte”和“二进制的byte”。也就是“代码”+“文档”+“其他资源文件”。

如果我们把美工MM的工作忽略不记的话(罪过罪过)。总开发成本,就和整个开发期间的代码总生产量正比。(包括第一次写下来,后来又被删除的代码)因为基本上,一个人的代码生成数量,与他的工作时间成正比,也就进而和他的工资成正比。

要降低成本,其实就是要降低总的代码生产量。当然,前提是功能要保证能够完成,性能也不能低于客户的要求。

为什么不记美工MM的工作呢?这个需要解释一下
因为大多数时候,客户的修改需求都会围绕代码,而只会在项目的初期要求修改视觉效果。作为一次投入的成本,相对于整个项目的成本,实在不是很高,除非是“游戏”。另外一方面,在这个领域的提高效率的工具,向来没有什么太大的争论,甚至效率都不是第一要求考虑的因素。

回到我们的话题上来,我想要说明的就是:一切方法,设计,思路,技巧,如果不能切实的降低代码总数+文档总数,那么他就是“害人”的东西。

——待续


软件开发最重要的是“效率”吗?
你是站在公司和程序员的夹角中看的吧?

软件开发涉及3个角度:程序员,公司,客户。
软件开发的目标:准时地开发出符合客户要求的软件产品

效率再快,开发出来的产品是符合要求的话也是白搭。
0 请登录后投票
   发表时间:2005-09-22  
dohkoos 写道
软件开发最重要的是“效率”吗?
你是站在公司和程序员的夹角中看的吧?

软件开发涉及3个角度:程序员,公司,客户。
软件开发的目标:准时地开发出符合客户要求的软件产品

效率再快,开发出来的产品是符合要求的话也是白搭。


唉,你这个同学,自以为挑了人家的毛病,却根本看不到我文章中的价值。
0 请登录后投票
   发表时间:2005-09-22  
庄表伟 写道
dohkoos 写道
软件开发最重要的是“效率”吗?
你是站在公司和程序员的夹角中看的吧?

软件开发涉及3个角度:程序员,公司,客户。
软件开发的目标:准时地开发出符合客户要求的软件产品

效率再快,开发出来的产品是符合要求的话也是白搭。


唉,你这个同学,自以为挑了人家的毛病,却根本看不到我文章中的价值


我没赞扬你的文章有价值就是“根本看不到我文章中的价值”,或是“挑了人家的毛病”就是“根本看不到我文章中的价值”??

你文章有没有价值大家看的很明白,我也是。我只是想把我认为你文章中有问题的言论挑出来说一下。这就是我发帖子的原因。而不是“自以为挑了人家的毛病,却根本看不到我文章中的价值”。

话语中或许有得罪的地方也请原谅!
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics