0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

受託アジャイルAdvent Calendar 2022

Day 15

TDD導入で四苦八苦した記録

Posted at

はじめに

  • 失敗→工夫みたいなのは繰り返してるけど、まだ答えは見つけてない。
  • 過去の試行錯誤の結果(主にうまく行かなかったアプローチと結果)を書いてるだけです。

過去のチャレンジ

理解度が浅い状態で「TDDを導入しよう」と宣言

背景

  • 新規プロジェクト。すごく小さなプロジェクト。
  • 2〜3年目。初めてプロジェクトデザインを任された。
  • 実装を担当したプロジェクトとほぼ同じプロジェクトをプロジェクトリーダーポジションでやらせてもらった。

やったこと

  • PJのプロセスデザインのタイミングで「TDDやりませんか!やりましょう!」とプッシュしまくった。

結果

  • ハマらなかった。
  • TDDの理解度が浅く「テストを書く→実コードを書く」くらいのスタンスで押してしまっていた。
  • いまいちメリット感がみんなに伝えわらずに途中でやらなくなってしまった。

今振り返ってみれば

  • 全員が言語仕様の理解度が浅く、テスト自体が正しくかけているのかが不安があった。
  • 当時は、そのせいでUnitTestレベルの検証の妥当性に自信を持てず、実際に動かして検証することを重視してしまった。
  • 今思えば、t-wadaさんの動画を見れば「言語仕様の理解度向上」にこそ、TDDは効果があるはず。悔やまれる。

TDDを勉強してt-wadaさん動画を通じて伝達

背景

  • 既存プロジェクト。そこそこ大きなプロジェクトの保守開発。
  • 5〜6年目。テストのやりづらさを感じていて、そこの解決策としてTDDを推進した。
  • スクラムマスターのポジショニングで実コードを書くのはDEVメンバー。

やったこと

結果

  • ハマらなかった。
  • 現場のテストフレームワークとの相性が悪かったし、既存のプロセスとも相性が悪かった。
    • 現場が独自のテストフレームワークを用いており、テスト実行が時間がかかりやすかった。(DBへのロード/アンロードなどが含まれる)
    • 既存の開発プロセスの枠組みの中でTDDをどのようにはめ込むかのイメージまで整理しきれなかった。
  • 個人としての活用では部分的に残ったものの、テスト実行が遅すぎるため、本当に部分的に止まった。

学び

  • TDDの普及のためにはテスト実行時間の短さはすごく大事。
  • TDDしやすい開発プロセスってのはあるというか、テストの立ち位置みたいなものを少し組み立て直した方が良い。

今のチャレンジ

テストの立ち位置みたいなのを少し組み立て直している。(ここはまだうまく言語化できてなくて、検討中としか言えん。。。)

次回予告

本記事は、2022アドベントカレンダー「受託アジャイル」です!
次回は、「アジャイル導入における「自社の都合に合わせて形を変えるな」というのは言葉足らずだと思っているので私見を述べる」をします。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?