変化に強いシステムを実現するため、アジャイル開発が注目されている。これまでも浮き沈みを繰り返してきたアジャイル開発だが、今度こそ普及の兆しが見えてきた。一部のプラクティスを活用するのがポイントだ。システム開発の新常識を事例から明らかにする。

 システム開発の際には、ウォーターフォールで開発すれば良いのか、またはアジャイルで開発すれば良いのか判断しなければならない。それぞれの開発手法によって向き不向きがあるからだ。ウォーターフォールが向いているのに無理にアジャイルで開発してもうまくいかないし、逆もまたしかりだ。

 それでは、アジャイルで開発すべきシステムはどのようなものが当てはまるのだろうか。その目安となるのが、SoE(Systems of Engagement)とSoR(Systems of Record)の考え方だ。顧客接点を担うSoEシステムは、試行錯誤を重ねながらサービスを改善するので、アジャイルが向く。一方、従来型のSoRシステムでは、アジャイルの出番は少ない。

 アルバイトの求人情報サイト「タウンワーク」を構築・運用しているリクルートジョブズの事例から、アジャイルで開発すべきシステムを判断する基準や体制を探ろう。

全ての案件をスクラムで開発

 現在、リクルートジョブズでは、開発案件によってウォーターフォールで開発するか、またはアジャイルで開発するかを選択している。WebサイトのUI変更や使い勝手の改善などは、日々作ってリリースを繰り返すアジャイル開発、納期が決まっている案件はバーンダウンチャートなどを用いて、ウォーターフォールで開発といった具合だ。

 しかし、最初からうまく仕分けられたわけではない。約2年間の試行錯誤を経てルール作りを徹底した。

 「3年ほど前は、案件すべてをアジャイルの開発手法であるスクラムで構築していた」。こう話すのは、リクルートジョブズ 商品本部 プロダクト開発室 ITマネジメント部エンジニアリンググループの黒田樹グループマネジャーだ。

 スクラム開発では、メンバーを固定して開発チームを作り、スプリントの計画や実践、振り返りといった通常イベントをこなし、少しずつシステム開発を進める。

 しかし、すべてをスクラムで開発していた当時は「納期を守りづらいことがあった」(黒田グループマネジャー)という。一般にアジャイル開発は、スコープの調整により、必要最低限の機能を納期に合わせてリリースできる。ところが、スクラムに精通していないエンジニアが参画していたり、スキルレベルにばらつきがあったりすると、うまく進まないケースも多い。社内でも「やはりウォーターフォールは必要」という意見が多くなっていった。

 すべてをスクラムに切り替えてから1年ほどがたち、SoE/SoRという言葉をよく耳にするようになる。SoEは企業と顧客をつなげるシステムの領域。新しいアイデアをすぐ形にすることが求められる。一方のSoRは、バックオフィスの業務を支援するERPやCRM(顧客関係管理)といった基幹系システムである。

 リクルートジョブズでは、SoE専門チームとSoR専門チームを組織し、別個にプロジェクトを走らせるようにした。高い品質が求められ、納期が決まっているプロジェクトでは、WBS(Work Breakdown Structure)を使いウォーターフォールで開発するように変えた。

リクルートジョブズではSoEチームとSoRチームを分けている
リクルートジョブズではSoEチームとSoRチームを分けている
[画像のクリックで拡大表示]

この先は日経クロステック Active会員の登録が必要です

日経クロステック Activeは、IT/製造/建設各分野にかかわる企業向け製品・サービスについて、選択や導入を支援する情報サイトです。製品・サービス情報、導入事例などのコンテンツを多数掲載しています。初めてご覧になる際には、会員登録(無料)をお願いいたします。