Joel考试的最新情况?[关闭]


17

我想说服我的合作伙伴,我们应该有一个规范,并且应该在编写新代码之前修复错误。我应该参考Joel考试吗?您是否认为Joel测试是最新的?我认为没有规范是不好的项目管理。您是否同意Joel测试?你能加些东西吗?它没有提到例如开源。


2
Joel测试针对软件开发和开发人员的招聘过程。您许可软件的方式或您是否许可发布软件的方式与此相关?
Marjan Venema

感谢Marjan提出的问题。我一直在想,自从Joel测试诞生以来,开源一直是一种趋势,如果有人对开源感到非常消极,那么我可能想知道一个团队如何反对开源(如果有的话)。我同意版权问题可能超出范围,但是程序员不能与认为开放源代码是能够查看源代码的团队合作,问题13可能是“您是否有备份系统?” 14“您比MD5具有更强的安全性吗?” 答案应该是。
尼克拉斯

1
好的,那很有道理。开源工作不仅应“消耗”,而且应有助于(尽管不一定需要代码)(例如金钱支持)。备份系统很重要,但不限于开发,因此我不会将其添加到Joel测试中。但是,如果我采访了一家不对备份做任何事情的公司,那我就会大吃一惊。安全性我也不会添加。对于软件开发的安全性,它(内部应用程序)可能不是要关心的问题,因此它不会自动给出“是/否”的答案,而且安全性不必特定于开发。
Marjan Venema

感谢您与我分享知识。确实,备份很重要,但并不特定于开发。
尼古拉斯

许多好的问题会根据专家的经验产生某种程度的意见,但是对这个问题的答案往往几乎完全基于观点,而不是事实,参考文献或特定的专业知识。
蚊蚋

Answers:


23

我认为Joel测试是最新的-与“永恒”的其他软件写作一样是最新的。

在没有规格的情况下进行产品开发(包括软件开发)只是疯狂。

您怎么知道要去哪里?

关于编写规范,我只想提一点(实际上,我并不认为Joel的规范非常好……总比没有好,但没有那么好)。关键是:

编写规范时,请仅说出产品必须做什么,而不要说怎么做。

这意味着您无需在规范中规定实施细节。那是一项设计活动,您将其留给设计师的经验和创造力。

[此规则只有一个例外:有时会强制或要求特定的实现细节或方法,在这种情况下将其放入。例如,如果软件必须用PHP编写且不可协商,则它将进入规格。这种情况应该很少。]

我可能会补充:没有错误跟踪是同样疯狂的行为。这只是最不专业和最愚蠢的操作方式,将导致巨大的痛苦和折磨。


感谢您的迅速而宝贵的答复。另一个使我发狂的例子是所有事物都应该具有相同的优先级。感觉与这些疯狂的规则相反,将会导致成功。
尼古拉斯

4
“所有事物都具有同等的优先权”-也称为“所有事物都排名第一”。坦率地说,这是胡说八道。就危害企业而言,应优先考虑一切。然后,您在#1上工作。如果您由于某种原因停在#1上,那么您将在#2上工作。等等。如果您因为某些原因而无法在#1上工作,而他们最终却在#9上工作,那就可以了,只要有充分的理由。(“我感觉很喜欢它,它不是很好的理由”)。重新确定优先级也是可以的。比每周更频繁地这样做也是疯狂的。
quick_now 2011年

感谢您的智慧。我完全同意,应优先考虑一切。我的合伙人还表示,我们应该没有问题,也没有问题跟踪程序。但是我认为记录问题是正确的,甚至市场领导者都可以跟踪问题。同样,遵循规则的反面将起作用...
Niklas

@ 909Niklas您可能应该寻求其他伴侣,以使您的未来生活更加舒适……
Marcel

+1仅用于:编写规范时,仅说出产品必须做什么,而不要说怎么做。
Marcel

5

我将在这里扮演魔鬼的拥护者,并建议Joel测试不是最新的。这太笼统了。随着技术的成熟,这些问题应该比他编写测试时更具体。

既然我们拥有用户案例和敏捷开发流程,那么就不需要规格文件,至少不需要大型的前期规格文件。该问题应更改为“文档级别是否适合所设计的解决方案?” 在大多数情况下,每两周发布一次更小,更紧凑的用户故事,比起详细描述该产品的大型文档有用得多。但是,如果要建造下一个火星探测器,则可能需要详细的前期设计文档。如果您问一家公司是否具有设计规范,那么听到“并非如此,我们实际上使用敏捷流程和用户案例”的答复,我不会感到惊讶。

其次,“每日构建”问题应改为关于持续集成的问题。除非您要构建需要花费数小时才能构建的软件(99.99%的地方不会使用),否则问题应该询问公司是否使用持续集成。

乔尔(Joel)测试中的大多数实际上还没有过时。这仍然是指示工作环境的好方法。

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.