How do you imagine Joel Test 2019 ?

One day, Joel Spolsky defined the "12 step to better code". It's Joel Test. It was writted in August 2000, a long time ago when "CVS was fine" :) There is the list:

Do you use source control?

Can you make a build in one step?

Do you make daily builds?

Do you have a bug database?

Do you fix bugs before writing new code?

Do you have an up-to-date schedule?

Do you have a spec?

Do programmers have quiet working conditions?

Do you use the best tools money can buy?

Do you have testers?

Do new candidates write code during their interview?

Do you do hallway usability testing?

So, what do you suggest for the Joel Test 2019 edition ?

Here is mine:

Do programmers have quiet working conditions?

Do you make daily builds?

Can you make a build in one step? (include tests and deployment)

Do you use decentralized source control?

Do you have a wiki?

Do you use tools chosen by the team? (include OS & IDE)

Do you have time allocated to improve internal tools or process?

Do you have time allocated to learn something new? (Not just lunch & learn)

Can you do remote-work one day in the week?/Can you choose your work-hours?

Can you sleep or make sport during lunch time? (Quiet room/shower available)

Can you meet or talk with your final users? (best feedback and empathy source :) )

Do you use any agile methodology?

(In my opinion the agile methodology is not something perfect, it could be something like "Can the team refuse the chief assignment/work/idea ?", something about hierarchy, humans interractions, democracy in the team, I'm a little bit fuzzy about this step).

In my last job search around the beginning of the year, every time I got the "do you have any questions for us?" from a software-adjacent interviewer I asked how they thought the infamous Google diversity memo would have gone over at their organization. It's really helpful to see how people react to the question even being asked, in subtle ways too -- one interviewer hadn't heard of it at all, which indicated the company might be more closed off from the software development community than I'd necessarily want to be.

Thank you for bringing this up for discussion. Personally, I never really liked the question "do you use the best tools money can buy" because it sounds like it's more important to be expensive than to be the team's choice, so I really like how you phrase that!

To me, I do not too much care if version control is decentralized, but I would expect something modern and that quite automatically means git today 😉

I also find quitness and self-organization within the team very important.

What I would suggest is something like: Is everyone in the team willing to interrupt his/her work to help another team member?

This is not something that can be done all the time, but I think it's a sign of a healthy environment that people help each other without a personal agenda or benefit.