CodeZine(コードジン)

特集ページ一覧

達人の手ほどきで、正しい方向に一歩踏み出そう
~アジャイルアカデミー「TDD実践講座」体験レポート

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2015/06/12 14:00

目次

ペアプログラミングを体験

 ハンズオンは、二人で一台のマシンに向かってコードを書く「ペアプログラミング」の形式で進めます。こちらも、ペアプログラミングのプロトコル(手順)や、「ドライバー」「ナビゲーター」といった役割の説明、講師による実際のデモンストレーションなどが行われるので、前提知識がない初心者でも安心です。

 ペアプログラミングは、プログラミングを通して二人で会話をする(設計とテストといった担当を交互に入れ替えながら実装を進める)ことで、より上手にプログラミング/設計できるようになる効果があることから、リファクタリングが重要なTDDの演習手法として採用されているようです。

 体験してみると、確かに他者のやり方や発想と交わることで、より深い気付きがあり、これだけでもよい経験になりました。

 日常でペアプログラミングを行う場は、なかなか得にくいと思いますので、ぜひこういった場で一度体験しておくとよいでしょう。

ペアプログラミングの様子(変則的に3名で)。意見交換しながら開発を進めていく
ペアプログラミングの様子(変則的に3名で)。意見交換しながら開発を進めていく

演習課題

 当日与えられた課題は、次のような整数の区間を扱う処理の実装です。区間の生成や、文字列表現での表示、ある区間に整数や別の区間が含まれるかの判定、などの全部で6つの課題が用意されていました。

 チームごとに、課題を分割し、TODOを作成して、テストコードに落とし込み、リファクタリングを繰り返す、といった流れで課題を解き進めます。

 冒頭の座学やデモを見聞きして、頭では理解したつもりになっていても、実際に手を動かしてみると、思わぬところでつまずいたり、新たな疑問が起こったりするものです。

 そこは小人数制のワークショップということもあり、講師やチューターが絶妙なタイミング、ヒントで学習が効率よく進むように導いてくれました。筆者のように、「あのt-wadaがじかにレクチャーしてくれた」というのがモチベーションにつながる方もいるかもしれません。

 また、2度ほど、発表とコードレビューの場が設けられ、他者に教える、他者の意見を聞く行為を通じて、より深く理解することにつながりました。

 冒頭で、講師が「プログラミングコンテストではないので、最後までやることが重要なわけではない」と説明していましたが、その通りで、見た目の分量よりもはるかに濃密な経験を得ることができると思います。なにより楽しい。

TDDを実践するための次のステップ

 ハンズオンの後は、1時間程度の座学と質疑応答の時間があります。

 TDDの第一歩を踏み出した後で、今後どのように技術を深め、現場で役立てていけばよいか、学習のステージごとに適した推薦図書や研究データの紹介などが行われました。

 当日、講師のやっとむさんが基本レベルと紹介した書籍だけでも、次のとおりで、なかなかTDDの道も奥が深そうです。

 質疑応答の場では、「TDDが向く/向かない領域はどこで、どう使い分けるか」「実際に業務で適用する際に考えられる課題」など、今後現場で活用することを意識した、具体的な相談が目立ちました。経験豊富な講師陣ですので、かなり突っ込んだリアリティーのある内容でも明確な答えを導いてくれると思います。

 また、当日参加いただいた受講生の方には、次のようなコメントをいただきました。

「TDDとはどういったもので、どのように利用するのか分かりやすく説明してもらえた。また、TDDに向くシステムと向きにくいシステムの説明も有効だった」
「初歩的な進め方のコツが学べたと思う。明日から実践する自信がついた」
「『テストコード書かなきゃ!でもよくわからないし難しそうだから……』と、なかなか重い腰を上げられない人はもちろん、プログラム初心者にもおススメ」
「ペアプログラミングを初めてやってみて、その雰囲気が分かってよかった」
「ペアプログラミングを行うことで、テストや設計を考えながら実践できた」

次回の開催

 講座の流れは以上です。詳細は、ぜひ皆さんがご自身で体験いただければと思います。

 次回開催は2015年6月26日(金)です。アジャイルアカデミーのページから奮ってご応募ください。お得なペア割(6000円オフ)もありますので、チームでの参加もオススメです。

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

あなたにオススメ

著者プロフィール

  • 斉木 崇(編集部)(サイキ タカシ)

    メディア編集部 メディア1(CodeZine/EdTechZine/ProductZine)編集統括 兼 EdTechZine/ProductZine編集長。1978年生まれ。早稲田大学大学院理工学研究科(建築学専門分野)を卒業後、IT入門書系の出版社を経て、2005年に翔泳社へ入社。ソフトウェア開...

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5