スマートキャンプで Biscuet を作っているエンジニアの中川です。
本記事は2月5日に弊社で開催したTDDワークショップについて紹介します!
TDD: テスト駆動開発のこと。テスト駆動開発とは、テストファーストとして初めにテストコードを書き、その後テストをパスするコードを実装し、さらにその後コードをリファクタリングして良くする、というサイクルを回していく開発手法のこと。
今回のワークショップはマネーフォワードと共同開催し、合計20名のエンジニアが参加しました!
また、講師としてテスト駆動開発の第一人者である和田卓人(@t_wada)さんにお越しいただきました。
本日はスマートキャンプ株式会社様および株式会社マネーフォワード様にお招きいただき、1日コースのTDDワークショップを開催させていただきました。午後の演習とコードレビューでは鋭い質問がたくさん飛び出し、議論が盛り上がりました。ご参加くださいました皆様、誠にありがとうございました!
— Takuto Wada (@t_wada) 2020年2月5日
当日の流れ
当日は丸一日かけてワークショップを行いました。
午前
前半は、t_wadaさんによる講演+ライブコーディングがありました。
講演自体はTDDをまだやったことがない初心者でも分かる内容になっており、「TDDとは?」というところから丁寧に解説していただきました。
その後は、t_wadaさんによるライブコーディングとして、FizzBuzzを題材に以下のTDDにおけるサイクルを回しながら実際に開発していく様子を見せて頂きました。
午後
後半はt_wadaさんに考えて頂いたお題に対して、参加者がペアプロで取り組みました。
事前のアンケートによると参加者の3/4がテストを書いた経験があったため、お題の難易度設定は難しめ(初お披露目!)にしたとのことでした。
当日用意していただいたお題はこちらから見れます。(当日ご本人に許可いただきました!)
作業中は、各チームt_wadaさんにアドバイスを貰いつつ取り組み、中間と最後にモブレビューを参加者全員で行いました。
レビューでは、TDD的に気になるポイントや自分のチームとの違いについて参加者が気軽に発言していて、活発な議論が行われました!
終わりに
今回のワークショップの事後アンケートの結果はこのようになり、参加者の満足度が非常に高いものになりました!
先日のTDDワークショップのアンケート結果を拝見し、参加した皆様の満足度の高さに強い手応えを感じた。
— Takuto Wada (@t_wada) 2020年2月7日
「パブリックイメージと違って質問もしやすく、とてもわかりやすい講習でした。ありがとうございました!」という熱いコメントもいただき、大変嬉しいと同時に、それな……という気持ちに🦁
僕個人としても実践的にTDDを学べることでいままでTDDについて誤解していた部分が明確になり学びを得ることができました!
弊社ならびにマネーフォワードグループでは今後もこういった取り組みを通してエンジニアの技術向上に取り組んでいきます!