アジャイルを怠惰の言い訳に使うな高校校歌・開発編
はじめに
株式会社ウェイブでエンジニアをしている者です。
ふとここN年くらいの業務における開発体験について振り返ってみて、思ったことを書きました。
似たような話はたまに目にするので、一般的な話よりも実体験に基づく話にしています。
主張(自戒含む)
スピード重視でも、
- 責務をコピペするのをやめよう
- 「あとでリファクタする」は絶対しないので先にやった方がいい
- レビュー依頼前からすでにコミュニケーションは始まっている
- だけではないけどそんな感じ
背景
かつてスクラムっぽいものだったもの
N年前、私のいるプロダクトチームはスクラムっぽい開発体制をとっていました。
全く教科書通りにスクラム開発を実行するのも難しくところどころ誤魔化しもありましたが、そんなチームは多いのではないでしょうか多分。
とりあえずバックログがあって、スプリント単位でリファインメント、プランニング、レビュー、レトロスペクティブはやるというような感じです。
この体制でチームを運用する中で課題になったことの一つが、「バックログにチケットが溜まりすぎる」ということです。
スプリント内に開発を完了できずチケットが持ち越しになることもある一方で、プロダクトの課題は次々挙げられバックログのチケットは増えるばかりでした。
チケットの優先度を決定するのも困難になり、また直近の課題への対応ができなくなっていることにメンバーは危機感を感じていました。
アジャイルを取り戻せ!(取り戻したかった)
何スプリントも前に作られたチケットよりも、今プロダクトに必要なことに意識を向けて改善していこうということで、ある時開発体制をいくつか見直しました。
- バックログを一旦リセット(本当に必要ならまた課題として上がるはず)
- 改めてプロダクトの重要な指標を確認。根拠を持って課題をあげる
- とにかくチケット起票→実装→リリースして実験、のスピードを速くする
- 機能実装によるプロダクトとユーザー行動の変化を観察して次のアクションを決める
当たり前のことではありますが、それを改めて意識していこうという感じでした。
さて
怒りの本編(具体例いくつか)
とにかくスピードを重要視する意識改革により、私たちは大切な何かを失ったのかもしれません。
コピペやめろ〜〜
早くリリースして効果を見た方がいいんだから丁寧に書くよりもスピードが大事だぜ〜〜
私たちのプロダクトは、ユーザーがサイト内通貨を購入し、それによりコンテンツを購入するようなシステムです。このサイト内通貨を購入できる地点を増やし、ユーザーがスムーズにコンテンツを楽しめるようにしようというアイデアがあがり、実装することになりました。
元々はサイト内通貨購入ページでのみ購入が可能だったので、購入のUIの実装は1箇所にまとまっており、特にコンポーネント化されていませんでした。
ここで悪魔の囁き
「早くリリースして効果を見た方がいいんだから丁寧に書くよりもスピードが大事だぜ〜〜」
購入UIは複数のページコンポーネントの中にコピペされることとなりました。(差分3桁行×N)
多少パラメータ入出力の調整は必要でしたが、全てのコピペ箇所に同時に適用できるように直すよりはマシだったのかもしれません。
現在
コンポーネント切り出しのリファクタリングをする前に、別の購入ロジックおよびUIの修正対応が入ってしまいました。全てのコピペ箇所に対応が必要で、入力パラメータの名前が微妙に違っているケースもあるのでかなり神経を使います。修正対応漏れも怖いです。元に戻すのも消すのも怖いです。
涙を流しながら修正しています。\(^o^)/
作りっぱなしやめろ〜〜
「せめて後から修正しやすいようにコメントを残しておこう」
999%修正されません。😇
せめてリファクタリングのチケットを起票してアサインするまでをルールとしておけばよかったのかも。
こんなんレビューできるか〜〜
スピードを求めた結果できあがったマージリクエストの例がこちらです。
Authorによる初期コメント数:6
Authorによる初期コメント数:1
Authorによる初期コメント数:0
Authorによる初期コメント数:6
まだまだあるよ😇
スピードを求められるレビュアーのプレッシャー:9999
バグを埋め込んでいないかという不安:9999
コードレビューは単にコードを読むだけの行為ではなく、実装の意図を確認し合うための相互コミュニケーションだと思います。コードやマージリクエストに適切にコメントを残しておくことは、レビュアーの理解を助けレビュースピードを上げることにもつながりますし、将来その実装を振り返るときのドキュメントとしての質も上がります。
嗚呼〜
嗚呼〜アジャイルを怠惰の言い訳に使うな高校〜
終わりに
これを同僚に見られたら私は消されるかもしれないのでこの辺で終わりま

株式会社ウェイブのエンジニアによるテックブログです。 弊社では、電子コミック、アニメ配信などのエンタメコンテンツを自社開発で運営しております! wwwave.jp/service/
Discussion
泣ける