特集
» 2019年07月10日 05時00分 公開

「新規開発あるある」にどう立ち向かうか:「納期だけは決まっているので、よろしく!」の解決策「クリーンアーキテクチャ」とは? (1/5)

「APIはできていないし、データベースは構築どころか製品選定も済んでいないけど、納期だけは決まっているので、よろしく!」――。限られたスケジュールの中でいかに試行錯誤できるようにするか。その鍵は「クリーンアーキテクチャ」にあることを、GMOインターネットの成瀬氏が説明した。

[斎藤公二,@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 2019年5月18日に都内で開催されたJavaコミュニティーイベント「JJUG CCC 2019 Spring」で、クリーンアーキテクチャを適用し「先行開発」をしているGMOインターネットの事例が紹介された。GMOインターネットでデベロッパーリレーションズチームに所属するデベロッパーエバンジェリストの成瀬允宣氏が行った講演「先行開発!Javaでクリーンアーキテクチャ――ゼロから始める新規開発」の内容をダイジェストでお届けする。

 成瀬氏は、GMOインターネットにおける新規プロジェクトにクリーンアーキテクチャを適用してアーキテクチャのメリットを確認。セッションでは、クリーンアーキテクチャの概要、考え方を説明。GMOインターネットでの取り組みについて、MVC(Model、View、Controller)フレームワークの「Play Framework」に組み込んだサンプルを用いながら、クリーンアーキテクチャの実装例、実装の課題と解決策を紹介した。

「APIもデータベースもない。決まっているのは納期だけ」という状況にどう立ち向かうか

 「APIはできていないし、データベースは構築どころか製品選定も済んでいないけど、納期だけは決まっているので、よろしく!」――。新規開発ではこうしたことが非常によく起こる。APIやデータベースが用意できてからフロントエンド開発に入るのが理想でも、現実はフロントエンド開発が先行してAPIは後で開発するケースが多い。

 また、デザイナーから「こんな感じでお願い」と完成画面のイメージを渡されて、エンジニアがその通り作っても「イメージと違う、やっぱりこっちで」と途中で依頼が変わることもよく起こる。デザイナーが悪いわけではなく、想像だけで最終形にたどり着くのは難しいということだ。

開発スケジュールの理想(左)と現実(右)

 成瀬氏はクリーンアーキテクチャ採用のいきさつについて「先述した理想を実現したり、依頼の変更を少なくさせたりするために、早い段階から試行錯誤できる新規開発を行うにはどうすればよいか。新規開発プロジェクトのスケジュールに影響を及ぼさず、フロントエンド開発を先行させて開発するすべはないか。その解決策を探している中で『これだ!』となったのがクリーンアーキテクチャだった」と振り返った。

クリーンアーキテクチャとは?

 クリーンアーキテクチャは、Robert C. Martin氏が2012年に同氏のブログで提唱したアーキテクチャだ。

クリーンアーキテクチャ クリーンアーキテクチャ
       1|2|3|4|5 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。