寻找好的技巧来为开发人员证明“超过正常”的机器是有必要的。我所在的公司为每个人购买同样配置较低,价格为500美元的系统,现在需要找到一些方法来证明投资回报率或者争取使用更好的机器。很抱歉,我最初的问题中没有提及,我们使用的技术栈是VS 2008,SQL 2005/2008。因为我们既是SQL管理员,又是Web/Winform/WebService开发人员,所以同时打开2个VS会话和至少一个SQL会话是很常见的。
寻找好的技巧来为开发人员证明“超过正常”的机器是有必要的。我所在的公司为每个人购买同样配置较低,价格为500美元的系统,现在需要找到一些方法来证明投资回报率或者争取使用更好的机器。很抱歉,我最初的问题中没有提及,我们使用的技术栈是VS 2008,SQL 2005/2008。因为我们既是SQL管理员,又是Web/Winform/WebService开发人员,所以同时打开2个VS会话和至少一个SQL会话是很常见的。
计算你在编辑->构建->调试周期中花费的时间,然后在一年的时间内将其总和起来。然后估计(根据可证明的通胀情况)良好的计算机对该数字的影响。将时间提高乘以你的小时工资,并将其作为商业案例呈现。
不要忘记在你的请求中包含多个显示设备:在一个屏幕上编写代码,另一个屏幕上使用调试器(例如)是非常有价值的。或者在一个屏幕上编码,同时在另一个屏幕上查看语言参考。
你们有一个集中式服务器用于构建吗?如果有的话,争取购买“超过正常”的开发工作站可能会很困难。
然而,能够将构建时间缩短2-3倍是购买更大硬件的逻辑理由。
另一方面,如果公司如此担心他们的支出,以至于他们只购买沃尔玛特价商品(这对于“正常”工作(打字、电子邮件、日程安排、演示文稿)来说是可以的),那么他们会吓跑实际的技术人员,比如像你这样的人,他们真正想做事情,并且有比行政助理更复杂的工作。
代码表达式:
AnnualSavings := DeveloperCostPerHour * (AnnualWaitHours(OldPC) - AnnualWaitHours(NewPC));
if AnnualSavings > (MachineCost(NewPC) - MachineCost(OldPC)) then
ShowMessage('Time to pony up for a new machine!!')
else
ShowMessage('Sorry bub, gotta keep the old clunker.');
测试至少应该在一个尽可能接近实际发布环境的系统上进行。大部分开发人员都会在他们的桌面上进行一些测试,因此不能比现场环境差。
如果你的实际环境是一台性能不足的500美元的系统,那么这就是你的环境。也许你应该解决这个问题?很难说你应该提出什么其他方面的问题,因为我们不知道你正在做什么样的开发。是应用程序?服务器?还是解释性语言或编译性语言?
我的说法是,“提高程序员的生产力并不意味着给每个人都配备慢的电脑”。
尽可能多地自愿参加展示会(向副总裁等重要人物展示你所做的事情的机会)。在某个时刻,你的电脑会变得缓慢。他们会问为什么所有事情都需要那么长时间。解释一下你的电脑速度很慢,还指出你因此有可能错过截止日期。指出硬盘经常在运转。
通过数据,指出现在升级你的一次性成本与你的时间成本相比非常昂贵。
我可以从我的经验中贡献出为什么更强的计算机会有帮助:
在硬件上吝啬是愚蠢的。找到、雇用和留住人才比硬件昂贵得多。最低配置和顶级硬件之间的成本差异通常相当于几周程序员的工资。你应该给开发人员一台他们选择的顶尖机器和至少两个屏幕。如果你的公司不为你(以及他们)提供成功所需的工具,那么他们不值得你花时间。
如果你是一个工作时间疯狂长且完成了所有被要求的任务的薪水工作者,不要浪费时间。公司正在剥削你,你允许这种情况存在,他们没有理由改变。你可以花自己的钱(每天购买一些额外的时间),找到一些方式使目前的情况在上层产生痛苦,或者忍受它。
另一方面,如果你工作的时间合理或按小时计费,你应该能够通过减少工作时间(=减少成本)或提高生产力(=更快地完成任务)来证明请求的合理性。你需要决定组织更感兴趣的是哪一个,并以这些术语呈现你的请求。
确定(如果可能,量化)低配置机器如何妨碍你的生产力并减缓你的速度。然后将其应用于要么在相同的工作时间内减少工作量要么在相同的时间内完成更多的工作。
祝你好运!