当前位置: 首页 > 科技观察

软件项目顾问的20条规则

时间:2023-03-23 11:01:17 科技观察

JoshBerkus是知名关系型开源数据库PostgreSQL的核心开发人员。他还是PostgreSQL专业服务公司PostgreSQLExpertsInc.的首席执行官。在加入PostgreSQL开发团队之前,JoshBerkus从事过各种软件开发,包括OpenOffice.org、MicrosoftSQLServer、OraclePL/SQL和(不寒而栗)COM+。他还编写了Perl。在JoshBerkus丰富多彩的生活中,当过雕刻师、陶艺家、糕点师、劳工组织者、游说者、法律助理、专业筹款人等等。他认为这些经历让他有了比硅谷生活更广阔的视野,但这也许是个玩笑。他从1993年开始住在旧金山。1.技术层面的问题是管理层面问题的反映:如果一个公司的软件出现了长期无法解决的问题,我绝对可以证明这个公司有管理工作中长期解决不了的问题。2、你绝不会遇到三种情况:工期宽裕;b.愿意付款的客户;C。准确和完整的文档。3.一半的应用项目是长期存在的:“临时的、一次性的”项目应用通常会持续数年,而诞生于1970年代的代码至今仍在运行。请记住为这些长寿情况做好计划。4.坏客户会毁了你的生意:你成功的一半来自于能够识别那些坏客户,在他们无休止地耗尽你的时间和资源之前避免他们或终止与他们的合同。永远避开它们,即使它们能给你带来补偿。5.AskNotWhat'sPossible:问题不在于你能做什么,问题在于客户是否有支付的意愿,以及他们有多少耐心等待。6.在时间和金钱的换算中使用对数计算:例如,削减20%的时间需要双倍的预算资金。将预算削减30%需要四倍的时间。7.所有的估计都是乐观的:开发一个新的应用软件将花费你预期时间的三倍和预算的两倍。反之亦然。8.你永远不会有足够的时间做三件事:a)软件规范文档和原型b)文档c)代码维护9.所有具有业务内容的应用软件中都会有一些不伦不类的怪物,它们可能是一些交易,也可能是一些数据,抵制您将其纳入定义的业务流程的所有努力。这些怪物既是无法进行***数据整合的障碍,也是至少百分之三十以上所有麻烦的根源。10.不要称之为重构:客户永远不会为代码清理付费,即使这是他们需要的。想办法找到另一个术语来代替“重构”,这样就可以完成这种工作了。11.你拖延重构的时间越长,花费的时间就越长。开发期间的主要原型和程序调整尤为致命。12.一定要签合同,哪怕只是一天的工作。另外,使用你自己的合同,而不是客户的合同,并让真正的律师为你写一份。这是值得的。13.合同签订过程可以作为项目开发和实施的试金石。如果客户花大量时间纠结于合同细节,那么项目的实际执行过程(或付款过程)很可能会非常困难。如果客户坚持使用一些奇怪的模糊条款,他们就是在试图利用这些条款。14、客户记性差:不管跟他们签了什么,他们总是会忘记前几天承诺过的事情。记录所有要求和变更并备份。15.永远不要承诺固定的合同价格。除非你以前做过完全相同的任务。16.第三方参与者不称职:当某项任务取决于(即使部分取决于)第三方供应商的生产速度、文档或产品质量,而这些不在您的直接控制范围内时,切勿接受具有固定价格或付款方式的合同成功。当有数据交换或需要修改别人的代码时,不要接受固定价格,永远不要。17、客户没有品味:永远不要让客户决定你的开发工具、合作伙伴或工作环境。或者,可能会因放弃这些权利而收取额外补偿。18.所有的会议都是要收费的,否则你的半辈子都会花在这些会议上。19.储备足够的资金:通常,如果一个客户意外延迟一个月,所有客户可能都是一样的。始终储备可以维持60天的资金。20.严重拖延的项目永远无法完成。通常,任何超过进度150%的项目都存在严重的管理问题,这些问题绝对会阻止其完成。英文原文:20RulesofSoftwareConsulting翻译链接:http://www.aqee.net/20-rules-of-software-consulting/