スティーブ・マグワイヤ『デバッギング ザ デベロップメントプロセス』アスキー出版、1995年12月
デバッギング ザ デベロップメント プロセス―理想的な開発工程を目指して (マイクロソフトプレスシリーズ)
- 作者: Steve Maguire,遠藤美代子
- 出版社/メーカー: アスキー
- 発売日: 1995/12
- メディア: 単行本
- 購入: 2人 クリック: 14回
- この商品を含むブログ (12件) を見る
- 開発チームにおいて、基本的な誤りが繰り返されるという現象に気づいた。一方で、プロジェクトリーダーは、コーディングばかりに時間を費やし、肝心な仕事であるプロジェクト管理をしていないことがわかった。リーダーは「指導者」としての教育を受けていない、指導者になってから学ぼうとするのは少し遅い。
- しかし、基本的なテクニックと戦略をマスターすれば、長時間働かなくても高品質でバグのないソフトウェアをスケジュールどおり出荷することは可能である。
- むかしから、試練と過ちを積み重ねることで人は権威と呼ばれるような浅く広い知識を身に付けてきた。しかし、これを積極的な学習を通じて劇的な速度で身に付けることは可能である。
- 「製品の向上に結びつかない活動は無駄」という認識を持ってほしい。そんな活動の代表として「会議への参加」や「報告書の作成」などがある。逆にプロジェクトリーダーはそうした障害を取り除くよう努めるべきである。
- リーダーはつねに最終的に到達すべきポイントは何かということを念頭におくべきである。また、具体的で明確な目標を掲げることが有効である。
- バグの修正は根本的な問題である。バグの修正は決して後回しにしてはいけない。
- 電話などで作業が中断されることは望ましくない。電子メールを積極的に活用した方がよい。ただし電子メールを確認するのは、1日に2〜3回程度にするべきである。
- 問題が生じたときに、その過ち/経験から、なぜそうしたことが起きたのか問い直す習慣を付けてほしい。
- 一般的にプログラマから忌み嫌われている「goto」文であるが使い方によっては、分かりやすさにつながることがある。一般に信じられているからなどの理由で、旧来のやり方にとらわれてしまうのは賢明ではない。
- よく考えてみると本当に必要なのかどうか疑わしい作業が求められていることがある。たとえば「ポットローストの切れ端の謎」のように、続けておこなってきている作業でもよく考えてみるとすでに必要のない作業であることもある。
- スケジュールは本当に妥当なものかよく検討される必要がある。逆に、それほど根拠のない最終期限を守るために製品をだめにしてしまってはいけない。
- 大きなプロジェクトを運営するために有効な手法として、サブプロジェクトへの分割と2カ月毎のスケジュール作成ということがある。つまり大きなプロジェクトを2年かかるものとすると、2カ月単位のサブプロジェクトで2カ月おきに製品を出荷していたということになる。
- プログラマの能力向上は非常に重要、プロジェクトの新しい分野に挑戦させることが必要だ。また、熟練者についても伸び悩んでいれば新しい学びの場を与えるために表に出してやる必要がある。
- チームのどのメンバーも少なくとも2カ月に1回は重要な技術を学んでいることを確認する必要がある。良い本にめぐり合えば、誰かが数十年かかって到達したことに数日で到達できるのだ。
- 重要な態度として、改良が必要な部分はすぐに正しく改めるということがある。
- プロジェクトが遅れているときは何かが間違っている。これを過重労働で埋めようとしてはいけない。何が原因なのか良く見きわめること。逆に長時間労働は品質を確実に低下させる。
- 必死に働くな、必死に頭を働かせよ。
- リーダーは、自分をチームメンバーの上司ではなく、メンバーの一人と見るべきである。
アメリカという国の強さ、英知を見せつけられる本であると思う。どこに典型的な問題があるのか、何が解決の秘訣なのか経験に基づいて説明している。
ただし書いてあることを額面通り行うということでなく、自分のおかれた組織や仕事の流れをふまえてもっとも効果的な手法を頭を使って考えるということだろう。