エキスパートエンジニア
マネージャ
KDDI様の今後のサービス拡大に対応するために、拡張性と柔軟性を備えたサービス基盤を構築。アジャイル開発手法を組織的に導入し、先進的な技術への対応と開発プロセスの変革に取り組み続けているプロジェクトメンバーの二人に話を伺った。
KDDI様の法人向けのクラウドサービスを展開するための基盤システムの構築に携わりました。まずはクラウドビジネスを展開するにあたって必要となる「利用者ID」を管理する基盤をつくるプロジェクトで、その後は連携するサービスの開発まで手がけました。現在も色々とプロジェクトの範囲が拡がってきていて、KDDI様の法人ビジネスの規模を拡大させることを目的として、システム開発を進めている状況です。
プロジェクトの中でいくつかチームに分かれていて、インフラも含めるとプロジェクトの関係者は全体で100人は超えますね。
立ち上げの時は20人程度から始まったのですが、3年経ってここまでの規模になりました。
私はプロジェクトの立ち上げ時期から参加していて、アジャイル開発でお客様先と協働でプロジェクトを進めることをミッションとして、プロジェクトを進めていく上でのアーキテクチャ設計の支援、テストやデプロイの自動化における技術的な支援を行いました。
私はプロジェクトの途中から入っていて、最初は「ウェブフロントの品質の向上」と「テストCIの導入」に取り組みました。その後はフロント側のテクノロジーリーダー的な立ち位置で、技術周りの統括とレビューをする役割を担当しています。技術的な支援以外に、サービスを開発する上で重要なプランニング、デベロップメント、モニタリングといった3つの仕組みをスムーズに回すための補助的な立ち位置で仕事をしています。
そうですね。例えばプロダクトディスカバリーのフェーズでは、ペルソナと呼ばれる仮想顧客をつくって顧客の行動を想定し、どういう機能を実装することで売上が上がるかを検討します。これによって機能とビジネス成果を関連付けながら、実装の優先順位を判断することができるようになります。その後、機能をリリースしたあとは実際の利用状況をモニタリングし、KPI・KTPを見ながら想定通りになったかどうかを見極めて、次のディスカバリーを行っていきます。こうした一連の流れを技術的なリーダーとして回しています。
技術というのはアプリケーションを実装することだけに必要なわけじゃなくて、プランニングするにも、モニタリングするにも必要です。わかりやすい例では、成果を評価するのに必要なログをどうやって早く、確実に取得するか、といった課題です。実装だけじゃなく、その前後をちゃんとやることによってより価値のあるものを提供していこうと動いているので、サービスを提供する側の視点に近いです。
プロジェクトに関わって数年になりますが、色々なことにチャレンジする中で、自分の個性を認めてもらい、アイデアやスキルが必要とされているのが嬉しいですね。プロジェクトの中では様々な役割や関わり合いを経験できているのが面白いです。あとは、お客様先のチームと一緒にプロジェクトを進めているので、サービスをつくっている方たちとのコミュニケーションはしやすいのも良いところだと思います。
このチームではお客様用の説明資料は不要ですね。
例えば、アイデアが出た時やプロトタイプができた時は、ノートパソコンを開いて実際に見ていただきながら、方向性が合っているかどうかを確認しています。だからとても進めやすいです。チームでワイワイ取り組んでいるので、外から見たらお客様とSIerとのやり取りには見えないと思いますね。
お客様も「いままでの開発プロセスを変えて、もっといいサービスをつくっていきたい」という想いを持っています。だから、こちらが「こういうことをやってみたい」と伝えたら、お客様も「やりましょう」とはっきり応えてくださいますし、むしろ、積極的に提案をすることを期待されているなと感じます。
お客様も新しい技術の導入に積極的なので、プロジェクトの中に段階的に取り入れています。最初は開発チームだけでアジャイルをやっていたのが、いまは企画の方や営業の方、上席の方も巻き込んだ形で進められているので、自分のアイデアを出していく機会は増えたと感じています。
アジャイル開発によってシステム開発のスピードがどんどん上がりましたが、そのスピード感にインフラやテストなどの後工程が追いついていない部分があります。そのため実装からリリースまでに待ちの期間があるので、どうにか改善したいです。技術的な要素で言うと、BDD(振る舞い駆動開発)やInfrastructure as Codeなどを推進して、開発チームとインフラチームの足並みを揃えていければいいなと考えています。
それとは別に、私自身としては「ビジネス目標の達成」と「技術的なチャレンジ」を、どう両立させるかが課題です。いまの私は運用側の立場なので、一度サービスインしたシステムは安定運用が第一です。そのため、新しい試みにチャレンジしにくい面があります。ただ、だからといって新しいことをしないとチーム全体が衰退していくことになるので、バランスしながらやっていく方法を見つけていきたいと思います。