Joel on Software

Joel on Software

Joel on Software

各パート内容
  1. 小規模ソフトウェア開発に関すること
  2. プログラマとプログラミングチームの管理に関する記事
  3. 継続可能なソフトウェア開発ビジネスを作るための戦略
やさしい機能仕様
  • 仕様書を書かない事というのは最大かつ不必要なリスク。
  • あらゆるプロジェクトにおいて、仕様が無ければ常に、より多くの時間を費やし、より品質の低いコードを作る事になる。
  • 仕様書の最も重要な役割はプログラムをデザインする事である。プログラムがどう機能するか詳細に記述する事によって、プログラムを実際にデザインするように強いられる。
  • 仕様書は良いものだが誰も読まなければ意味がない。うまく騙して人々がそれを読むように仕向ける必要がある。
ソフトウェア開発の5つの世界
  1. パッケージ
  2. インターナル
  3. 組み込み
  4. ゲーム
  5. 使い捨て
UNIXWindowsの文化的違い

UNIX

  • UNIXが作られたとき、エンドユーザというのは存在しなかった。
  • コンピュータについて学ぶというのはプログラミングを学ぶ事だった。
  • 他のプログラマにとって有用なことに価値を見いだす文化が生まれた。

Windows

  • 利益を上げられる限り、できるだけたくさん売る事。
  • 「コンピュータを全てのデスクに、そして全ての家庭に」
  • プログラマでない人々に使い易くする事が、全てのデスクと全ての家庭にするための唯一の方法。
  • 何よりもユーザビリティを重んじる事が文化の基準。
ソフトウェアプロジェクトにとって最も重要なこと
  1. 的確なプログラマを雇う事

誰を雇うべきか

  1. 頭が良く
  2. 物事を成し遂げる
全ての若いコンサルタントが覚えておくべき事
  1. 顧客は自分で何が欲しいか分かっていない
  2. 顧客が自分で何が欲しいか分かっているを期待するのはやめること
ソフトウェア会社が成功する条件
人々がコンピュータを買う理由
  • それを使って動かすアプリケーションのため。
  • Windows向けソフトウェアはMac向けのものよりもたくさんある。
  • これがWindowsAPIがMicrosoftにとってかくも重要な資産であることの理由。
エンター・ザ・ウェブ

ウェブアプリケーション

  1. 配備が簡単(インストールの必要性がないため)
  2. 古いバージョンをサポートする必要がない

リッチクライアント

  1. より早いレスポンス
  2. 魅力的なユーザインターフェース