アジャイルがぼくを変えたこと
これは「Agile Tech EXPO」のアドベントカレンダー11日目の記事です。
昨日はなんと星野リゾート 藤井さんがご投稿くださいました!
みなさん、ご参加ありがとうございます!!
これはあじゃてくのアドベントカレンダーだということで、
AgileでTech、な話題を考えてみたんですけど、
Agileに出会わなかったら今頃自分はどうだったんだろう?と考えたとき、切っても切れなかったのがTechだったので、これから時間の許す限り、
アジャイルがぼくを変えたことを、Techを交えて語っていきたいと思います。
。。。と書き出してみたのですが、一つのトピックがとっても大きくなってしまったので、テスト駆動開発との出会いについて書きます。
J.Kの前提
自分は元々製造業出身、組み込みファームウェア(自分の場合は極端にいうと書き換えを前提にしない思想のソフトウェア)をメインに開発していました。
ソフトウェアに関する作業は基本一人で行っていました。
過去製品のソフトウェア(俗にいうレガシーコード。作った人はいないし、どこか触ったらどこか壊れる、がつきまとうもの)を用いて新製品の開発を行ったこともありました。
テスト駆動開発
入り口はこの本でした。(2017年10月)
この手前に、テスト駆動開発という言葉をどこかから仕入れたんですよね。覚えていないけど、きっとやっとむさんがt_wadaさんのツイートをリツイートしてたとかかなぁ・・・(うろ覚え)
けど、t_wadaさんが熱っぽくこの本を改めて翻訳した!という記事をみて、心を動かされて買ってみたのは覚えています。
https://t-wada.hatenablog.jp/entry/tddbook
初めての写経でも離脱しない、丁寧な内容で、自分をTDDの世界に誘ってくださった一冊。
ぎこちないRed→Green→Refactoring。
言われるがままにJUnitを動かしていくと、だんだん体の中にリズムが湧いてきたようで、どんどんソースコードを書くのがヤミツキになっていきました笑
そして
「次にソースコード書く時は、絶対にTDDでやってみよう」
と心に誓うのでした。
書籍の中の1分に1回テスト実行している、というふりかえり部分をみて「頻繁にビルドしてもいいじゃない」と自分に対して謎の自信をもらったりしたのも良い思い出。(この頃は10分ビルドという言葉とかも知らない。)
自分の仕事で活かすために次なる本を探してみました。
2017年12月にこの本を買っていました。
この本の中にも平鍋さんがご登場。
もはや運命的な何かを感じずにはいられなくなる瞬間でもありました。
そしてこの本のおかげで、C言語でもxUnitがありそうなことを知り、単体テストがかけることにもたどりつきました。
新しいチップ x シリアルポートなどを簡単に制御するためのライブラリを導入したこともあって、単純にxUnitをプロジェクトに組み込めない気配が漂ったのですが、自分のプロダクトコードで初めてのRed→Green→Refactoringに成功したのでした。
Refactoringに初めて成功した瞬間の感動と興奮は今でも忘れられません。
(そして2018年2月、転職を機に、そのソースコードが手元から離れて行ったのでした。)
おわりに
もういくつ寝るとお正月、
年が明けたらRSGT2021!
もうすこし寝るとAgile Tech EXPO Episode 1 !
楽しくて眠れない年明けになること、間違いなしです笑
明日は Episode 0 でLTもしてくださったtakahashiさん
アジャイルと私のこの1年について書きます!とのことです。楽しみ!
若干残っているアドベントカレンダーの空きへ参加してくださる方もまだまだ募集中です!