Sign up for free

This page is intended for users in Japan(English). Go to the page for users in United States.

@t_wadaさんのTDD ワークショップを社内で開きました。

こんにちは、CTOの本田です。

令和元年、8月27日、かねてから希望していた @t_wada さんのTDDワークショップを開きました。

TDDワークショップを開くと決めた理由は、

  1. GVA TECHのサービスは、契約書や登記情報を扱っているという性質上、保守性が高く、バグの少ないコードを書く事を要求される
  2. GVA TECHのエンジニアは、1の事をよく理解しており、総じて、バグの少ない綺麗で保守性の高いコードを書くことに関しての欲求・スキルが高い
  3. 今のフェーズで、TDDという開発手法を第一人者からレクチャーいただくことによって、テストコードを書く文化を、より社内に浸透させ、「運用フェーズの工数削減」「開発者の意図しない変更を防ぐ」「バグの早期発見や、要件の理解、言語仕様の理解を促しながら実装ができる」と考えている

ためです。

当日は一日かけて、以下の流れで進みました。

・@t_wadaさんによる 講演 + ライブコーディングによるデモ + 質疑応答
・ワークショップ(ペアプログラミング)
・コードレビュー

@t_wadaさんによる 講演 + ライブコーディングによるデモ + 質疑応答




午前中は、講演+実際のお題をライブコーディングを行いながらによる解説です。

・TODOを書く
・テストを書く
・プロダクションコードを書く
・リファクタリングをする

という流れを、どういった思考を元に行うのか説明しながらの実演でした。

他にも、
・TODOの作成には時間をかけすぎないこと
・テストは動作するドキュメントなので、構造化し、リファクタリングを行い、後世に伝えること
・テストを最初に書くことで、作りやすいコードではなく、使いやすいコードをかけること
・プロダクションコードのテストはテストコードで、テストコードのテストはプロダクションコードであること
・初期のうちに対応することで、コストを最小に抑えることが大事であること

など、日頃業務をする上で役立つTipsや、

・コードの重複は、『2個から派』『3個から派』がいること
・定義されていない仕様について、許容派かエラーにする派がいること

などなど、楽しく丁寧な解説を元に、TDDの意義について確認することができました。

ワークショップ(ペアプログラミング)


本来は机があれば、やりやすいのですが、、場所がいっぱいなので仕方ありません。

午後からは、ペアプロのワークショップです。

Thinking 0ut Loud

をモットーに、ドライバーとナビゲーターが積極的に思っていることを相談しあいながら、交代でお題をTDDに沿って実施していきます。

言語については、日頃使っているもので分け、弊社では、
・Python
・JavaScript
・PHP
・Golang
の4種類に別れてのペアプロとなりました。

コードレビュー



制限時間がきたところでコードレビューです。

各ペアが、
・TODOリスト
・テストコード
・プロダクションコード
を紹介しながら、苦労したところ、イケてるところを紹介します。

別の言語で実装しているのですが、同じお題に沿って行なっているので、
積極的な質問や指摘が出ました。

・TODOリストは成果物ではないので、ドキュメントとして、テストコードに記載する重要性
・認識はしているがテストコードに書かれていないと、誰もそれを知ることができないので、しっかりと書いておくこと

など、発見がありました。

個人的には、違う言語でありながら、同じような設計のコードになっていたところ、が大変興味深かったです。
また、テストコードの書き方によって、前述の、
「定義されていない仕様について、許容派かエラーにする派がいること」
が垣間見えて、そこも面白かったです。

ワークショップの結果

結果については満足度が高いものとなりました。

開発は銀の弾丸がなく、会社やサービス、更にはフェーズによって正解が異なるかと思いますが、
テストを書くことの有用性、TDDによる、コードに対する焦りや恐れを克服しながら、綺麗で動くコードを書くことができる開発手法があるということを学び、いいプロダクトを作り、価値をお客様に提供できればと思います。

今後も、GVA TECHは、日頃から価値を生み出して頑張っているメンバーに対して、
こういったワークショップや機会を通して投資を行い、メンバーが更に成長することで、お客様や会社に対してより良い価値を提供し、結果、市場から認められるいい組織・会社になることができるよう、進んでいきたいと思います。

GVA TECH株式会社's job postings
13 Likes
13 Likes

Weekly ranking

Show other rankings
If this story triggered your interest, go ahead and visit them to learn more