連載
NAgileで始める実践アジャイル開発

第5回 常時結合のススメ

NAgiler 黒石 高広
2006/11/25

登場人物:
師匠:ナジャイラ師(マスター)(♂)
NAgiler(ナジャイラー=.NETにおけるアジャイル開発の実践者)。謎の多い人物。ちょっと偉そう。だが、実は弟子思い。
弟子:点網 滝(てんもう たき)(♀)
.NET開発者。ウォーターフォール型の開発を行っているが、アジャイル開発を明るく真摯(しんし)な態度で学ぼうとしている。
Back Issue
1
.NET+アジャイルなら本当に幸せになれるのか?
2 ソフトウェア開発をシンプルにする考え方のコツ
3 ソフトウェアの良い設計を行うコツ
4 ミッション:ビルドを自動化セヨ!
 
※ご注意 ……本稿の物語やそこで交わされる会話はすべてフィクションであり、実在の人物、団体などとは一切関係ありません。登場人物の役柄はストーリー上の設定であり、筆者や読者を代表するものではありません。あくまでフィクションとしてお読みください。

■■1. はじめに■■

どや最近の調子は?

 

ぼちぼちでんなぁ〜……って、なんだ師匠じゃないですか。どうしたんですか、突然関西弁で。

 

気にするでない、まな弟子との軽いコミュニケーションだ。

 どうだ? 頑張ってNAgileを実践しているかな?

 
はい!! もちろん。頑張ってテスト・コードも記述してますよ〜。
 

どれどれ……うむ、ちゃんとテスト・コードも記述しているな。なかなかよい感じだ。

 

へへへ、頑張ってますよ

 ところで、ちょうど師匠に聞きたいことがあったのですがよろしいですか?

 
いいだろう。何でも聞いてみなさい。
 

テスト駆動開発をほかのプロジェクトの開発者にも教えてみたんですよ。最初はみんな、それいいね! といってくれてテストも書いてみるのですが、なかなか長続きしないみたいです。どうすればテスト・ファーストを続けられるようになるのでしょうか?

 

なるほど、よく聞かれる質問だな。そのような場合は次の言葉を思い出すとよい。

「テストとは歯磨きのようなものである」

 
歯磨き……ですか?!
 

そうだ。この言葉は、とあるNAgileマスターが遺した言葉だ。

 歯磨きをしなければどうなるか……虫歯になるだけだ。もちろん、世の中には歯磨きをしなくてもまったく虫歯にならない人もいるらしいが、だからといって自分も歯磨きをしなくてもよいことにはならん。多くの人は歯磨きをしなければ虫歯になるのは事実だからな。

 
ふむふむ。
 

プログラミングの視点だけで考えるとテスト・コードを記述するという行為は、余計な作業を行っているだけに見えるかもしれん。取りあえずプログラミングを始めて、実コードを書き上げてしまいたい誘惑にかられるのも無理もないことだ。しかし、もっと広い視野で考えることが大切だ。仕様どおりに正しく動作するかよく分からないコードを大量に作り上げて最後にそれらを徹夜で修正するのと、仕様どおりに正しく動作するコードを積み上げていき、ソフトウェアを完成させるのと、どちらがよいか考えてみるとよい。

 

なるほど、それで歯磨きというわけですね。虫歯(トラブル)にならないように、日ごろから歯磨き(テスト)をちゃんとやると。

 

分かってくれたようだな。テスト駆動開発というものを大げさに考える必要はなく、開発者としての良い習慣として考えるとよいだろう。それに習慣というものは簡単には変えられないので、周りが変わらないといって焦らずに、自分のためと思って続けてみなさい。

 

分かりました。まずは私がちゃんとした習慣として身に付けられるように頑張ります!

 

滝も、だいぶテスト駆動開発の習慣が身に付いてきたようだし、今日はそれらの効果をさらに高める「常時結合」について伝授しよう。

おお、新しい教えですね。師匠お願いいたします。

 

 INDEX
  NAgileで始める実践アジャイル開発
  第5回 常時結合のススメ
  1.はじめに
    2.常時結合とは
    3.常時結合を実践するCIサーバ
    4.常時結合を実践するための6カ条
    5.まとめ
 
インデックス・ページヘ  「NAgileで始める実践アジャイル開発」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間