https://myers.io/2017/04/04/the-joel-test-for-2017/
直接 Po 修正后的新版,附我所在团队的回答。
团队的情况是, Leader 很资深,前后端的小弟都太连清,而且非常缺人。运维部门的小弟不错,但运维只有一个小弟。作为运维 Leader 我很忧伤,连团建都要跟着其他部门去啊摔!
-
Are all builds handled automatically by a Continuous Integration server? 所有的构建都自动由 CI 服务器完成吗?
自动运维平台通常能在 10 分钟内构建和部署代码到线上环境,并支持通过 git push 触发。然而我在主要的测试环境上禁用了推代码构建,让大家使用命令手动触发。原因是首先并不能保证每次推代码都是完整可用的;其次部署会重启公用的测试环境,影响其他人。
-
Do you make and use daily builds? 每天都执行构建吗?
虽然没有硬性规定,但我们除了生产和 Staging 之外的总共 6 个测试环境中,加起来每天应该都会构建和部署 10 次以上。
-
Do you use an issue tracker? 是否使用问题跟踪工具?
我们用 Redmine 。
-
Do you fix bugs before writing new code? 是否先修 bug ,再写 feature ?
没有硬性规定。对于互联网公司,大部分的 bug 没有那么高的优先级。另外我们所使用的微服务架构也在一定程度上阻止了 bug 扩散。
-
Do you have an up-to-date schedule? 开发计划是否及时更新?
我们有每天的部门内部晨会,每周的部门 Leader 会议。我所参加的 Leader 周会上每次都会提到开发进度的问题,并且会及时修正。
-
Do you have up to date information on your products performance and usage? 产品需求是否明确并且更新及时?
产品需求有详细的文档,并且功能最初设计的时候有 Leader 参加的需求评审会议。
-
Do you use the best tools money can buy? 是否用了钱能买到的最好工具?
这个问题在国内基本上都是使用盗版。前后端开发用的最多的是 IDEA ,虽然社区版足以满足但据我所知大部分人用的都是破解版(因为在国内搜索到的基本都是破解版)
-
Do you have a comprehensive test plan? 是否有全面的测试计划?
QA 就是在网页上点点点。后端框架有单元测试功能,但一开始让大家写了几个之后就没再管;目前没有自动化测试;刚刚招了一个自动化搞得比较好的 QA ,但从目前来看估计离真正开搞还有一段距离。
-
Do you have dedicated UI and UX designers? 是否有专门的 UI 界面和 UX 用户体验设计师?
有设计部门,搞定 UI 是没问题。没有 UX 。
-
Does all code go through code review? 有代码审核吗?
没有。没人没时间。(能 Review 代码的人少,开发计划紧)
-
Do you have coding standards? 有编码标准吗?
架构师拟定了一个标准文档,并且有代码生成器和示例代码。想要参照并写出标准的代码是很容易的。但根据小弟们的经验看来,写成什么样的代码都会有的。
-
Are new employees given training? 有针对新员工的培训吗?
没有。会有对情况和架构的简单介绍;有写在季度绩效中的技术分享。个人认为在如此小的公司中不需要很正式的培训。直接跟他们说“把某某 bug 给我改了”应该是更好更快的上手方式。
