SMARTCAMP Engineer Blog

スマートキャンプ株式会社(SMARTCAMP Co., Ltd.)のエンジニアブログです。業務で取り入れた新しい技術や試行錯誤を知見として共有していきます。

和田卓人(t_wada)さんによる『TDDワークショップ』をマネーフォワードと共同で開催しました!

スマートキャンプで Biscuet を作っているエンジニアの中川です。

本記事は2月5日に弊社で開催したTDDワークショップについて紹介します!

TDD: テスト駆動開発のこと。テスト駆動開発とは、テストファーストとして初めにテストコードを書き、その後テストをパスするコードを実装し、さらにその後コードをリファクタリングして良くする、というサイクルを回していく開発手法のこと。

今回のワークショップはマネーフォワードと共同開催し、合計20名のエンジニアが参加しました!

また、講師としてテスト駆動開発の第一人者である和田卓人(@t_wada)さんにお越しいただきました。

当日の流れ

当日は丸一日かけてワークショップを行いました。

f:id:mkt0225:20200220182419p:plain

午前

前半は、t_wadaさんによる講演+ライブコーディングがありました。

講演自体はTDDをまだやったことがない初心者でも分かる内容になっており、「TDDとは?」というところから丁寧に解説していただきました。

その後は、t_wadaさんによるライブコーディングとして、FizzBuzzを題材に以下のTDDにおけるサイクルを回しながら実際に開発していく様子を見せて頂きました。

午後

後半はt_wadaさんに考えて頂いたお題に対して、参加者がペアプロで取り組みました。

事前のアンケートによると参加者の3/4がテストを書いた経験があったため、お題の難易度設定は難しめ(初お披露目!)にしたとのことでした。

当日用意していただいたお題はこちらから見れます。(当日ご本人に許可いただきました!)

Revenue Recognition · GitHub

作業中は、各チームt_wadaさんにアドバイスを貰いつつ取り組み、中間と最後にモブレビューを参加者全員で行いました。

レビューでは、TDD的に気になるポイントや自分のチームとの違いについて参加者が気軽に発言していて、活発な議論が行われました!

終わりに

今回のワークショップの事後アンケートの結果はこのようになり、参加者の満足度が非常に高いものになりました!

f:id:mkt0225:20200220184137p:plain

僕個人としても実践的にTDDを学べることでいままでTDDについて誤解していた部分が明確になり学びを得ることができました!

弊社ならびにマネーフォワードグループでは今後もこういった取り組みを通してエンジニアの技術向上に取り組んでいきます!


smartcamp.co.jp