咨询和乔尔测试

时间:2010-03-02 01:40:46

标签: version-control

Joel Test听起来像是我想要使用的属性列表(对我们大多数人来说不是吗?)但是在咨询环境中,它可能会有很大变化。我被告知这取决于客户,在某些情况下甚至没有源控制(egad!)

在某些情况下,根据可能较低的Joel Test得分拒绝咨询工作是否合理?

另外,乔尔测试得分如何得到补救?移动版本控制是否可行(假设您在每台工作的笔记本电脑上都有它)?这会被所有人接受吗?想法? Annecdotes?

(从开始做这个社区维基,因为它显然非常主观)

5 个答案:

答案 0 :(得分:35)

您可以自由拒绝所有未通过Joel测试的咨询工作。

你也可以自由地饿死。

选择一个。

答案 1 :(得分:10)

在30多年的咨询中,几乎没有一个客户在Joel Test上得分超过1或2。有些人在高8分中得分,但这些都是例外,不是规则。

在某些情况下根据可能较低的Joel Test得分拒绝咨询工作是否合理?

你可以出于任何理由拒绝任何你想要的东西。没有人关心理由。

严重。你的意见不算什么。

急需工作人员的客户不会关心为什么让他们拒之门外。你的拒绝不会导致突然的道德危机,他们重新思考自己的错误。

您对其开发实践的看法根本不重要。拒绝你的原因无关紧要。你不需要“证明”任何东西。

事实上,如果你解释为什么拒绝他们,他们通常会笑。他们知道他们所做的是在他们的环境下最好的水平。他们绝对知道他们不能 - 例如 - 使用源代码控制,因为他们没有时间或预算或服务器空间或其他一些荒谬的借口。

你可以指出你想要的一切。他们一般不会在乎。他们无法关心,因为他们知道他们正在做的事情在他们独特的情况下已经是理想的。

此外,乔尔测试得分如何得到补救?

不可能。表现不佳的文化将继续表现不佳,直到文化和奖励结构发生重大变化为止。

实现变革的一种方法是从组织内部开展工作并使事情变得更好。如果你成功了,有些人可能会试图模仿你正在做的事情,这是成功的。拒绝它们并不能证明成功的软件开发实践。

移动版本控制是否可行?

我有一台笔记本电脑,我带来了每一份工作。

“这会被所有人接受吗?”

清除。一些地方对顾问带来“外部”设备感到紧张。他们还抱怨视频和录音设备是严格禁止的,但允许使用iPhone。所以,如果他们想为你制造麻烦,他们可以。

有些地方不允许您在笔记本电脑上构建代码。有些人会让你。

答案 2 :(得分:3)

Joel Test粗略评估软件团队的质量。您可以作为个人尝试提高测试成绩,但这不会改变特定团队特有的基本问题。如果软件团队不使用源代码控制,那么您可以确定它们会在许多其他方面严重失效。

许多需要聘请顾问的公司并不会在Joel Test上获得高分。也就是说,作为一名顾问,您可能会发现自己处于有利于积极影响该团队的位置 - 您可以成为在某处安装SVN或git并说服每个人使用它的人。有时,一个糟糕的团队只需要有新想法的人帮助改进。

你必须自己决定在乔尔测试中画线的位置。就个人而言,我会从不接受一个没有源头控制的地方的工作,除非他们真的在我的前门倾倒大量的现金,即便如此,我可能会再考虑一下。这不值得压力。

答案 3 :(得分:2)

我所拥有的大多数工作完成了8项以上的测试,不需要顾问。

客户(来自我的顾问年)要么不需要12(快速合同)不感兴趣(“我付钱给你代码,所以代码”)或者如果你的幸运会很乐意倾听并帮助你建立这样一个系统,你应该在接近结束时提供永久性工作。

成为顾问最好的事情就是能够选择与谁合作。拒绝与客户签订另一份合同的首要原因是他之前对待我的方式,其中包括我如何应用良好的编码实践。猜猜当一切都没有规范,最小的测试和测试版和盗版开发软件时,谁会受到指责。起初它会产生更多的工作(支持电话),但客户很快会抱怨事情从未完成。

答案 4 :(得分:1)

这类似于直接员工在没有从管理层购买时在环境中引入更好的流程(或更好的敏捷)的问题。

我认为,如果问题是良性忽视(“源头控制,那是什么?”)并且没有主动破坏(“我不会花费任何时间花费一分钱”关于错误跟踪,源代码控制,单元测试或构建自动化!“)

可以自己完成一些流程改进。在您自己的计算机上运行问题跟踪器和颠覆,并跟踪您自己的工作。如果需要,使用XAMPP等便携式应用程序来托管apache和任何php bug跟踪器,或者如果客户端没有明确禁止它,则使用可访问Internet的bug跟踪器和源代码主机。如果他们没有通过Joel测试,他们就会无法对你进行微观管理,所以你应该有灵活性来自动化你的构建,使用TeamCity或Luntbuild如果合同中没有任何金钱用于工具。大多数客户希望开发人员能够在最响亮的环境中工作,因此投资购买优质耳机 - 有些耳机可以阻挡高达20分贝的背景噪音。

甚至Joel(在其中一个SO播客上)已经表示,规范作为一种沟通工具可以提供更多可以提供的服务。如果客户端除了有规范之外的所有事情都失败了,那么我也不相信他们的规范也有用。您可以根据规范进行编码,但这不会让他们感到高兴,因为在购买自定义软件时,需要一位老练的客户知道他们想要的内容。承包商总是可以选择编写规范,这只是一个时间问题,你能否为它收费。

Joel测试项目的其余部分是管理问题,个人(无论是承包商还是直接雇佣)计划不能影响(在非约束性建议之外) - 预算,面试流程,办公室布局,谁可用用于测试等。