バグらしきものを発見した時、

A;「あ。。。。(誰?)」
B;「あ。。。。(誰?)」
C;「あ。。。。(誰?)」

みたいな会話を最近した。
また、自分が担当した分の実装の振る舞いについて説明を求められたときに、すこし防衛的に話す自分を感じた。この会話に、強い違和感を。


なんでだろうなと、考えていたら、次のこと思い出した。


前の前の。。。プロジェクトのときは、ペアプログラミングかつペア交代を頻繁に繰り返して、コードの共同所有とかリファクタリングががしがし行われていた。

この時は、私個人は、コンテキストスイッチが大きく、戸惑いがあった。

その代わりに、特定の個人というよりもチームで1つの機能をつくり込んでいく感覚が強かったんだということを今日、改めて思った。


関連して色々つながった。

もし、Whole Team, 顧客テスト,TDD, ペアプロ, リファクタリング, 共同所有 etcに積極的に採用しているなら、問題を発見した時の反応は、「あ。。。(Who?)」ではなく「あ。。。(Why?)」であるはず。
バグをしのびこませたシステム系の根本原因そのものに手を加えるようになるのが理想系。


受け入れテストのケース検討の仕方がまずかったのかとか、過小見積り→オーバコミットでテストに力が入れられなかったとか、ホワイトボードモデリングセッションの不在とか、テスター視点の仕様レビューの不在とか、TDD不在でテストしやすい設計が導けてないとか、可読性、メンテナンス性が低く技術的負債を抱えすぎているとか、顧客の積極参加をもっと促す仕組みが欠落しているとか、レビューorペアプロが全く行われていないとか、テスト、構成管理、オートメーションの不在とか、CIがないとか、その他もろもろ。


デミングをちと思い出した。