愛Tweetはじめに。等、主に初学者を対象に、TDDの基本について全6回にわたってご説明していきます。RSpec等のツールを使ってTDD開発をしてはいるものの、正直メリットが今一つ理解できていないという方も、もちろん歓迎です。“少しだけアジャイルをかじった程度の開発経験の浅いプログラマ”「古谷」が、TDD開発を実践しているプロジェクトに参画するにあたって、“プロジェクトリーダー”の「高梨先輩」に、TDDについて1から学ぶ。いう想定で記述していきます。TDDは初心者なので優しく教えてください。興味はあったのですが、スクラムと違ってXPやTDDを嬉々として実践しているエンジニアの人達って、なんかレベル高すぎな感じで近寄りがたくて・・。今回はできるだけ分かりやすく初学者を意識して説明しますね。TDDはアジャイルソフトウェア開発手法、特にエクストリーム・プログラミングにおいて強く推奨され有名になりました。古谷さんが言う通り、スクラムに比べると、XP特にTDDは、なんだか敷居が高い感じがしますね。僕は、初学者こそTDDを学んでほしいし、学ぶべきだと思っています。TDDは、テストスキルだけでなく、設計スキルやリファクタリングのスキルを伸ばします。正しくTDDを導入すれば、それは確実にエンジニアを育ててくれます。TDDでテストのスキルが伸びるのはイメージできますが、設計スキルやリファクタリングスキルが伸びるのはぴんときません。後半になれば、意味が分かっていただけると思います。「原則」について認識を合わせましょうか。何か質問や感想があればお願いします。それについては、後で説明します。あとは・・・「自信」という単語が2回出てきますね。完璧さを求めてとにかくテストケースを増やすことがTDDの目的ではありません。書いたコードの不安感がなくなり動作に自信が持てることが大事になります。TDDは一言で言ってしまえば、プログラマが、自分が書くコードに自信を持ちながら少しずつ進んでいく開発手法ともいえます。そこでさっき古谷さんが質問した「インクリメンタル設計」が関係してきます。そのまえにまず「インクリメンタル設計の対極の立場にある「ビッグバン設計」についてお話ししますね。自身のCOBOLからRailsまでの非常に幅広い開発経験や、学生や未経験社員への技術指導経験を糧に、技術講師としてソフトウエアエンジニアの育成に注力している。Rails開発!」シリーズを考案。“技術者の立場にたった、技術者の心に火をつける”熱い講義をモットーとしている。Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。ITがお届けするポッドキャストです。