Randomwalk:ITmediaオルタナティブ・ブログ (RSS) Randomwalk

予測できないITの行く先を、あちこち歩きながら考えてみます

先日、テストファーストをテーマにしたイベントのパネルディスカッションで、モデレータをしてきました。テストファーストというのは、ここ数年盛り上がりを見せているアジャイルなプログラム開発手法の中の1つです。

パネルに参加して頂いたのは、アークウェイの黒石さん永和システムマネジメントの平鍋さん、マイクロソフトの岩出さんです。約90分のパネルで、テストファーストだけでなくアジャイルや品質管理にまで話がおよびました。

テストファーストのメリットは?

テストファーストをご存じない方のために簡単に説明すると、まず仕様に合致する単体テストを先に書いて、その単体テストに通るようなコードを書いていく、というプログラミング手法です。詳しくは下記の記事などが参考になると思います。

EclipseとJUnitによるテスティング(@IT)
NUnit入門 Test Firstのススメ (@IT)

パネルではいろいろテストファーストのメリットについて意見が出たので、覚えているものをピックアップしてみましょう。

  1. 先にテストを書いておくことで、中身のコードをあとからいじってもいじり壊すことを心配しなくていい。つまりリファクタリングがやりやすくなる。「テストコードを書かずにリファクタリングをするなんてリファクタリングじゃない」という発言もありました。
  2. 自分の書いたコードがどこまで完成しているか、テストコードを走らせればすぐ分かる。テストを書く、コードを書く、テストが通る、というリズムで仕事が回り、仕事にリズムが出てくる。こうしたことで、プログラミングの効率があがったり、プログラミングに集中しやすくなる効果もあるようです。
  3. チームで開発するときも、単体のテストが通ったコードが集まるので、ビルドの信頼性があがってチームの効率が高まる。

一方で、テストファーストは何度もコンパイルと実行を行ってテストする工程が入るので、一部を書き換えるだけで全体に影響するようなインクルードが多数ある場合は効率が悪くなる。といったことがデメリットとして挙げられました。

また、テストファーストは仕様に沿って先にテストコードを書くため、開発の途中でコロコロ仕様が変わらないように上流で仕様を固めておけるようなプロジェクトマネジメントをしなければいけない、という指摘もありました。

産業としてのソフトウェアには必要

パネルが終わったあとの懇親会で来場者から話をうかがったところ、テストファーストはプログラミングテクニックのようなものなので1人でも始められるけど、チームに広めようとするとスキルが揃わないとか意識が揃わない、といったことが導入のハードルになるそうです。ペアプログラミングをしながらチーム全体のスキルを揃えていくことが解決になる、とのことですが、そういった開発プロセスを導入するにはまだまだ上司や会社の理解が必要で難しいのが現状です。

ITは、企業の効率化を実現するという用途から、企業活動や社会活動のインフラとして機能するものへと変化し、重要性が高まると同時に、品質に対する目は非常に厳しくなってきています(東京証券取引所のシステムなどがいい例でしょう)。開発手法やプロジェクト管理、アーキテクチャなどに注目が集まっている現状は、こうしたニーズにソフトウェア業界が応えようとしている証拠です。

一発で確実なコードを書けるスーパープログラマーにとっては、実はテストファーストも、ペアプログラミングも、プロジェクト管理も、余計な仕事を増やす面倒なものなのかもしれません。しかし、産業としてソフトウェア業界が品質管理や開発効率を向上させていこうとするとき、チームのための開発方法論、開発効率といった議論はとても大事な議論だと思います。

ウォーターフォールの逆襲?

ところで、このエントリのタイトルは、パネルの最後に平鍋さんが紹介された米国の最新事情にちなんでいます。いま米国ではアジャイルのブームに対抗して「Waterfall 2006」というイベントで、伝統的な開発プロセスであるウォーターフォールを盛り上げよう、となっているとのこと。そのイベントでは、

  • Joy of Silence:余計なことはしゃべらず、必要最低限のコミュニケーションで済まそう
  • Document-Driven Documentation:ドキュメントの正確さをドキュメントによって確かめよう
  • テストは最後に:テストは本来あった場所、つまりプロセスのいちばん最後に置くべき

なんていう主張が語られるそうです。というこのイベントは4月1日開催。このイベントやイベント紹介のホームページ全体が(アジャイルの盛り上がりに対する)全くの冗談ですが、このホームページを平鍋さんが紹介しながら、パネルは笑いに包まれつつお開きになりました。

jniino

Special

- PR -
コメント

コメントを投稿する
メールアドレス(必須):
URL:
コメント:
トラックバック

http://app.blogs.itmedia.co.jp/t/trackback/77444/2902041

トラックバック・ポリシー


» このブログのTOP

» オルタナティブ・ブログTOP


プロフィール

新野淳一

新野淳一

月刊誌の編集、フリーランスを経て、2000年に(株)アットマーク・アイティの設立に参加。2008年に@IT発行人を退任し、現在はPublickey編集長/Blogger in Chief。

詳しいプロフィール

カレンダー
2011年3月
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
カテゴリー

オルタナティブ・ブログは、専門スタッフにより、企画・構成されています。入力頂いた内容は、アイティメディアの他、オルタナティブ・ブログ、及び本記事執筆会社に提供されます。


最近のトラックバック
エンタープライズ・ピックアップ

news094.gif ストレス社会との付き合い方
政府がメンタルヘルス検査の義務化を検討しています。しかしうつになった後だけではなく、なる前の予防も大切なのではないでしょうか。(5/24)

news094.gif 「思いやり経営」のススメ
産学・NPO連携の民間団体が先頃、「思いやり経営」という観点で評価した指標や企業ランキングを発表した。企業のマネジメント力を知る手立てとして注目されそうだ。(5/24)

news094.gif テレワークが労働者のマインドを変える
テレワークが普及すると、労働者の評価は従来の「時間×生産性」から「成果」へと変化する。時間や場所を自分の裁量でコントロールできる変わりに、成果を最大化するために労働をマネジメントする能力とマインドが労働者には必要になる。(5/23)

news094.gif 求む、クックパッド男子
高身長も高学歴も高収入もいらない。私が男性に求めるのは「料理の腕」だけです。(5/18)

news094.gif 37歳の常識――我々は一生学び続ける
学び続けなければ衰退するのみだ。(5/18)

Special

- PR -

サイトマップ | 利用規約 | プライバシーポリシー | 広告案内 | お問い合わせ