艾伟也谈项目管理,谈软件协作:君子和而不同,小人同而不和

我们知道现在的软件开发最大的问题就是变化,其实这也不是软件本身的问题,我更觉得是软件的特点。因为他不像建筑,画个建筑图,一般不会偏到哪里去。然而很多需要软件的人,他可能希望软件能达到什么目的,至于具体是什么样子,他自己也不知道。大部分都是看到一部分想起一部分,自己也不断的修正。这也是为什么最近敏捷大行其道。

我甚至服务过一个客户,做一个公园系统,为的是送一张免费的VIP卡给业主,最终目的是卖房子。

既然软件的需求是不固定,也就是不断变化,所以我们签合同的时候往往有两种方式:

1.固定价格

这种就是一开始让客户必须把需求定下来,然后估计时间,然后就是报价,我一直不懂这个价格是如何报的,很多就是先去客户那里调研一下,其实就是看一下这个客户好不好蒙,能蒙多少。然后就近可能的往高的报。然后整一份需求说明书,让客户签字,如果客户改需求,加钱加时间。要不就目前的功能你做了也没用,鸡肋,大部分客户咬着牙,加吧,谁让我们给他们分期付款,还付了定金呢,最终不欢而散,两败俱伤。

2. 按时间付价格

这种大部分出现在外包的项目中,就是客户找自己需要的工程师,按月付费,一般采用迭代式开发,增量式开发,客户考察的主要是质量和效率,如果达不到客户的要求,客户立即停止。这样看起来很美,但是效率却是一个不好衡量的东西,尤其是时间短的项目,很难看到效率,举个例子,同样是盖楼,一个打10米的地基,迅速盖到了三楼,可是另一个打了30米的地基,为的是盖30层的高楼,很显然,10米地基的楼房很快就出现人的眼前。这说明效率有时候有点“乱花渐欲迷人眼”。但这种方式,我们很多人5小时能干完的,非要8小时干完,为什么呢,因为5小时干完,客户也不一定提高报价。客户很难知道什么是真正的效率,从某种意义上说,抹杀了整个生产力。

两种方式,看似都有问题,但第二种比第一种对双方风险稍小。但第二种会抹杀整个行业的创新和积极性。

最近,看《论语》“君子和而不同,小人同而不和”就是说,君子内心所见略同,但其外在表现未必都一样,比如都为天下谋,有些人出仕做官,有些人则教书育人,这种“不同”可以致“和”;小人虽然嗜好相同,但因为各争私利,必然互起冲突,这种“同”反而导致了“不和”。

这突然让我想起软件项目的合作有何尝不是如此,很多时候,我们以为有了一份合同就可以,其实合同就是一份摆设。如果都按孔子的这个思想,软件合同其实就是要完成一件事情,具体要做成什么样,价格是否会变化,应该是在过程中不断协商,不断合作。如果一开始都说好不变,其实我们自己都知道,一定有一方会吃亏。就像有人说“中国人太多,炸死一半就好了”(此话出自在电梯偶遇某一个看似有文化的中年妇女),我就想难道那一半就一定不包括你?

所以,我们在软件写作过程,最好就是想尽一切办法,让自己和客户的合作更紧密一些,合同内容尽量少一些。

胡乱瞎写,愿各位斧正。

注:不希望看到评论只说别人文笔太差,而自己又不愿贡献文章的人。比如,很多项目经理老说别人不行,如果别人都行了,那你就是最不行的,你有别人没有的东西,这才是你存在的理由。

 

时间: 2024-09-02 19:52:00

艾伟也谈项目管理,谈软件协作:君子和而不同,小人同而不和的相关文章

艾伟也谈项目管理,软件开发前期设计时的注意事项

说起软件设计,我们可能每个人都做过,但是什么样的方案才是好的设计方案?如何才能设计出一个好的设计方案?在设计过程中需要注意哪些呢?不要总是说:低耦合.可维护性.可扩展性.简易性.可重用性等,本文试图另一个角度出发,带着前面的这些问题,使大家能明白那些问题的答案,并与大家一起探讨. 什么样的方案才是好的设计方案? 当我们完成了一个良好的设计方案后,我们回头再仔细分析是什么因素影响了我们的思路,使我们最终完成(确切的说是选择了)了这个设计方案(而不是另一个),我们会发现这些因素是:用户功能性的需求.

艾伟也谈项目管理,软件公司的两种管理方式

这篇文章是我的一个外国的同事Gareth推荐给我的,我和他一起工作过一段时间.他之所以觉得非常不错,是因为这篇文章让他身有体会,他觉得我也一定会有体会,并让我考虑一下翻译到我的blog上来.我看完后觉得很有代表性,而且觉得说得太对了,所以翻译过来,希望大家都读一读,最好转给你的公司老板. 这篇文章来源于 StakeExchange 上的一个问题--"为什么BA和PM的薪水要比程序员要高?",顶在一楼的回复分析了这个原因,并指出了两种管理文化. -------------------正文

艾伟也谈项目管理,编程习惯

文/Alexey Radul 译/程显峰 原文地址:http://web.mit.edu/~axch/www/programming_habits.html 近年来,我对编程艺术有很多体会.过后,我发现有些体会是错的:有些体会我遗忘了但又重新感受到:而另外有些则是必然会发现的.我还完善了一套项目管理的好习惯,这些习惯包括我自己的,或者小组的,抑或是更大的,公司内部的.一方面,这些习惯对软件的成功开发是至关重要的(太小或者纯粹巧合的不算),另一方面,这些习惯也不是什么高深莫测的东西,较小的篇幅就可

浅谈项目管理

一.商务谈判  1.作人的姿态 作人似乎跟商务谈判不太有关系,很多技术人员相信PM需要的是本事,是如何做好一个项目,而不是会搞好关系弄的四平八稳的人.随着PM在中国的悄悄兴起,越来越多的PM开始在老总的授意下参与商务谈判,和销售们一起打单子,这就比较实在的需要PM们去揣摩客户的心理.揣摩客户心理需要有多方面的知识,需要深度和广度,然而,最重要的仍然是作人.如何放下架子,降低作人的姿态,对从技术人员转型的PM们来说,是至关重要的. 降低作人的姿态需要从多个方面去实施,最主要应该记住:人不可貌相,更

谈一谈网络编程学习经验

建议大家去看原文:http://cloud.github.com/downloads/chenshuo/documents/LearningNetworkProgramming.pdf 1 谈一谈网络编程学习经验 陈硕 giantchen@gmail.com blog.csdn.net/Solstice weibo.com/giantchen 2012-02-13 本文谈一谈我在学习网络编程方面的一些个人经验."网络编程"这个术语的范围很广,本文指用 Sockets API 开发基于

谈一谈SQL Server中的执行计划缓存(下)

原文:谈一谈SQL Server中的执行计划缓存(下) 简介     在上篇文章中我们谈到了查询优化器和执行计划缓存的关系,以及其二者之间的冲突.本篇文章中,我们会主要阐述执行计划缓存常见的问题以及一些解决办法.   将执行缓存考虑在内时的流程     上篇文章中提到了查询优化器解析语句的过程,当将计划缓存考虑在内时,首先需要查看计划缓存中是否已经有语句的缓存,如果没有,才会执行编译过程,如果存在则直接利用编译好的执行计划.因此,完整的过程如图1所示. 图1.将计划缓存考虑在内的过程      

谈一谈SQL Server中的执行计划缓存(上)

原文:谈一谈SQL Server中的执行计划缓存(上) 简介     我们平时所写的SQL语句本质只是获取数据的逻辑,而不是获取数据的物理路径.当我们写的SQL语句传到SQL Server的时候,查询分析器会将语句依次进行解析(Parse).绑定(Bind).查询优化(Optimization,有时候也被称为简化).执行(Execution).除去执行步骤外,前三个步骤之后就生成了执行计划,也就是SQL Server按照该计划获取物理数据方式,最后执行步骤按照执行计划执行查询从而获得结果.但查询

谈一谈如何让老网站在百度更新中越来越稳

摘要: 每次百度更新总会有一部分网站倒下,这让很多老站长都感觉百度无情,其实作为百度搜索引擎而言他更多的是考虑用户的利益,而对于一些老网站被降权或者被K的行为都是由于网站自 每次百度更新总会有一部分网站倒下,这让很多老站长都感觉百度无情,其实作为百度搜索引擎而言他更多的是考虑用户的利益,而对于一些老网站被降权或者被K的行为都是由于网站自身不足引起的,而想要自己的网站在百度中趋于稳定,那么就必须改变建站思路与建站方法,下面我们详细的谈一谈如何让老网站在百度更新中越来越稳. 改变外链质量应当以稳定和

谈一谈各种语言的“整装儿”的感觉

谈一谈各种语言的"整装儿"的感觉 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. "整装儿" 是个东北方言,意思就是很紧凑,很成型,不散乱,结构清晰, 或