株式会社Globee CTOの上赤です。最近徐々に開発メンバーが増えてきており、それ自体は実にめでたいことなのですが、コード品質の担保・開発速度の向上が組織の大きな課題となっていました。
という悩みを、学生時代うちでバイトしていて就職後も副業で手伝ってくれている麦郎くんに相談したところ、「最近個人的にTDD(テスト駆動開発)を勉強してるので、もし良ければ勉強会やりますよ」とのありがたい一言が・・・
というわけで、9/17(火)を丸一日使ってTDDの社内勉強会を実施しました!
言語はTypeScriptを使い、fizzbuzzから入ってword counter, 自動販売機の実装, じゃんけんゲームの実装までをTDDの手法を使って開発してみる、という充実した内容でした。
また、参加者は講師の麦郎くんを除いて6人だったので、2人ずつペアになってペアプロ形式で課題を進めていく、という方式で行いました。(課題ごとにペアは交代)
写真撮り忘れたのですが、折角なので昼飯はピザと寿司の出前を取って皆で食べました。上の写真の端っこに写っている領収書がその証です。
リフレッシュスペースでコーディングをする図。Yogibo最高。
勉強会の細かい内容は今回は省略しますが、
・テスト/実装/リファクタリングの3つのフェーズに分けて小さなサイクルを回し、常に1つの内容に集中して行う
・できるだけBaby Stepで開発する(目安は3分以内)
などの考え方は非常に面白く、特にバックエンド側の開発には取り入れる価値が多分にあると感じました。また、それぞれの課題の最後にはペアで書いたコードの共有や、コードを書く際に考えていたことの発表などもあったため、それぞれのメンバーのコーディングスタイルや考え方なども知ることができ、その意味でも非常に有意義な勉強会でした。
今後も定期的に勉強会を開催していきたいと思います。技術書購入支援の仕組みもありますので、輪読会とかもアリですね。それではまた。