クラウドインテグレーションを中心としたSI事業を手掛けるクリエーションラインでは、アジャイル型開発に適応できるエンジニアの育成に力を注いでいる。その取り組みについて聞いた。
変化の激しいビジネス環境に対応するため、ウオーターフォール型開発のみならず、アジャイル型開発にも対応を進めるSIerが増えつつある。開発期間が長期にわたるウオーターフォール型に比べて、アジャイル型開発ではビジネス部門や発注者とともに、動く成果物を短いスパンで確認しながら開発を進めるので、市場環境や顧客ニーズの変化にも柔軟かつ迅速に対応できるのが大きなメリットだ。一方で、ウオーターフォール型の開発を長年続けてきたSIerにとって、アジャイル型開発に対応するのはそう簡単ではないのも事実。アジャイル型開発を導入したものの、うまく実践できず、そのメリットを享受できていないSIerも少なくない。
こうした市場背景の中で、クラウドインテグレーションを中心としたSI事業を手掛けるクリエーションラインでは、アジャイル型開発に適応できるエンジニアの育成に力を注いでいる。その取り組みの1つとして、現在、あるユーザー企業が立ち上げたアジャイル型開発プロジェクトのスクラムチームに、同社のエンジニアが参加し、実践を通じてアジャイル型開発のノウハウを蓄積しているという。
そのユーザー企業では従来、社内には開発リソースを持たずアプリケーション開発は全て外部のSIerに発注していた。だが、急激に変化する市場の中で、顧客ニーズを素早く捉え、ビジネススピードをさらに上げていくためには、自社内にアジャイル型の開発体制を整備することが必要不可欠と判断。アジャイル型の開発プロジェクトの導入に着手した。
ただ、素早くアジャイル開発型プロジェクトをスタートさせるためには、社内のエンジニアだけではなく、成功体験を持つSIパートナーを厳選し、協力してスクラムチームを編成することが不可欠と考えた。クリエーションラインは、そのSIパートナーの1社として選ばれたわけだ。
クリエーションラインのエンジニア 野澤太美氏はスクラムチームの一員として、クラウドサービスの開発に参加している。野澤氏はどのようなアジャイル型の開発プロジェクトに参加しているのだろうか。まず、スクラムチームの状況について野澤氏は次のように説明する。
「スクラムチームは、フロントエンド開発のJavaScriptエンジニアが5人、バックエンド開発のJavaエンジニアが5人の計10人で、お客さまと当社を含めたSIパートナー各社のエンジニアで編成されている。また、お客さまからプロダクトオーナー1人とスクラムマスター1人がチームに関わっている。プロダクトオーナーは、主に外部の関係部署やステークホルダーとの折衝を担当し、プロジェクト全体のかじ取りを行う。スクラムマスターは、プロダクトオーナーとスクラムチームの折衝やタスクの調整などを行い、スクラム開発の円滑な進行を担っている」(野澤氏)
このスクラム開発を支えるプロジェクト管理ツールとして活用されているのが、アトラシアンが提供する「JIRA Software」だという。スプリントは1週間単位で行われており、初日にプランニングを実施。チームとして開発する内容を確認するとともに、スクラムマスターと各エンジニアが相談して、JIRA Softwareに登録されたバックログからスプリント内で対応するタスクを振り分けていく。スプリントの途中には、プロダクトバックログリファインメントを2回行い、進捗(しんちょく)状況や作業見通しの確認、および状況に応じたタスクの優先度や粒度の見直しを行う。最終日には、プロダクトオーナーが成果物を確認し、スプリントでの課題や改善点を洗い出す。この1週間のスプリントサイクルを繰り返し回していく。
これを実現する上で、ポイントになるのが、進行中のタスクの状況を正確に把握すること、すなわち「全ての情報を実績ベースで管理すること」だと野沢氏は述べる。
「JIRA Softwareは、進行中のタスク全ての情報を実績ベースで登録するため、作業時間を正確に見積もることができる。また、API設計などのサブタスクをテンプレート登録することで、スプリントのたびに新たにサブタスクを作成することなく、複数のサブタスクを容易に展開できる。私は今回のプロジェクトが初めてのアジャイル型開発となるが、開発の計画から追跡、リリース、レポートまで、エンジニアの成果物を基に実績ベースで管理することは、スピードと柔軟性、正確性が求められるアジャイル開発の大きなポイントだと感じている」(野澤氏)
またこのプロジェクトでは、エンジニア自ら手を上げて、担当したいタスクをスクラムマスターに申請することもできる。各エンジニアが得意分野のタスクを手掛けることで、効率的にスプリントを回すことが可能になる。これを実施する上では、「誰が、どのチケットを担当しているのか」「各チケットのステータスがどこまで進んでいるのか」といった進捗状況を誰もが把握できることが望ましいが、これにはJIRA Softwareのカンバンボードが役立っているという。
一方で、「タスク一覧の画面から、チームメンバー全員のタスク進捗状況も確認できるようになると、もっと便利になる。例えば、タスクの作業が遅れているメンバーがいることが事前に分かれば、エンジニア同士で素早くフォロー対応することも可能になる」と、現場のエンジニアの目線からJIRA Softwareへの要望も述べる。
野澤氏は、アジャイル型開発プロジェクトに携わったことで、ウオーターフォール型開発との違いを実感できたという。
「ウオーターフォール型開発では、一度仕様が固まると、その仕様が良くても悪くても、最後まで開発しなければならない絶望感があった。これに対して、アジャイル型開発では、短期間のサイクルで開発を回しているので、ステークホルダーからの要望や市場ニーズの変化に応じて、素早く軌道修正を行える。アジャイル型開発は変化の激しい市況環境にも適応できる柔軟性の高い開発手法だ」(野澤氏)
このように、野澤氏がアジャイル型開発プロジェクトに参加している一方で、クリエーションラインとしては、ウオーターフォール型開発をベースにしながらアジャイル型開発に取り組むプロジェクトも手掛けているという。
クリエーションラインで開発チームリーダーを担当する平昇治氏は、「お客さまから望まれることが多いため、当社ではウオーターフォール型での開発が多くアジャイル型開発に完全に軸足を移してはいない。しかし、今後アジャイル型開発のニーズが高まったときのために、それにも対応できるエンジニアを育てておく必要がある」と述べる。
そもそも、ウオーターフォール型とアジャイル型は、開発プロジェクトの特性に応じて適切に選択することが重要になる。例えば、ビジネスゴールが変動する可能性があり、難易度の高い先進技術を使う開発プロジェクトには、アジャイル型開発が適している。しかし、ビジネスゴールが明確に決まっていて、難易度の低い成熟した技術を使う開発プロジェクトであれば、ウオーターフォール型の方が向いているという。
また、アジャイル型開発では、発注側もプロダクトオーナーとして開発プロジェクトに深く関わることになり、発注側にとっての責任やコスト負担も大きくなる。さらに、関係部署との調整も複雑になるなど、ウオーターフォール型開発とはまた違った課題が浮かび上がってくる。
そこで平氏は、「クリエーションラインのエンジニアに、ウオーターフォール型開発のプロジェクトにおいてもアジャイル型開発の思考を持たせよう」という育成の狙いから、ウオーターフォール型の中にアジャイルの考えを取り入れ、いわゆる“ハイブリッド型”にプロジェクトマネジメントを進めている案件も手掛けている。スケジュールに内部的なバッファを作っておくことで、全体的にはウオーターフォール型開発のプロセスを踏襲しつつ、ユーザーにより良いビジネス価値を提供するために必要となった部分に限り発注側と話し合い、ある程度の仕様変更に対応できるようにしているという。
「これからの時代は、言われたまま開発するだけではなく、自分の考えを持って、時には改善提案できる自律型のエンジニアが求められてくる。“ハイブリッド型”のプロジェクトマネジメントを通じて、そうしたエンジニアを社内に増やしていきたい」(平氏)
平氏は、自律型エンジニアを育てていくことも、スクラムマスターの役割の1つと考えており、チームメンバーに自身のスクラムマスターとしての仕事内容を伝えながら、状況に応じて見積もり作業をしてもらったり、仕様を考えてもらったりするなど、実践の中で各エンジニアのレベルアップを促していくティーチングを心掛けているという。
「アジャイル型開発を真の意味で成功させるためには、エンジニアの技術力よりも“HRT(Humility:謙遜、Respect:尊敬、Trust:信頼)”が重要になると考えている。エンジニア一人一人が、“HRT”の人間性を持ってスクラムチームの中で実力を発揮できれば、アジャイル型開発の成功確率はかなり高まるはずだ」と平氏は、アジャイル型開発プロジェクトを円滑に進めるためには、エンジニアの人間性を育てることも重要であると訴えた。
このように、今回はクリエーションラインにおける開発事例から、今後のシステム開発やプロジェクトマネジメントに求められる要件を探ってきたが、いかがだっただろうか。発注側の関係部署を調整し仕様をスピーディーに決定/確認するプロダクトオーナー、全体的なファシリテーションを行うスクラムマスターの存在はもちろんだが、より良いシステムを開発するために自律的に考えられるエンジニアの重要性が高まりつつある。ウオーターフォールとアジャイルの違いを意識し、柔軟に対応できる自律型エンジニアを育てられるか否かで今後の開発会社の価値は決まっていくのかもしれない。
およそ全てのビジネスをITが支えている今、「ビジネス展開にリニアに連動した開発・運用」を実現できるか否かが、「差別化」のカギを握っていると言ってもいいだろう。だが、「ビジネスと開発・運用が連動する」と言葉で言うのは簡単だが、現実はそれほど単純ではない。差別化のためにはスピーディな開発・リリースが大前提。しかしニーズにかなったものでなければ意味がない以上、要件変更にも柔軟に対応できることが求められる。
このためには関係者間の密接かつ正確なコミュニケーションが不可欠だが、立場や観点、使っている言葉の違いなどからすれ違いが生じ、プロジェクトはいつしか足並みが狂い始めるの通例だ。では一体どうすれば、「差別化」に役立つシステムをスピーディかつ柔軟に作れるのだろうか?――プラクティスやツールの効用を生かし切る、「アジャイル時代のプロジェクト管理」の要件を今明らかにする。
Copyright © ITmedia, Inc. All Rights Reserved.