SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

特集記事(AD)

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

  • X ポスト
  • このエントリーをはてなブックマークに追加

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

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

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

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

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

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

演習課題

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

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

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

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

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

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

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

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

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

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

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

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

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

次回の開催

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

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

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
特集記事連載記事一覧

もっと読む

この記事の著者

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

株式会社翔泳社 ProductZine編集長。1978年生まれ。早稲田大学大学院理工学研究科(建築学専門分野)を卒業後、IT入門書系の出版社を経て、2005年に翔泳社へ入社。ソフトウェア開発専門のオンラインメディア「CodeZine(コードジン)」の企画・運営を2005年6月の正式オープン以来担当し、2011年4月から2020年5月までCodeZine編集長を務めた。教育関係メディアの「EdTechZine(エドテックジン)」...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/8771 2015/06/12 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング