回答:
ジェフ・アトウッドには、プログラマーの権利章典があります。
投稿から:
- すべてのプログラマーには2つのモニターが必要です。
- すべてのプログラマーは高速PCを使用するものとします
- すべてのプログラマーは、マウスとキーボードを選択できます。
- すべてのプログラマーは快適な椅子を持たなければならない
- すべてのプログラマーは高速インターネット接続を使用する必要があります
- すべてのプログラマーは静かな労働条件を持っているものとします
これには、ジョエルのリストで見たい項目がいくつかあるようです。特にハードウェアの分野(デュアルモニター、高速PC、マウス/キーボード、快適な椅子、高速接続)。
言及されていない唯一のものは、快適で調節可能な机を持っていることです。
これはすべて変更することで追加できます。
現在#9:お金で買える最高のツールを使用していますか?
に
改善された#9:お金で買える最高のツールと機器を使用していますか?
ポイント8が次のようになっているのは興味深いことです。
8. Do programmers have quiet working conditions?
読んだことがあるとき(何か)
8. Do programmers have their own office?
そして最後の段落はまだ始まります:
次に、壁とドアのある別のオフィスに移動します。
私が働いたすべての場所-従業員と訪問者の両方-で、自分のオフィスを持つ唯一の人々は取締役と上級管理職であるため、私は常にこのテストを疑っていました。
現実の世界でソフトウェアを書くことは通常チーム活動であり、チームメイトと話し合ってアイデアをバウンスする必要があります。また、インスタントメッセージングシステムを使用している場合でも、別のオフィスの人々と行うのは困難です。物事を引き出して、人々のコードや図を表示できることは非常に役立ちます。これは、分散したチームが機能しないと言っているわけではありません-彼らは明らかに機能しているし、機能している、それは単に異なる問題のセットです。
私が言うことは、各チームは6-8人の自分のオフィスにいる必要があるということです(チームのサイズだと仮定して)。そうすれば、他のチーム(存在する場合)を邪魔することなくやり取りし、営業チームや訪問者に邪魔されることなく仕事を進めることができます(私が働いていたある場所で、あなたは玄関を通って開発エリアに直接来ました)。
あなたが他の開発者と仕事をしているが、それぞれが別々のプロジェクトに取り組んでいる場合、共有オフィスは便利です。ただし、会議室に会議を持ち、他の人の締め切りなどを尊重することに厳しい場合のみです。
他のほとんどは自明の真実です。
私にとって唯一の契約違反者は:
8. Do programmers have quiet working conditions?
興味深いのは、Stack Overflowの求人で失敗する可能性が最も高い質問です。
特に社内に複数のプログラマーがいる場合、いくつかの質問は失敗するのが困難です。
1. Do you use source control?
2. Can you make a build in one step?
4. Do you have a bug database?
私が気にしない他のほとんどの人。正直言って:
12. Do you do hallway usability testing?
嘘つきを検出するものがあります:
5. Do you fix bugs before writing new code?
それは良い「ベースライン」であると言わざるを得ませんが、測定ツールには他にも要因があります。たとえば、私が働いていた単一の会社がデイリービルドを行っていません(私は知っていますが、知っています)が、それらのいくつかは非常に優れています。
個人的には、リストに追加する他のアイテムがいくつかあります。
何よりも、これらのアイテムは以前の雇用主から「腹を立てている」ものであり、今では、あらゆる機会について私が尋ねる迅速な質問になっています。
ジョエルのポイントのほとんどに同意します。「廊下のユーザビリティテスト」についてはよくわかりません。使いやすさのテストは確かですが、実際には廊下から誰かをつかみ、彼らの仕事ではないのにプログラムをテストさせますか?それは人々を追い払う素晴らしい方法のようです。
ジョエルテストは、チームの素晴らしさをテストしません。チームがジョエルテストをどれだけ順守しているかをテストします。
チームの素晴らしさのより良いテストです。GrandmasterBテストと呼びます。質問が1つあります。
1)あなたが書いたソフトウェアは良いものですか?
あなたが「廊下テスト」をするかどうか、あなたが持っているソース管理、またはビルドプロセスが何であるかは関係ありません(ある場合-すべての言語にはありません)。チームの真の尺度は、作成するソフトウェアの品質です。
基本的に、Joelテストのすべてのステップを実行しても、最終的には出荷されないがらくたコードと製品になります。たとえば、ソース管理によって魔法のように優れたコーダーが作成されるわけではありません。コードの管理が容易になります。また、Visual Studioの最新バージョンを使用しているからといって、アプリケーションがVisual Studio 2005で作成された場合よりもうまく機能するわけではありません。
一般的には理にかなっていると思いますが、リストはFog Creek Softwareが行う特定の種類のソフトウェア(shrinkwrap)を中心にしています。彼はまた、別の投稿であるファイブワールドでそれについて話しているので、それは本当に驚くことではありません。そして、その世界以外にも多くの開発があります。
たとえば、衛星や自動販売機向けの組み込みソフトウェアを開発する場合、毎日のビルド(3)やユーザビリティテスト(12)など、あまり意味のない条件がいくつかあります。