トップ(最新)

nDiki : Joel on Software

Joel on Software - ジョエル・オン・ソフトウェア

Joen on Software

Joel Spolsky 氏による、ソフトウェアプロジェクトマネジメント/ソフトウェア開発にまつわる諸問題についてを書いた Web サイトおよび書籍。

ジョエルテストが有名。

ソフトウェアプロジェクトマネージャ、ソフトウェア開発者必読書。

ジョエルテスト - The Joel Test

Joel on Software p.23 より。

  1. ソース管理してる?
  2. ワンステップでビルドできる?
  3. デイリービルドできる?
  4. バグデータベースはある?
  5. 新しいコードを書く前にバグを直している?
  6. アップデートされているスケジュールがある?
  7. 仕様書はある?
  8. プログラマは静かな環境で作業している?
  9. 手に入る最高のツールを使っている?
  10. テスタはいる?
  11. 採用面接のときにコードを書かせている?
  12. ユーザビリティテストはしている?

スポンサード リンク

Related term

2008年6月14日 (土)

スクラッチから書き直したくなるプログラマは、書き直したプログラムもまたスクラッチから書き直したくなる。 このエントリーを含むはてなブックマーク

自分がプログラムをスクラッチから書き直したいと思った時、またスクラッチから書き直したいと言われた時のためにまとめておこう。

@ スクラッチから書き直したい理由

スクラッチから書き直したいと思う理由はだいたいこうだ。

  • もっと良くできると思うから
    • 「もっと良いやり方がある」「自分ならもっとうまく書ける」
    • 「統一されていない」「もっと汎用的にできる」
    • 「今なら新しい開発環境(・新しい実行環境・新しいライブラリ・新しい言語)を使って簡単によりいいものが素早く作れる」
  • よくわからないいから
    • 「何をやっているかわからない」「どう直していいかわからない」
    • 「もう直しようがない」
    • 「作り直した方がはやい」
  • あいつのだから
    • 「あいつが書いたコードだから」

どんなプログラムでも開発が進み詳細がわかってくると、こうしておけば良かったと思う点がでてくるものだ。

さらに、他人が書いたプログラムだとよく分からない。

It's harder to read code than to write it. (プログラムというのは書くより読むほうが難しい。) -- Things You Should Never Do, Part I - Joel on Software

いっそ作り直してしまいたいと思うのはどの開発者でもあることだ。

@ スクラッチから書き直してはいけない理由

しかし多くの場合スクラッチから書き直すことはリスクとデメリットだらけだ。

  • 今までの投資を失うから
    • 「そのプログラムには検討・不具合修正に膨大なエネルギーが投入されている」
    • 「ユーザは今のプログラムのために学習コストをかけている」
  • 時間がかかるから
    • 「その新しいプログラムが今と同じレベルの価値を実現するまでは時間がかかりすぎる」
    • 「スクラッチし直してから投入したのでは、もはや価値を失っている可能性が高い」
  • 前轍を踏むから
    • 「どう直していいかわからないと思う時は往々にして目標がわかっていない。目標がわからずに作ったものは結局またスクラッチから書き直したくなる」
    • 「あなたが連続的にプログラムを修正できないというのなら、どちらにせよ新しく作り直したプログラムもあなたは連続的にプログラムを修正できない」(リグレッションテスト習慣はあるの? リファクタリングスキルはあるの?)

ほとんどの場合は、漸進的に今のプログラムを修正・改良していった方が得策なのだ。

@ スクラッチから書き直してもいい場合

そうはいってももちろんスクラッチから書き直した方が合理的な場合もある(書き直してはいけない場合も書き直した方が合理的だと思ってしまうわけではあるが)。

それは次のような場合だろう。

  • ソースコードがない場合 (ディスククラッシュした。利用する権利がなくなった)。
  • もはや開発環境も実行環境も手に入らず、移植も困難な場合。
  • 個人的な趣味のプログラムの場合。
  • スクラッチから書き直したプログラムに対して、また「スクラッチから書き直したい」という欲求にかられない自信がある場合。

本当にスクラッチから書き直した方がよい場合は止める理由はない。

さてこの記事をスクラッチから書き直したいと思う時がきませんように。

@ 参考


[ ソフトウェアプロジェクトマネジメント ]

スポンサード リンク


[ 6月14日全て ]

2008年6月21日 (土)

今日のさえずり - 遊びに行くのか展示会のコンパニオンなのか区別がつかない このエントリーを含むはてなブックマーク

naney:2597008268

@ 2008年06月19日

@ 2008年06月21日


[ 6月21日全て ]

2008年7月25日 (金)

社内で Google ドキュメントがブレイクし始めた このエントリーを含むはてなブックマーク

今年の春ごろから開発資料やミーティング資料などを Google ドキュメント上で作成して、適宜関係者に共有するようにしてみた。

当初はほとんど自分がオーナーのものばかりだったんだけれど

あたりで利用するようになったのではと推測。

特にリスト系はスプレッドシートでコラボレーション(共同編集)できるのがやはり魅力的なんだと思う。 同時にアクセスしている人が表示され変更もリアルタイムに見えるためライブ感があり、「一緒にやっている」という感覚が味わえるのがポイントだ。

ちなみに Excel も共有ブック設定することで同時に編集できる(Joel on Software でもこの機能を「Excel についてあなたが知っておくべきこと」の1番目として紹介している)。

BTS/ITS は専用のシステムを使った方が tracking その他の点で機能的にはよいのだが、億劫で設置自体がなかなかされなかったり、使い方を覚える(思い出す)のが面倒で敬遠されるということも多い。

小規模なら共同編集可能なスプレッドシートでシンプルに運用するのもアリだと思う。 っていうか、シンプルでいいから最低限のことはやっておかないと。


[ 7月25日全て ]

2008年8月14日 (木)

Joel on Software - 必読書 このエントリーを含むはてなブックマーク

Joen on Software

スクラッチから書き直したくなるプログラマは、書き直したプログラムもまたスクラッチから書き直したくなる。」で参照したのがきっかけで、ジョエルテストで有名な Joel on Software を読んだ。

ソフトウェアプロジェクトマネージャ・ソフトウェア開発者必読書の1つだね。

扱っているテーマは幅広くどれも気になる記事ばかり。 ここではメモがてら興味深かった主要な記事をピックアップ。

@ 3章 ジョエルテスト

3分でできるソフトウェアチームの良さを評価する有名なテスト。

@ 5章 やさしい機能仕様 パート1: なぜわざわざ書く必要があるのか?

仕様書の最も重要な役割はプログラムをデザインすることだ。p.51

仕様書についての章が何章か続く。仕様書について実践的なことが書かれているのでとても参考になる。

@ 6章 やさしい機能仕様 パート2: 仕様書とはどんなものか?

サンプル仕様書が用意されている。 何をどのように書くべきかについて参考になる。

@ 8章 やさしい機能仕様 パート4: ヒント

そしてなぜ誰も読まないかといえば、仕様書があまりに退屈でつまらないからだ。p.79

これを読んでからできるだけ話を具体的に書くように心掛けている。 適当に外国人の名前をつけてシナリオを書くとなぜか皆喜んだ(同僚も外注も社長も)。

ルール5: テンプレートは有害である p.86

@ 9章 やさしいソフトウェアスケジュール

ソフトウェアプロジェクトマネジメントでうまくいかない事が多い筆頭がスケジュール。

「そのコードのスケジュールを立てられるのは、それを書くプログラマだけ」「タスクの粒度を細かくすること (それによって、その機能をデザインすることを強いられる)」「スケジュールにデバッグ・結合・バッファ・休暇・祝日その他のことのための項目を入れる」「決してマネージャにプログラマの見積もりを減らさせない」

あたりが参考になる。なおこの記事は Web でアップデートされている。

@ 12章 5つの世界

開発するソフトウェアの種類によって使える開発方法論が異なるのだから、自分のプロジェクトで適用できるかよく考えること。

@ 14章 アーキテクチャ宇宙飛行士たちに脅かされるな

抽象化ばかり考えて意味のないところまでいかないこと。

@ 21章 報奨金有害論

つい最近うちの会社でも表彰式があったばかりなんだけれども……。

マネージャは賞与の提案を上位に送り、それは完全に無視され、ほとんどランダムに賞与が支給される。p.188

多くの人は、自分が非常に良い仕事をしていると思っている (実際はそうでない場合でも)。p.189

@ 23章 人のタスク切り替えは有害であると考えられる

一つのプロジェクトに専念したいね。

人々に同時に1つより多くの作業をさせるべきではない。p.202

@ 24章 あなたが絶対すべきでないこと PART I

スクラッチから書き直したくなるプログラマは、書き直したプログラムもまたスクラッチから書き直したくなる。

@ 25章 氷山の秘密、明らかに

顧客は自分が何が欲しいか分かっていない。顧客が自分で何が欲しいか分かっていると期待するのはやめることだ。p.210

これを理解していないと何でも言うなりにソフトウェア化しようとして失敗する。

@ 31章 下っ端でも何かを成し遂げる方法

多くの人は自分が下っ端だと思ってモンモンとしている。

  • 戦略1 実行あるのみ
  • 戦略2 じわじわ広めていく
  • 戦略3 優れた人間を作り出す
  • 戦略4 間抜けを無力化する
  • 戦略5 邪魔を避ける
  • 戦略6 かげがえのない存在になる

まずは不満を持つだけでなくて、個人ででも実行しようということ。


[ 書評 ] [ お薦めの本 ] [ ソフトウェアプロジェクトマネジメント ]


[ 8月14日全て ]

スポンサード リンク

Related web page

Joel on Software - ジョエル・テスト
ソフトウェア開発チームの質を評価する3分程度で終わるテスト
http://japanese.joelonsoftware.com/Articles/TheJoelTest.html
Joel on Software -
 ミクロ経済学の補完財の原理について考えていて、私はオープンソースソフトウェアに関する興味深いあることに気がついた。それが何かというと、オープンソースソフトウェア開発に多額の資金を使っている企業の多くは、それが彼らにとって良いビジネス戦略だからそうしているのであって、突然資本主義を信じるのをやめて、「言論の自由と言うときの自由」に浮かれ
http://japanese.joelonsoftware.com/
Joel on Software - ゲリラ的雇用面接のすすめ
面接のしかた
http://japanese.joelonsoftware.com/Articles/Interviewing.html

■よく検索されるキーワード

torrent(56) 提案書(47) perl(45) windows(37) linux(31) 使い方(27) 書き方(25) debian(22) x31(22) usb(22) cvs(20) subversion(20) インストール(18) ドラマ(18) c#(17) mp980(17) svn(17) 修理(17) 手帳(16) ssh(15) 評判(15) アジェンダ(15) java(15) デロンギ(14) ガントチャート(13) 感想(13) n-01a(13) centos(13) tc-1(13) 充電式カイロ(13) ノート(12) ダイソー(12) thinkpad(12) rcs(12) f-01a(12) ヤマダ電機(12) ganttproject(12) 無印(11) ppm(11) レビュー(11) カイロ(11) 壁紙(11) 静電気(10) 動画(10) バッグインバッグ(10) ヨドバシカメラ(10) サンプル(10) アジェンダとは(10) wiki(10) ミノルタ(10) グッズ(10) 作り方(10) tortoisesvn(10) firefox(9) so905ics(9) memcached(9) 画像(9) gmail(9) ハクキンカイロ(9) 口コミ(9) a6(9) sh-01a(9) 冷蔵庫(9) ほぼ日手帳(9) mp3(8) emacs(8) 日本語(8) openssh(8) xampp(8) カメラ(8) nikon(8) 設定(8) 写真(8) 値段(7) flash(7) 方眼(7) web(7) docomo(7) カバー(7) リポジトリ(7)

この日記のはてなブックマーク数 Add to Google RSS

Process Time: 4.794404s / load averages: 0.24, 0.40, 0.46
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)