SlideShare a Scribd company logo
1 of 13
Download to read offline
Copyright Drecom Co., Ltd. All Rights Reserved.
週刊TDD(社内TDD勉強会)の
紹介
Go Sueyoshi (a.k.a. sue445)
Agile Samurai Basecamp 2015.06
Copyright Drecom Co., Ltd. All Rights Reserved.
● 末吉 剛 (a.k.a sue445)
● 所属:株式会社ドリコム 基盤技術部
○ Railsでソーシャルゲームなど
● 自分の普段のお仕事は何でも屋
○ 社内ツール
○ 社内ライブラリ
■ 社内外あわせて2年間でgem(rubyのライブラリ)を
計33個作ってたw
○ サーバサイド全般(インフラ〜アプリ横断)
● Ruby界隈に出没することが多い
○ RubyKaja2014
● プリキュアおじさん
自己紹介
Copyright Drecom Co., Ltd. All Rights Reserved.
● ドリコムの社内勉強会文化について
● 週刊TDDの発端
● 週刊TDDの目的
● 週刊TDDの概要
● ふりかえり
Agenda
Copyright Drecom Co., Ltd. All Rights Reserved.
社内にDATND(Drecom版のATNDクローン)が立っていて、社
員みんなが気軽に社内勉強会を開催する文化が根付いている
● だいたい月に8〜10個くらい
● エンジニアだけでなく他職種開催のイベントも開催されてい
る
● 新しいイベントが立ったり開催直前になると社内チャットに通
知が出るので拡散されやすい
ドリコムの社内勉強会文化について
Copyright Drecom Co., Ltd. All Rights Reserved.
DATND
Copyright Drecom Co., Ltd. All Rights Reserved.
● エンジニア同士の雑談から生まれた
○ 前職で週刊TDDをやってたらしい
● その後いきなりDATNDにイベントがたった
● 社内チャットに通知が流れて気になった人達が参加ボタン
ポチった
週刊TDDの発端
Copyright Drecom Co., Ltd. All Rights Reserved.
● テストは「書き慣れている」状態にならないと書き続けられな
い
● テストを書き続けるための条件 (guard による保存時自動テ
スト等) が整っていない人を押し上げる
● 弊社だとテストを書き続けられず定期的にテストコードを全
消ししている現状(rm -rf spec/)
● 仕様変更によりテストコードのリファクタリングが必要になるこ
とを実感してもらう
● 継続するために「毎週」必ず1時間時間を取り,業務と切り離
した。
目的:テストを書くときの障害を減らす
Copyright Drecom Co., Ltd. All Rights Reserved.
麻雀のルールを題材にして、毎週出題者(持ち回り)がルールを
1つ付け加えていきます。
1. 今回のお題を提示
2. お題を満たすコードを TDD で実装する
3. 次の週に新たなお題(≒仕様変更)が提示される
4. 今まで書いてきたコードでは満たせなくなるので構造を変え
ながら修正する
を繰り返し、TDD という開発手法に対しての理解を深めるのを
目的としています。
週刊TDDの概要(DATNDから抜粋)
Copyright Drecom Co., Ltd. All Rights Reserved.
1. 環境構築 + 数牌と刻子(コーツ)と雀頭(ジャントウ)のみで 3, 3,
3, 3, 2 の組ができていることを判定する
2. 一気通貫(同じ種類の数牌で 123, 456, 789 が揃っているこ
と) を判定する
3. 順子(シュンツ)があること (和了形である必要はない) を判定
する
4. 和了形であること
5. 終わってる人が少なかったので引き続き和了形
6. 中間発表
7. 字牌
だいたい毎回5〜6人ずつくらい参加
各回のお題
Copyright Drecom Co., Ltd. All Rights Reserved.
● TDDが「設計技法」であるというイメージを共有でき、「わかっ
ていることを積み上げる安心感」という言葉も出てきた
● 「当然テストは書くもの」という意識を発信できた
● (麻雀のルールを知っていれば)麻雀の仕様を実装していく
のは楽しかった
● カジュアルに勉強会ができた
● そこそこ続いた
ふりかえり(良かったところ)
Copyright Drecom Co., Ltd. All Rights Reserved.
● ロジックを想像して1時間で終わるお題を出すスキルが要る
○ 持ち回りでお題を出すの,不可能に近い。
● 自動テスト環境の作り方等のドキュメントがなく,参加する
ハードルが高かった
● メンター必要。詰まった人を置いていかない施策が足りな
かった
● 開催ごとにコードをどんどん育てていくため,途中から参入
する障壁が高すぎてユーザが減っていった
○ リファレンス実装となるコードベースを一つ指定しておけ
ば良かった
ふりかえり(悪かったところ)
Copyright Drecom Co., Ltd. All Rights Reserved.
● 麻雀知らないときつい
○ ルールを知らないと麻雀のルールをググるところからなの
で
○ とは言えみんながルール知ってるお題を探すのも難しい
(ポーカーくらい?)
ふりかえり(悪かったところ)
Copyright Drecom Co., Ltd. All Rights Reserved.
https://github.com/sue445/weekly_tdd
【参考】自分のソースコード

More Related Content

More from Go Sueyoshi (a.k.a sue445)

サザエ実況を支える技術 #sst_history
サザエ実況を支える技術 #sst_historyサザエ実況を支える技術 #sst_history
サザエ実況を支える技術 #sst_historyGo Sueyoshi (a.k.a sue445)
 
Paraductをエクストリームリリースします #428rk01
Paraductをエクストリームリリースします #428rk01Paraductをエクストリームリリースします #428rk01
Paraductをエクストリームリリースします #428rk01Go Sueyoshi (a.k.a sue445)
 
GemoireというYARDホスティングアプリを作った #shibuyarb
GemoireというYARDホスティングアプリを作った #shibuyarbGemoireというYARDホスティングアプリを作った #shibuyarb
GemoireというYARDホスティングアプリを作った #shibuyarbGo Sueyoshi (a.k.a sue445)
 
Githubエコシステムを活用したイマドキの趣味開発
Githubエコシステムを活用したイマドキの趣味開発Githubエコシステムを活用したイマドキの趣味開発
Githubエコシステムを活用したイマドキの趣味開発Go Sueyoshi (a.k.a sue445)
 
プリキュアのRuby実装の紹介 #RubyHiroba
プリキュアのRuby実装の紹介 #RubyHirobaプリキュアのRuby実装の紹介 #RubyHiroba
プリキュアのRuby実装の紹介 #RubyHirobaGo Sueyoshi (a.k.a sue445)
 
プリキュアハッカソン2 参加者アンケート集計結果 #cure_hack
プリキュアハッカソン2 参加者アンケート集計結果 #cure_hackプリキュアハッカソン2 参加者アンケート集計結果 #cure_hack
プリキュアハッカソン2 参加者アンケート集計結果 #cure_hackGo Sueyoshi (a.k.a sue445)
 
Resemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコム
Resemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコムResemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコム
Resemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコムGo Sueyoshi (a.k.a sue445)
 
Rubyでプリキュアを作った #cure_advent #shibuyarb
Rubyでプリキュアを作った #cure_advent #shibuyarbRubyでプリキュアを作った #cure_advent #shibuyarb
Rubyでプリキュアを作った #cure_advent #shibuyarbGo Sueyoshi (a.k.a sue445)
 

More from Go Sueyoshi (a.k.a sue445) (19)

サザエ実況を支える技術 #sst_history
サザエ実況を支える技術 #sst_historyサザエ実況を支える技術 #sst_history
サザエ実況を支える技術 #sst_history
 
プリキュアのRuby実装の紹介 #tqrk08
プリキュアのRuby実装の紹介 #tqrk08プリキュアのRuby実装の紹介 #tqrk08
プリキュアのRuby実装の紹介 #tqrk08
 
Paraductをエクストリームリリースします #428rk01
Paraductをエクストリームリリースします #428rk01Paraductをエクストリームリリースします #428rk01
Paraductをエクストリームリリースします #428rk01
 
GemoireというYARDホスティングアプリを作った #shibuyarb
GemoireというYARDホスティングアプリを作った #shibuyarbGemoireというYARDホスティングアプリを作った #shibuyarb
GemoireというYARDホスティングアプリを作った #shibuyarb
 
Githubエコシステムを活用したイマドキの趣味開発
Githubエコシステムを活用したイマドキの趣味開発Githubエコシステムを活用したイマドキの趣味開発
Githubエコシステムを活用したイマドキの趣味開発
 
プリキュアのRuby実装の紹介 #RubyHiroba
プリキュアのRuby実装の紹介 #RubyHirobaプリキュアのRuby実装の紹介 #RubyHiroba
プリキュアのRuby実装の紹介 #RubyHiroba
 
プリキュアハッカソン2 参加者アンケート集計結果 #cure_hack
プリキュアハッカソン2 参加者アンケート集計結果 #cure_hackプリキュアハッカソン2 参加者アンケート集計結果 #cure_hack
プリキュアハッカソン2 参加者アンケート集計結果 #cure_hack
 
Resemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコム
Resemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコムResemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコム
Resemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコム
 
Rubyでプリキュアを作った #cure_advent #shibuyarb
Rubyでプリキュアを作った #cure_advent #shibuyarbRubyでプリキュアを作った #cure_advent #shibuyarb
Rubyでプリキュアを作った #cure_advent #shibuyarb
 
JavaScript TDD紹介 #agilesamurai
JavaScript TDD紹介 #agilesamuraiJavaScript TDD紹介 #agilesamurai
JavaScript TDD紹介 #agilesamurai
 
First step of Rails Contribute‎ #shibuyarb
First step of Rails Contribute‎ #shibuyarbFirst step of Rails Contribute‎ #shibuyarb
First step of Rails Contribute‎ #shibuyarb
 
勉強会を始めるまで #java_ja
勉強会を始めるまで #java_ja勉強会を始めるまで #java_ja
勉強会を始めるまで #java_ja
 
RSpec Performance Turning
RSpec Performance TurningRSpec Performance Turning
RSpec Performance Turning
 
アニメ実況実践入門
アニメ実況実践入門アニメ実況実践入門
アニメ実況実践入門
 
技術書へのいざない
技術書へのいざない技術書へのいざない
技術書へのいざない
 
ドリコムJenkins勉強会資料
ドリコムJenkins勉強会資料ドリコムJenkins勉強会資料
ドリコムJenkins勉強会資料
 
Sue445 Style TDD #atest_hack
Sue445 Style TDD #atest_hackSue445 Style TDD #atest_hack
Sue445 Style TDD #atest_hack
 
AZusaar!でのappengine活用事例 #ajn19
AZusaar!でのappengine活用事例 #ajn19AZusaar!でのappengine活用事例 #ajn19
AZusaar!でのappengine活用事例 #ajn19
 
appengine活用事例資料@TDDBC札幌2.1
appengine活用事例資料@TDDBC札幌2.1appengine活用事例資料@TDDBC札幌2.1
appengine活用事例資料@TDDBC札幌2.1
 

Recently uploaded

PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールsugiuralab
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価sugiuralab
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 

Recently uploaded (7)

PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 

週刊TDD(社内TDD勉強会)􏰀 紹介 #agilesamurai

  • 1. Copyright Drecom Co., Ltd. All Rights Reserved. 週刊TDD(社内TDD勉強会)の 紹介 Go Sueyoshi (a.k.a. sue445) Agile Samurai Basecamp 2015.06
  • 2. Copyright Drecom Co., Ltd. All Rights Reserved. ● 末吉 剛 (a.k.a sue445) ● 所属:株式会社ドリコム 基盤技術部 ○ Railsでソーシャルゲームなど ● 自分の普段のお仕事は何でも屋 ○ 社内ツール ○ 社内ライブラリ ■ 社内外あわせて2年間でgem(rubyのライブラリ)を 計33個作ってたw ○ サーバサイド全般(インフラ〜アプリ横断) ● Ruby界隈に出没することが多い ○ RubyKaja2014 ● プリキュアおじさん 自己紹介
  • 3. Copyright Drecom Co., Ltd. All Rights Reserved. ● ドリコムの社内勉強会文化について ● 週刊TDDの発端 ● 週刊TDDの目的 ● 週刊TDDの概要 ● ふりかえり Agenda
  • 4. Copyright Drecom Co., Ltd. All Rights Reserved. 社内にDATND(Drecom版のATNDクローン)が立っていて、社 員みんなが気軽に社内勉強会を開催する文化が根付いている ● だいたい月に8〜10個くらい ● エンジニアだけでなく他職種開催のイベントも開催されてい る ● 新しいイベントが立ったり開催直前になると社内チャットに通 知が出るので拡散されやすい ドリコムの社内勉強会文化について
  • 5. Copyright Drecom Co., Ltd. All Rights Reserved. DATND
  • 6. Copyright Drecom Co., Ltd. All Rights Reserved. ● エンジニア同士の雑談から生まれた ○ 前職で週刊TDDをやってたらしい ● その後いきなりDATNDにイベントがたった ● 社内チャットに通知が流れて気になった人達が参加ボタン ポチった 週刊TDDの発端
  • 7. Copyright Drecom Co., Ltd. All Rights Reserved. ● テストは「書き慣れている」状態にならないと書き続けられな い ● テストを書き続けるための条件 (guard による保存時自動テ スト等) が整っていない人を押し上げる ● 弊社だとテストを書き続けられず定期的にテストコードを全 消ししている現状(rm -rf spec/) ● 仕様変更によりテストコードのリファクタリングが必要になるこ とを実感してもらう ● 継続するために「毎週」必ず1時間時間を取り,業務と切り離 した。 目的:テストを書くときの障害を減らす
  • 8. Copyright Drecom Co., Ltd. All Rights Reserved. 麻雀のルールを題材にして、毎週出題者(持ち回り)がルールを 1つ付け加えていきます。 1. 今回のお題を提示 2. お題を満たすコードを TDD で実装する 3. 次の週に新たなお題(≒仕様変更)が提示される 4. 今まで書いてきたコードでは満たせなくなるので構造を変え ながら修正する を繰り返し、TDD という開発手法に対しての理解を深めるのを 目的としています。 週刊TDDの概要(DATNDから抜粋)
  • 9. Copyright Drecom Co., Ltd. All Rights Reserved. 1. 環境構築 + 数牌と刻子(コーツ)と雀頭(ジャントウ)のみで 3, 3, 3, 3, 2 の組ができていることを判定する 2. 一気通貫(同じ種類の数牌で 123, 456, 789 が揃っているこ と) を判定する 3. 順子(シュンツ)があること (和了形である必要はない) を判定 する 4. 和了形であること 5. 終わってる人が少なかったので引き続き和了形 6. 中間発表 7. 字牌 だいたい毎回5〜6人ずつくらい参加 各回のお題
  • 10. Copyright Drecom Co., Ltd. All Rights Reserved. ● TDDが「設計技法」であるというイメージを共有でき、「わかっ ていることを積み上げる安心感」という言葉も出てきた ● 「当然テストは書くもの」という意識を発信できた ● (麻雀のルールを知っていれば)麻雀の仕様を実装していく のは楽しかった ● カジュアルに勉強会ができた ● そこそこ続いた ふりかえり(良かったところ)
  • 11. Copyright Drecom Co., Ltd. All Rights Reserved. ● ロジックを想像して1時間で終わるお題を出すスキルが要る ○ 持ち回りでお題を出すの,不可能に近い。 ● 自動テスト環境の作り方等のドキュメントがなく,参加する ハードルが高かった ● メンター必要。詰まった人を置いていかない施策が足りな かった ● 開催ごとにコードをどんどん育てていくため,途中から参入 する障壁が高すぎてユーザが減っていった ○ リファレンス実装となるコードベースを一つ指定しておけ ば良かった ふりかえり(悪かったところ)
  • 12. Copyright Drecom Co., Ltd. All Rights Reserved. ● 麻雀知らないときつい ○ ルールを知らないと麻雀のルールをググるところからなの で ○ とは言えみんながルール知ってるお題を探すのも難しい (ポーカーくらい?) ふりかえり(悪かったところ)
  • 13. Copyright Drecom Co., Ltd. All Rights Reserved. https://github.com/sue445/weekly_tdd 【参考】自分のソースコード