软件开发中最糟糕的错误经济是什么?[关闭]


126

在软件行业中,最普遍的虚假经济状况是最糟糕的(即节省金钱的方法最终花费的成本要大于储蓄所造成的费用),您如何与之抗衡?


2
:(我看到了许多这些过于频繁。
托尼


@Casey:这有点相关,但不完全相关。您提供的链接直接涉及金钱,而这里的问题答案也涉及金钱和信仰。例如,看到我的回答:programmers.stackexchange.com/questions/19573/...

您刚刚访问过我的公司吗?。没关系; P
pramodc84 2010年

1
@Mark-听起来像是个好问题,继续吧。不过,还有一些细节可能会很好。
乔恩·霍普金斯

Answers:


182

技术债务

即“只要快点做,我们稍后再重构”。首先,因为我还没有看到有人从事这种行为,实际上后来才进行重构。其次,因为做事快而不是好事,所以增加将来的功能或解决将来的bug变得更加困难,从长远来看,最终您会浪费时间。

可悲的是,许多人仍然认为这可以节省开发人员的时间,让他们快速地执行某些操作。我想这是可能的,但是我还没有在实践中看到它。


2
我无法计数我见过管理层一天停止开发人员(2-3人)然后部署专家崩溃修复某事(并在产品生命周期内进行多次)的次数,而不是花2倍的次数。 4天做对了。好答案。
DevSolo

4
如果修复所需的时间可以用美元衡量,例如错误修复股票交易系统,则管理决策将倾向于降低成本。我发现建议“现在进行修补以保持运行,同时我们确定正确的修补程序以确保不会再次发生”,这满足了成本驱动的紧迫性,并且得到了正确的结果,但是有时您必须为此奋斗。
JBRWilkinson

9
我们到处都有代码,上面写着“这是一个hack,请在演示之后替换”之类的注释,该注释已经存在了3至5年。甚至没有人记得它是在这一点上完成的,因此直到有人(我)正在修复错误并在其中运行该漏洞之前,没人能找到它。毋庸置疑,如果我有能力做到这一点,那么本对象课程已经很好地教会了我第一次正确地做到这一点。
CodexArcanum 2010年

22
老实说,我一直为它甚至没有节省短时间而震惊!
PeterAllenWebb

6
@Jorg-嗯?“技术债务和设计债务是同义词,是一种神经病学的隐喻,指的是slapdash软件体系结构和草率的软件开发的最终后果。” en.wikipedia.org/wiki/Technical_debt这正是我所指的。更具体的标题可能是“无意偿还技术债务”,但是,在这种情况下,许多人告诉自己他们确实确实打算偿还(但不偿还),我希望输入一个有力的标题。顶部的粗体字。“技术债务”似乎是一个很好的总结。
Inaimathi

163

雇用2个便宜的开发人员而不是1个真的很棒。(相同的价格)


9
这至少似乎是有现实依据的。请记住,非技术人员无法确定谁是优秀的开发人员(因此,他们向随机的咨询白痴支付的费用比向真正的超级巨星支付的费用高出两倍)。
Inaimathi

112
或可悲的是,只
租了

4
...或聘请一位古鲁,两个假人将以

14
您不会从虚拟对象那里得到75%的专家,任何真正优秀的程序员都会做所需的事情而不会对此产生任何偏见。
彼得·布顿

8
10或100倍的程序员真是物超所值。他们只获得1.5倍的收益,可能是2倍。正如迈克尔·洛普(Rands in Repose)所说的那样,如果您在整个职业生涯中只雇用其中一位,那将是一场净赢。
Tim Williscroft

85

我的示例与NimChimpsky的示例完全相反,即:

试图开发自己可以买到的东西。

通常,这是由于无法实际检查市场以查看是否已经存在可以解决问题的东西而导致的。那些喜欢在进行任何研究之前先“深入研究”编码的开发人员,以及那些没有考虑那段时间=金钱的项目经理,可能会使情况更加复杂。

我在我的领域中看到的最常见的例子之一是Web开发,这是试图开发内部CMS系统的公司。这些功能一开始都是很小的,但是随着功能的不断完善,它们很快就会变得肿,失去控制,而一直以来,都有大量的免费产品和框架可供使用,它们会更适合。


17
仅仅因为可以,并不意味着应该。一个基本的CMS,是的,为什么要重新发明轮子。但是,当您开始谈论大型系统并为复杂的业务流程建模时,为什么要在圆孔中插入一个圆钉呢?特别是如果您拥有内部开发人员和技能。
NimChimpsky 2010年

9
@NimChimpsky-我认为两者都有有效的例子。我当然已经看到人们破坏了他们的业务流程,并试图通过使它们适合于现成的软件而失去了优势,但是我也看到开发人员遭受了“本不发明”综合症代码的困扰,他们本可以下载这些东西,因为对他们来说更有趣。
乔恩·霍普金斯

3
@NimChimpsky如果规范需要定制开发,那就很好-它可以使我们继续工作:)问题出在人们不首先检查是否已经开发出符合要求的产品并直接投入开发时。进行一些研究可以大有帮助!
Dan Diplo

6
为什么要重新发明轮子?因为你是车轮工程师。或者因为您的车轮比下一个家伙的车轮更好。或因为轮子不适合。参见:mostlymaths.net/2010/03/…–
德里克(Derek)

2
我在哪里工作几乎可以买OTS -几乎一切都在公司内部,因为根据我们的霍元甲领导人(TM)重新发明“我们的环境是如此复杂,没有在市场上能有可能处理它。” fe!但是,嘿-它付账单。昨天我们被告知,我们的软件的主要组成部分将在明年重新编写-具有图形界面!噢噢!我都很-...(<pheh!>)
Bob Jarvis 2010年

73

没有专用于项目管理的资源

我遇到过几次与几个程序员签约的经历,而一个本来就很忙的人应该管理这个项目,但实际上他忙于其他任务,因此该项目从未真正获得动力。程序员制作了“原型”之类的东西,但是没有铅,很多东西围成一圈看起来很忙。

新程序员的不良设备

我曾经遇到过一家公司,当时的政策是“新程序员必须在具有小屏幕的旧PC上工作,直到证明自己有价值为止”。毫不奇怪,这样的政策会导致否定选择,从而淘汰了总是有权选择在更为理智的环境中工作的优秀人才。


19
+1。没有为您的员工提供良好的设备已写成“注定要失败”。
Terence Ponce 2010年

3
+1。但是请注意以下几点:在许多公司中,硬件预算属于基础架构之列,与开发预算分开。基础架构经理不会对他的预算造成任何打击,以帮助减轻开发经理的预算。我已经看过几次这种令人讨厌的政治事件。
费尔

3
对所有程序员来说,坏设备怎么样?我的前雇主付给我们硅谷的工资,让他们在五年前表现平平的台式机上编写代码。由于期限的延长,他们在一年前解雇了一半的员工,其余大部分则在七月解雇了-但是,男孩,他们在设备上省钱了!
鲍勃·墨菲

1
哈兹:每个开发人员都应该有一台合适的机器。如果购买新硬件意味着新开发人员的PC比其他开发人员的PC更好,那么,在最坏的情况下,如果您是精通Dick的人,则可以购买交换机。普通人根本不会在乎,只要他们拥有可以有效工作的设备即可。在我目前工作的地方,我的电脑比雇用我的人的电脑更新(可能更快)。追随我的人拥有更新的,可能更快的PC。你猜怎么了?没人在乎,因为我们所有的机器都足够快。
user281377 2010年

3
当硬件不足时,我通常会通过做一些有用的工作(例如修剪我的脚趾甲或在长时间编译期间阅读论文)来告知管理人员。我得到旧的慢速机器吗?当然没有问题。哦,您有个紧急错误修复程序,而我必须进行构建吗?当然,经理Mrs-bwana-sahib-dude-90分钟后见!(曾经有一位经理问我一整天的工作-我告诉他“重新构建该应用程序。四次。”“八小时?!?”他大声喊道。“不,当然,我说。”那花了10个小时。”新机器出现不久……:-)
Bob Jarvis 2010年

71

我们可以通过让程序员兼做测试员/技术作家来节省金钱

如果您为测试人员/技术作家的工作支付程序员的薪水,那么您的工作就是在浪费金钱,并且比从事这项工作的人所得到的工作质量低。另外,当程序员面临紧迫的最后期限时,很可能会放弃测试或编写文档来满足要求。

顺便说一句:开发人员总是在紧迫的最后期限之前。


12
聪明的人可以做任何可以谬误的事情。
乔恩·霍普金斯

3
我已经完成了数据输入,尽管我当然不会降低它的费率。他们希望有人能快速准确地输入一些关键数据,而且他们不介意支付至少三倍的数据输入率。他们的选择。
David Thornley,2010年

1
我认为测试代码是程序员的工作,但我不确定这是否就是您所指的。
Ben Lakey

3
程序员应该测试自己的代码,而不排除拥有专门从事破坏软件工作的测试人员。
JohnFx 2012年

1
同意技术写作,不同意测试。测试是编写优秀软件的自然部分。技术写作与编码的转变太大了。我发现我需要从编码转换为技术写作,需要改变许多方式,这感觉像是在浪费我的时间。
亚当·布鲁斯

63

研究/读取/编写与产品开发无关的代码是浪费资源。

一些程序员甚至经理都相信这一点。通常,他们只是基于头脑中的知识进行编程,并在遇到问题时进行研究并寻找答案。他们不会持续不断地主动提高自己的知识。我认为,我们应该始终保持最新状态,我们收集的知识将对我们解决现有和将来的问题有用。当然,您必须明智地分配时间。

这也与Dan的答案类似。有些管理人员只是希望开发人员根据需求快速投入并开发产品,而无需研究市场上现有的产品。


3
我希望我可以多次投票。
MAK 2010年

1
让我们编写一个GUI库。让我们构建一个消息传递工具包。如果您不出售该软件,那只是更大的事情的一部分,出于天生的缘故,请使用其他人的实现。使用开源解决方案的安全点,如果需要,您可以随时对其进行修复和支持。如果您有足够的钱购买包含源代码的解决方案,请这样做,但要提防商业软件组件的质量很差。供应商很少向您出售该组件两次,因此一旦拥有该组件,您可能会感到失望(我知道我以前曾在此工作过,但一直被它咬过)
Tim Williscroft 2010年

58

在许多情况下,离岸业务要花更多的钱。在我的公司中,很难获得新员工,我们被迫大力外包。也很难得到现场承包商;他们应该维持的海上与陆地比例为3:1。因此,许多团队只雇用了十几个离岸人员,几乎根本不使用它们,这样他们就可以得到4个现场承包商。


18
+1。我在离岸外包方面的经验是,它不可避免地要花费比节省的资金要多得多的钱。
亚当·克罗斯兰

2
+1,但如果正确使用,海上作业也可以正常工作

3
+1。在每个新项目中,我们似乎都有不同的离岸开发人员,这意味着除提供技术支持外,离岸开发人员将大部分时间用于教导新离岸开发人员业务和技术领域模型。项目结束后,他们又去了别的地方,我们从下一组“便宜”的开发人员重新开始。
克里斯·奈特

8
许多团队只雇用了十几个离岸人员,却几乎没有使用它们,这样他们就可以得到4个现场承包商。哇。

1
忘记了离岸业务本质上会延长截止日期。我们有离岸质量检查,可能需要3-4天才能完成,因为同一办公时间可能会导致同一办公室的人员在一个小时内重新整理。
HLGEM

50

长时间的反馈循环!

它发生在每个人身上:您构建了您认为很棒的东西,事实证明您错了。那不是问题。问题是您花了多长时间才发现应该停止。

在较高的级别上,您会看到发行周期较长的问题。如果您在没有反馈的情况下建设了一年,那么您就整整一年都在赌博。释放的次数越多,赌博越少,赌博就越好。

但它也发生在最低级别。作为开发人员,我真的很喜欢频繁的代码审查(或者更好的是,配对编程),因为它限制了我可以继续做一些愚蠢的事情的时间,直到有人说:“嘿,有一种更简单的方法!” 出于同样的原因,我希望我的单元测试能够快速且频繁地运行,因此我可以在bug增长之前对其进行捕获和杀死。

一旦开始注意到短反馈循环的重要性,您将在各处看到它。例如,OODA循环的军事概念。


6
+1。另外:反馈循环越长,您对任务的记忆就越少。在极端情况下,您需要重新使自己重新熟悉整个代码库。
约瑟夫·塔南鲍姆

虚假的经济状况如何?打算节省多少钱?
克里斯·皮特曼

目的是节省您在每个循环中所做的事情“浪费”的时间。例如,构建,测试,发布,关注用户。不管怎么说,那是借口。我认为这真的是为了避免不适。
威廉·彼得里

这就是为什么审稿人和结对伙伴必须尽可能谦虚和尊重编码者的原因。一位麻烦的审稿人对编码员的处理不善,您可以保证反馈循环会大大增加。
乔纳森·诺伊菲尔德

47

不是我自己的轶事,但我确实听说过一家商店停止向开发商提供免费咖啡,而是告诉他们,只要他们想买咖啡,他们都可以自由地步行到最近的咖啡店(大约十分钟)单程)并购买一些。

虚假经济的定义差不多。


4
那很特别。与伦敦的一些商业银行进行比较和对比,伦敦的一些商业银行在大楼内建有补贴的星巴克,以消除外出喝咖啡所需的时间。
乔恩·霍普金斯

48
我不同意这自然是错误的经济做法-在户外散步时购买咖啡的10分钟新鲜空气会使员工充氧并提高他们的注意力,并且(尽管有限)社交互动将减少抑郁症,尤其是在冬天。那些不免费喝咖啡而无法喝咖啡的员工,由于咖啡因摄入量减少,很可能会准时回家,睡得更多并且身体健康。
JBRWilkinson

6
-1,步行20分钟非常适合解放您的思想,并对问题有新的认识。
Malfist 2010年

23
@Malfist:据我了解,这不仅是步行20分钟,而且还需要15分钟才能真正得到咖啡,这会中断工作。在一天中的任何时候休息45分钟,几乎会破坏一个半小时以上的生产力。所有人每个月可以节省100美元的咖啡费用。
EricBoersma

8
20 + 15 = 35 [另外六个字符]
Malfist 2010年

47

提供单屏工作站,因为第二台显示器过于昂贵。即使每年仅节省一个小时的工作,第二个屏幕仍然是不错的投资。我肯定知道我的工作为我节省了很多很多小时的工作。

多监视器设置可以使几乎所有任务变得更高效,而不仅仅是开发任务。三台显示器甚至比两台更好,但是每增加一个屏幕,效果就会变得不太明显。

多显示器设置:

  • 减少窗口切换开销
  • 使您可以密切注意后台运行的内容(邮件,编译等)。
  • 给您一种自由的感觉。就像在中庭与在扫帚壁橱里一样。
  • 等等...

2
曾经正好面对那个问题。给我们的一位首席执行官写了一封邮件,明确地计算出,如果效率提高5%,相对于我的净收入,我将在大约半个月的时间内为监控员节省一笔钱。这个计算几乎是铁定的……但是……我想你已经知道故事的结局了:)
Raffael

39

顾问每小时花费超过150美元时,为顾问提供的最便宜的硬件

从角度来看,更好的硬件至少可以使每天的工作效率提高30分钟。这将使30分钟*每月工作20天=每月600分钟= 10小时/月>超过一天的工作= 10小时* 150 $ /小时= 1500 $

现在,如果顾问拥有1500美元的计算机,他/她的工作效率会更高吗?会减少顾问的烦恼吗?

现在的问题似乎是有两个预算,一个预算用于顾问,另一个预算用于PC硬件。


8
作为顾问,我去过那里,做了那件T恤。(虽然每小时只有80美元。)但是,这就是我喜欢按小时签订合同的原因之一。与有薪职位不同,如果咨询客户选择浪费我的时间,而我不得不付出额外的努力来弥补这一点,那笔钱就更多了。
鲍勃·墨菲

2
没有冒犯,但如果我为一名顾问支付每小时150美元的费用,他最好拥有自己的计算机。
史蒂文·埃弗斯

8
@SnOrfus:在企业环境中,这通常是行不通的,因为在企业环境中,必须严格控制域中允许使用的PC。您必须为他们提供硬件。
HardCode 2010年

1
@HardCode-是的,我想。我现在明白了这一点。
史蒂文·埃弗斯

3
@HardCode在最近的项目中,他们没有将我们(承包商)添加到其内部公司网络中,而是将我们隔离到了自己的DSL线路中。面向3个开发人员的专用DSL线路(每月40美元)是一项巨大的改变,它使我们可以轻松地远程推送更新,而不会使IT员工感到恐慌。另外,如果运行我们的代码的生产PC受到感染并崩溃,则由于我们负责通信和个人笔记本电脑的安全,这自动是我们的错。你能说双赢吗?
Evan Plaice 2010年

38

几个月的工作可以节省计划的时间

(没有在计划上投入足够的时间)


21
在研究生院里,有句话说,在实验室里呆几个星期可以为您节省一小时的图书馆时间。
David Thornley,2010年

7
对。当我在一次本科生实验班上,我们发现了未知的化学物质时,教授告诉我们“在图书馆里花一个小时可以在实验室里为您节省四个”。我认真对待他,让华尔兹每周进入实验室一个小时,并从每周花费12个小时对显然不是胺类化合物进行胺测试的药前医生那里得到令人讨厌的表情,真是太好笑了。几年后,当我在同一个实验室任教时,我给了学生相同的建议,而实际上却很少有人接受。
鲍勃·墨菲

3
如果您计划失败,您计划失败

27

我怀疑最普遍的是经理们根本没有向开发人员提供他们有效完成工作所需的工具。

基本上,在Joel检验上是第9点。


2
我一直在进行一些项目,这些项目会使我们浪费一两个星期而不是购买,例如,已经完成的工作花了300美元,而且还更好(我们工作的地方不是“控制开发人员”)。或者选择一些软件工具,因为它是由“这家或那家”公司制造的,而不是寻找是否有更好的选择,然后让我们的生活陷入困境。
MetalMikester 2010年

我自己遇到了那个人。项目经理/客户的推理是,我们没有为客户购买东西的预算项目(联系变更是个were子),因此我们不得不(重新)重新发明轮子。
肯·亨德森

24

不幸的是,“将(足够的)尸体扔到问题上”可能仍在某些地方使用。 尽管有些人需要经验才能学习本课程,但《布鲁克法则》的确与《神话人月相反。通常,这不是我能阻止的事情,因为管理层可能会相信关于增加人员而不必为此付出代价的虚假陈述。


2
+1。哦,是的。目前,这是我工作所在的重大项目的史诗规模。
鲍比表

3
我与许多项目负责人,经理等一起工作,他们所有人都拥有非常出色的项目管理认证(无论这叫什么鬼话),在我介绍他们之前,没有一个人听说过《神秘人月》对此。嘘!
Bob Jarvis 2010年

2
我曾经听过一个很好的报价:9名妇女一个月内无法生孩子
理查德(Richard)

@Richard我在会议中使用了那个。给了我极大的快乐!
Tjaart

21

日常会议

(meeting duration in hours) x (Y team members) x (average salary per hour) = ...  

9
开会只是为了开会...
Gan

5
今天的议程:明天会议的议程将是什么?
Mark C 2010年

9
如果时间较短,可以每天开会Scrum式的3分钟站立会议不会浪费很多时间,但可以让每个人都知道其他人的发展。但是,与众多无私的参与者进行长时间的会议是有毒的。
9000

3
@Mark C-听起来像是在开玩笑,但实际上我已受邀参加会议,以计划接下来几天会议的议程……
Gavin Coates

@Gavin Coates,这是真实的情况……:)
Zzz

20

购买现成的软件,而不是内部开发。

我有企业规模管理系统的经验,主要关注于人力资源和生物实验室。

现成的解决方案成本为50万到10万英镑,需要进一步开发和定制才能满足业务需求。

内部开发的解决方案花了(<6)个月的时间开发,并与其他项目并行进行,并使用了已经雇用的开发人员。

我从公共部门开始运作并运行内部开发的LIMS(实验室信息管理系统),然后到大型国际制药公司,该解决方案的实施已经花费了一年多的时间,而且还没有完成。

(已经雇用了六个月的开发人员并行从事其他项目。大约1万。这不包括与现有解决方案相关的支持费用)。重点是实际上正在使用内部开发的系统!因此,您将获得与此相关的增加的成本收益,而我无法计算。

我同意基本的网站等等,为什么要自己开发。但是对于任何大型复杂系统,如果您已经具备内部技能,那么我会自己构建


26
我敢打赌,也有很多相反的例子。
乔恩·霍普金斯

13
购买或开发取决于正确的人进行尽职调查。就那么简单。三思而后行。(+1)
DevSolo

4
@DevSolo:当场。构建或购买决策应以成本效益分析为依据,而不是出于情绪化的“未在此处发明”或“我爱XXX的软件”的态度。
JBRWilkinson

9
如果您要对构建与购买进行全面表述,则应该是:宁愿购买解决方案,以解决不属于公司核心竞争力的问题。这并非总是正确的答案,但这是一个明智的默认位置,并且几乎与陈词滥调一样可靠。如果说购买现成的软件是一种虚假的节约,那甚至不是一个有用的陈词滥调。 ')。但是,糟糕的选择并不意味着没有好的选择。
evadeflow 2010年

2
我认为问题在于购买,然后仍然需要进一步的开发和定制,在大型引入的系统上进行少量定制的成本通常可能会超过编写自己的小型系统来满足您的需求。因此,如果可以按照您所购买的系统期望的方式工作,请购买
伊恩

15

当开源替代方案更好且免费时,购买昂贵的现货产品。

多少公司使用git?有多少公司使用一些糟糕的企业版本控制?


1
嗯,这可以被视为“最严重的虚假经济”吗?或者,您可能需要详细说明...?
甘:

3
至少我不确定我是否完全同意源代码控制的示例。Git专为解决开放源代码问题而设计:许多开发人员,很少的中央控制,许多分支机构等。“企业版”软件在不同的假设条件下工作:需要在整个业务,安全性,工作流程等
PeterAllenWebb 2010年

1
@甘:他们认为使用开源是虚假的经济,但他们全都倒退了。
哈森

3
我是X11和GNOME的撰稿人,并且非常擅长使用git和管理gitosis服务器。尽管如此,今年夏天我还是将咨询工作从git切换到了个人付费的Perforce服务器,因为它会自动执行很多事情,而您必须使用git手动进行。由于我因交付代码而不花钱使用版本控制而获得报酬,因此使用和支付“糟糕的企业版本控制”的费用比使用git更具成本效益。
鲍勃·墨菲

7
根据我的经验,开源与商业产品的确是“逐案”的基础。
MetalMikester 2010年

14

使用没有太多表现力的“简单”语言

是的,这使找到程序员来维护代码变得更加容易,但是,这使找到不仅仅学习最新术语的优秀程序员变得更加困难。是的,它使单个位的代码更易于理解,但也使其与2x4一样僵硬,并增加了需要理解的代码量。是的,它得到了一家大型公司的支持,但表示大型公司的创新是缓慢而官僚的。


4
@burnt_hand:就语言选择而言,我基本上是指管理层过度的风险规避。
dsimcha

1
+1:继续使用C是因为“我们拥有这些技能,而学习一些新奇的语言(例如Python / Perl / PHP)会增加很多风险”。听到了不止一次。这是否意味着团队太笨了,无法学习一种新语言?
S.Lott

1
@ S.Lott招募人员认为你是!!但这是另一个故事
burnt_hand 2010年

2
例如,那些坚持使用Java和C#并且过于害怕触摸python或ruby的公司,因为它们不是“行业标准”,这使我想起了:paulgraham.com/avg.html
hasen

1
@hansen:Paul Graham的文章部分地启发了我写这篇文章。我的另一个灵感是我为D编程语言开发库(包括标准库)的工作。
dsimcha

13

不良的项目经理/团队负责人。

由于一个无能的人有权破坏一群人的工作。最后,如果没有高层管理人员(项目/团队负责人)的决定,该项目将做得更好。

决定“立即执行,稍后再重构”。


4
我同意会有糟糕的经理,但是“如果没有高层管理者的决策,该项目会做得更好”?通常,这些人是赞助该项目的人。在我看来,这听起来像是我遇到的开发人员,他们认为了解技术比了解业务更重要,而忘记了真正的客户是谁。
乔恩·霍普金斯

2
@乔恩·霍普金斯(Jon Hopkins)对于高层管理人员,我不会推荐客户。关键是“糟糕的项目经理”是指那些接连不断犯错并与一群人背道而驰的人。您认为谁决定“尽快完成,以后再进行重构”。阅读率最高的答案!
阿米尔·雷扎伊

嗯,比较清楚。我删除了-1。
乔恩·霍普金斯

我注意到一个令人不安的趋势,即项目经理认为时间和成本高于质量。我敢肯定我不是唯一的一个。采购经理喜欢在三角图上使用成本/质量/时间,但质量始终优先启动。很可悲,在像软件这样复杂的事情上制度化和强制执行项目管理(PMI)的指标似乎只会使事情变得更糟。
伯纳德·戴

1
@Bernard-时间和成本都是可以衡量的。质量?没那么多。可悲但IMO真实...
Bob Jarvis 2010年

12

缺少用户要求

设计软件产品的一个重要而困难的步骤是确定客户的实际需求。

信不信由你,有时这部分丢失或已过时。涉及成本的是,它创建了最终用户从未要求的功能。


我认为这应该在顶部!
Roopesh Shenoy 2010年

8

生产力比创造力更有价值

一般而言,在软件开发中,创造力很难衡量,而且通常甚至无法观察到,也不要介意衡量。另一方面,生产率可以衡量(通常很差),并且可以观察到。

结果,与那些使用更少的代码行来解决相同问题的开发者相比,能够(更快地编写更多的代码行|响应问题而更快地进行技术追述)的开发人员的价值更高。花费更长的时间编写代码,但产生的可靠性更高,足以很好地理解主题,从而可以简单,易懂,英语地创造性地回答问题。


6

如果使用不当,以下所有内容可能很糟糕

  • 内部软件与内部软件

  • 符合ISO 9001(经济性-如果产品质量下降,可降低MSS损失风险)

  • 开发/质量检查外包

  • 开发/构建/发布/支持程序


ISO 9001如何成为(虚假的)“经济”?
安德鲁·格林

@Andrew Grimm-合规性确保了一定的质量水平,从而减轻了因质量低下(例如MSS损失)而带来的风险,因此潜在的经济状况显而易见。对于小型部门,这可能是不合适的,因为间接费用的损失要高于潜在风险的损失
bobah 2010年

1
@Andrew-根据我的经验,这取决于您想要的用途。如果您希望它提高质量,那可能是一种错误的经济做法,因为它往往很昂贵,并且可能不适合于软件。如果您希望将其用作营销产品,或者因为您的行业只是期望而已,那么这可能是个好主意。
乔恩·霍普金斯

5
@Andrew Grimm-ISO 9001保证的“唯一”是一致的,可重复的质量。它不保证“高”质量。但是,如果公司想要进入市场空间,那么就需要ISO 9001认证,那么这是必需的。
Vatine

1
@增值税:ISO 9001保证的是一致的,可重复的过程。在某些领域,一致的流程产生一致的质量,这一点很重要。它不能保证高质量,但是如果客户看到您做得不错,并且知道您已通过ISO 9001认证,那么他们会对类似的质量充满信心。
David Thornley,2010年

4

过多的非计费交付经理。

几年前,在我们公司中,我们有几个大型预算项目正在进行中,招聘高峰。当时,我们公司雇用了太多的交付经理(其中许多人不是IT人员!),而编码人员/测试人员却很少。经理与程序员的比例实际上为1:2。后来,在完成这些项目之后,我们遇到了这样一种情况,我们有很多这样的经理(其中有些是真正的懒惰者)坐在板凳上无所事事。我们有一个评估周期,每个人的加薪幅度很小/没有加薪(即使我们是努力工作的程序员,也要叹气),这样公司就不必解雇任何人!幸运的是,公司意识到了这种情况,并于今年第一季度进行了RIGHTSIZING!


3

分析之前进行优化(又称过早优化)。

我见过很多次有人提出了一个聪明的解决方案,它以更快为由,不必要地使维护和可读性复杂化。自然,该代码没有进行基准测试(甚至没有微基准测试),因此它很快会在一段代码上变得“基于更具说服力的论据而变得更快”,这很可能不会影响整个代码的整体性能。申请很多。

因此,这是一种非常虚假的经济,并且这种虚假的经济有时甚至缠结了经验丰富的职业选手。


3

互联网访问受限或没有

因为显然您的员工会使用互联网玩Facebook游戏,而不是研究Stackoverflow上技术问题的答案。

当然,实际上,Internet极大地提高了生产力,虽然对于真正可靠的网站使用某种类型的网站过滤器可能是适当的,但是如果它由于某种原因阻止了Visual Studio自述文件或阻止了telford的本地政府页面,则可能出了问题。 “性旅游”


2

使您的开发人员使用15英寸显示器和低规格PC,因为它是公司的标准。

尺寸合理的显示器价格便宜,安装快捷,使程序员的生产效率更高,并使您的程序员认为您在乎它们。


2

太多的按层次结构组织的工商管理学士(或类似专业)试图运用他们认为现代管理的意义:烦扰人们使用“ KPI”,“ SLA”之类的东西,不需要“报告”(没有,当然,要关心生成它们的基础结构),以便程序员浪费他们的时间来填写精美的EXCEL表格,第四季度报告和其他内容,然后从一种出色的新管理工具中复制并粘贴到另一种新工具中(这似乎是一条规则这些工具永远不会相互融合或集成在一起,并且会在会议上展示报告和数据(并且每个人都对未能履行此KPI感到内)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.