アイリッジで開発グループのマネージャーをやっているすぎいです。
去る2019年9月21日に開催された「XP祭り2019」にて、「オフショアだから失敗したの?誤解だらけのオフショアとアジャイルの再発見」というタイトルでオフショア開発をテーマとしたパネルディスカッションに登壇しました。
本記事では、当日のパネルディスカッションの中では話せなかったこと、伝えたかったことを書きたいと思います。
タイトル「オフショアだから失敗したの?誤解だらけのオフショアとアジャイルの再発見」に込めた思い
今回パネルディスカッションを企画した4名が共通して感じていたことは世間一般での「オフショア開発」へのイメージの悪さでした。
- コミュニケーションがうまくいかない
- 仕様書通りにできず手戻りが多い
- バグが多い(品質が悪い)
こういったイメージの悪さからエンジニアリングや品質のレベルが低いという評価になっていることがあります。
ただ、これらは本当にオフショアだからでしょうか?
コミュニケーションはしっかりとってるのでしょうか? 遠隔地にいるからといっておろそかになっていないでしょうか?
仕様書の品質はどうでしょうか? 曖昧に記載されている箇所はないのでしょうか? その場合のフォローはできているのでしょうか?
手戻りに早めに気づけば大きな問題にはならないはずではないでしょうか? CI/CDで短いサイクルでのインテグレーションをしていないのでしょうか?
オフショアチームのエンジニアが悪いのでしょうか?本当はマネジメントやプロセスに問題があるのではないか?という思いを我々は持っていました。
XP本(2nd Edition)では「オフショア開発」の章(22章)があり、このような記載があります。
距離が離れていることで自然と孤立が生まれるため、より密度の高いフィードバックを受け入れる必要がある。五感を使ったフェイスツーフェイスのやりとりができないため、こまめにコミュニケーションをとらなければいけない。複雑すぎるところを発見する機会が少なくなるため、シンプリシティの実現に向けて熱心に取り組まなければいけない。勇気はどんな状況でも重要だ。文化やライフスタイルが違うため、分散チームの全員をリスペクトすることも重要である。
ちゃんとやればちゃんとできる。
なのにオフショアに良いイメージを持っていない人は遠いことを理由にやることをやらずに「品質が悪い」と感じてしまうのです。
フェアじゃない。アジャイルマニフェスト、XPに定義されている価値や原則、プラクティスを怠るなかれ。
こういった思いを表現したのがタイトル「オフショアだから失敗したの?誤解だらけのオフショアとアジャイルの再発見」であり、パネルディスカッションの内容なのでした。
リスペクト
登壇するにあたりXP本を何度も読み返しました。
XPの価値の1つに「リスペクト」があります。僕はこれがとても気に入っています。
角谷信太郎さんの基調講演「僕らはXPのかけら」でも触れていました。
リスペクトをそなえた人と人とのつながり。これがプログラマーの仕事の価値を極限まで高めるための秘訣だ。XPが示すのは、リスペクトする/されるのに必要な考え方と振る舞いの道だ。
個人でやるよりチームでやったほうが良い仕事ができる。そこにはリスペクトが絶対に必要なのだと思います。
ましてや話す言葉、文化やライフスタイルが違う人達とのチームではリスペクトなしには成立しないでしょう。
この「リスペクト」も今回我々が伝えたかったテーマの1つでした。
さいごに
個人的には久しぶりに人前で何かを伝える場でした。準備・当日のセッションを通して多くの学びを得ることができました。
学びの場に誘っていただいた砂田さん(@orinbou)、藤村さん(@aratafuji)、てらひでさん(@terahide27)に感謝の意を表します。ありがとうございました。
またXP祭りの実行委員の皆さま、とても良い場を提供いただきありがとうございました。