社会人の教養

日本のアジャイル開発が失敗する6つの理由|軽く詰んでます

「アジャイル開発」という言葉は、よく聞きますが実際に運用がうまくいっているケースは、あまり聞こえてきませんよね。

海外のインターネット企業はほとんどアジャイル開発に移行しているのに、なぜ日本でアジャイルが普及しないのでしょうか?

日本ビジネスの商習慣に関係したアジャイルが失敗する6つの理由を紐解いていきたいと思います。

日本のアジャイル開発が失敗する6つの理由

日本でアジャイル開発を推進するのが難しい理由として、次の6つが挙げられます。

このままの状況が変わらなければ、アジャイル文化は根付かず、日本のソフトウェア産業は海外にドンドン差をつけられてしまうでしょう。

  1. 経営層が不確実性に向き合っていない
  2. 要件定義をいい加減にしていいという誤解
  3. UI/UXデザイナーがいない
  4. ビジネスメンバーとエンジニアの隔絶
  5. かりそめの顧客主義
  6. SI文化

それぞれの理由を見ていきましょう。

①経営層が不確実性に向き合っていない

日本の会社でシステム開発しようとすると、稟議を取って進めることになることが多いと思います。そのときに、稟議には、「納期・コスト・投資対効果(売上増、またはコスト削減)」を盛り込むことになります。

承認者の「いつまでに終わるんだ?」「結局いくら儲かるんだ?」という質問に明快に答えない限り、前に進めてもらえないのが通常の日本企業です。

アジャイルな考え方

昨今のビジネス環境においては、事前に全ての仕様を、ビジネスに最適な形で定義するのは難しいと言えます。そうであるとしたら、全ての仕様を事前に定義するウォーターフォール型は、手戻りのリスクや、ビジネスに削ぐわないものができてしまうリスクがあります。

アジャイルは、事前に全てを決めずに進める代わりに、途中の仕様変更にも耐え、小さなリリースを通してリスクを軽減できます。最初に納期は見えなくても、結果的には、アジャイル方式の方がビジネスの目標を達成するには早いと言えます。

しかしながら、全てを事前に明らかにしなければ前に進まない日本企業の官僚主義では、アジャイルを推進するのは難しいでしょう。

②要件定義をいい加減にしていいという誤解

アジャイルは、仕様書にこだわらず、とりあえず手をつけられるところから開発に着手するイメージがあります。

その結果、きちんと議論ができていない状態なので、曖昧な仕様のまま開発を進めることになってしまいます。

この煽りの受けるのは、エンジニアです。エンジニアは道しるべのない状態で、片手間に機能を定義しなければならず、これでは当然いいシステムは出来ません。

アジャイルな考え方

アジャイルは、仕様定義を事前に全て用意しないだけで、必要なタイミングで必要な定義をすることになります。順番が違うだけで、仕様の定義を疎かにしたまま開発するという考え方は誤解です。

③UI/UXデザイナーがいない

日本では、一般企業にUI/UXデザイナーが在籍していることは稀です。

UI/UXデザイナーが不在の状況では、プロダクトオーナーか、エンジニアが片手間にデザインすることになります。本来、プロダクトオーナーとエンジニアには、UI/UXを考えるような余裕はないので、必然的にいい加減なUI/UXになります。

アジャイルな考え方

「Contents is King. UX is Queen.」という言葉があります。そのシステムの肝となるコンテンツが重要なのは言うまでもありませんが、これをユーザーに使いやすくするUXも、コンテンツに並び立つくらい大事だという意味です。

UXデザインは、ビジネスの成否にかなり影響を与えるため、きちんとビジネスの文脈を理解した人が対応する必要があります。つまり、UXデザインは、外注ではなく内製で行うべきということです。

必ずしもアジャイルに限った話ではないのですが、UI/UXがそんなに甘いものじゃないという事実を全員が理解する必要があります。

④ビジネスメンバーとエンジニアの隔絶

ビジネスメンバーは、技術の知識がないので、開発は自分の範疇じゃないと思っています。同様に、エンジニアは下請け根性が強く、ビジネスにも疎いので、ビジネスの検討から距離を取ろうとします。

ビジネスメンバーとエンジニアは、お互いにもっと歩み寄る必要があります。

ビジネスメンバーは、現実的に実装できるアイデアを出さなければならないため、検討している機能がどの程度の開発難易度かをイメージできなければなりません。

エンジニアは、ビジネスの意図を汲み取り、最適な実装方法の意見を出さなければなりません。仕様が来るのを口を開けて待っていてはいけません。

アジャイルな考え方

本来は、ビジネスの検討段階から、エンジニアは参加すべきです。

ビジネスメンバーはできないと思っていたり、思いもつかなかった機能を、エンジニアは思いつけるかもしれません。

また、事前にビジネスのイメージを持つことにより、開発に入ってからの工数予測がより正確になる効果もあります。

⑤かりそめの顧客主義

「当社は、お客様の声を聞いて、商品開発に役立てています」という言葉をよく聞きます。きっと嘘ではないでしょう。

でも、それって、カスタマーセンターに来たクレームを拾って意見を取り入れていますとか、そういうレベルが多いのではないでしょうか。

日本企業は製品を作るときに、顧客と一緒に作っていくという思想が希薄です。定量調査の結果だけを重視し、現に顧客となるユーザーの生の声を軽視しているのです。これでは、企業の独りよがりの製品になってしまい、良いものはできません。

アジャイルな考え方

アジャイルでは、小規模なリリースを通して、常にユーザーの意見を取り入れて、より良いものに調整していくという思想です。

そのために、プロダクトオーナーは、ユーザーが何を真に求めているのかを雄弁に語れるくらいユーザーを知り尽くさねばなりません。定量調査による、決まった質問に対する選択肢間の優劣だけでは決して見えてこない、ユーザーの心の有り様まで理解しなければならないのです。

企業は、もっとユーザーと話す機会を持つべきです。調査会社に任せるのではなく、プロダクトオーナーが直接ユーザーと会話する機会が必要です。

⑥SI文化

SIとはシステムインテグレーションのことです。SIを商いとしている会社はSIer(エスアイヤー)と呼ばれ、最大手はNTTデータです。

実は、このSI文化は、グローバルではあまり一般的でなく、日本で盛んなビジネスモデルです。多くの日本企業は、自社内にコードが書ける人材はおらず、SIerにシステム開発を委託しています。

必然的に、ビジネスを検討する人間と開発する人間が別組織となり、別のオフィスに勤務することになるので、物理的な距離ができます。

ウォーターフォール型の場合は、工程ごとにキチッと仕様を固めてから次に進むため、毎日レベルで顔をあわせる必要はありませんが、アジャイルはそうは行きません。

アジャイルな考え方

アジャイルでは、その都度その都度で仕様を検討し、開発に回すことになるので、ビジネスメンバーとエンジニアはかなり密にコミュニケーションを取る必要があります。それこそ前の席に座っているくらいの距離です。

そのため、SI文化が隆盛だった日本でアジャイルを浸透させるためには、自社でコードを書けるエンジニアを雇う必要があり、組織構造を変えなければなりません。

また、ビジネスの検討段階からエンジニアを参加させることが大事と言いましたが、SIerにそこまで期待するのは無理な話でしょう。自社でエンジニアを抱えないと到底不可能です。

日本でアジャイルが広まるためには

いずれの理由も、日本の企業文化を変えなければならないため、アジャイルへの移行は口で言うよりはるかに難しいと思います。

まとめると、日本でアジャイルを成功させるためには、次の6つを実践する必要があるでしょう。

①必要な人員を社内で揃えること

ビジネスメンバー(プロダクトオーナー)、スクラムマスター(アジャイルにおけるPMのような役割)、コードが書けるエンジニア、UI/UXデザイナーを雇用しましょう。

②アジャイルというフレームワークを勉強すること

例えば、最も普及しているスクラムを使うのであれば、スクラムを関係者が学び、まずはバカ正直にその通りやりましょう。

③アジャイルを信じること

納期は見えずらいけど、それでもビジネスを最短で実現する開発方法はアジャイルだと信じて実践しましょう。

④失敗を許容する懐の深さを持つこと

慣れないことをすれば、最初はうまくいかないのが当たり前です。経営層はそれでも暖かく見守る度量を持ちましょう。

⑤エンジニアがビジネス検討から参加すること

エンジニア本人の意識改革も必要ですし、技術部門の管理職がその必要性を理解して、喜んでリソースを提供する体制を持ちましょう。

⑥顧客を巻き込むこと

新しいサービスを作るとき、パフォーマンスに伸び悩んでいるとき、ヒントをくれるのは顧客であるユーザーです。定期的にユーザーと会話して、ユーザーのためのサービスを開発しましょう。

総括

実際のところ、大企業でこれらをクリアしていくのは結構骨が折れます。

アジャイル開発をやりたい人は、アジャイルマインドを持った創業者がいるスタートアップに就職するのが1番の近道です。

スタートアップを中心に、もっと日本にアジャイルが広まって、もっともっといいサービスが出てくるようになるといいですね。

RELATED POST