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

FiNCのマイクロサービス開発事例:FiNCが語る「開発者体験」(DX)の重要性――DXが悪いと生産性ガタ落ち?

システムを気持ち良く開発、保守するための「開発者体験」(DX:Developer Experience)に注目が集まっている。なぜ開発者体験が重要なのか。ヘルスケア/ダイエットアプリ「FiNC」をマイクロサービスで開発するFiNC Technologiesの鈴木健二氏が語った。

[石川俊明,@IT]

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

 開発者の間でひそかに注目が集まっている「開発者体験」(DX:Developer Experience)をご存じだろうか。開発者体験はこれからのシステム開発、特にマイクロサービスを用いた開発を続けていく上で考えなければならない要素になると、FiNC Technologiesの鈴木健二氏は語る。そもそも、開発者体験とは何か。これからますます重要になる理由とは? 2019年7月に開催された「Cloud Native Days Tokyo 2019」で鈴木氏が講演した内容を要約してお伝えする。

「開発者体験」(Developer Experience)とは

 開発者体験はひと言でいうと、システムを気持ち良く開発したり保守したりするための考え方だ。鈴木氏は気持ちが良い開発(保守)環境の例として以下を取り上げる。

  • システム全体の見通しが良い
  • 最新のドキュメントがそろっている
  • コードの品質が良い
  • 技術的負債が少ない、または適切に管理されている
  • テストやデプロイを高速に行うことができる
  • ライブラリやフレームワークのバージョンが正しく管理されている
FiNC Technologies 開発本部 技術開発部 SREグループ マネージャー兼技術推進グループ マネージャー兼シニアテクニカルリードマネージャー 鈴木健二氏 FiNC Technologies 開発本部 技術開発部 SREグループ マネージャー兼技術推進グループ マネージャー兼シニアテクニカルリードマネージャー 鈴木健二氏

 「これらの要素を実現できている開発では余裕が生まれ、非機能要件に手を加えられるようになる。例えば、リファクタリングやリアーキテクトなどを検討したり、緊急ではないが重要なことに目を向けたりできる。これを繰り返すことで正のスパイラルが生まれ、開発を気持ち良くするための活動に時間を割ける」

 鈴木氏は、割れた窓を放置しているとそれが当たり前になり、いずれ他の窓も割られてしまうという「割れ窓理論」を取り上げ、「システム開発の開発者体験を良くするにはシステム開発に関わる傍ら、開発者体験が良い状態を維持する活動が大切だ」と述べる。

マイクロサービスにおける開発者体験を考えたときに起きる問題

 ヘルスケア/ダイエットアプリ「FiNC」では、機能の役割ごとにシステムを分割して開発するマイクロサービスを取り入れ、新機能の高速リリースを実現させてきた。だが、システム全体が大規模化するにつれて、違和感を持ち始めたという。それは「開発者体験は開発者だけが対象でいいのか?」ということだ。

マイクロサービスを用いて新機能を高速にリリースしてきた マイクロサービスを用いて新機能を高速にリリースしてきた

 「マイクロサービスでシステムを開発する場合の登場人物には、機能開発(Dev)、品質保証(QA《Test》)、リリース(Release)、メンテナンス(DevOps)、セキュリティ(Sec)がいる。つまり、マイクロサービスを用いた開発における開発者体験を考える場合には、開発者体験を拡張して考える必要がある」

システム開発における登場人物 システム開発における登場人物

 鈴木氏は、マイクロサービスにおける開発者体験を「DevTestSecOps Experience」として拡張して考えた際に問題になることを取り上げた。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

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

メールマガジン登録

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