FiNCが語る「開発者体験」(DX)の重要性――DXが悪いと生産性ガタ落ち?:FiNCのマイクロサービス開発事例
システムを気持ち良く開発、保守するための「開発者体験」(DX:Developer Experience)に注目が集まっている。なぜ開発者体験が重要なのか。ヘルスケア/ダイエットアプリ「FiNC」をマイクロサービスで開発するFiNC Technologiesの鈴木健二氏が語った。
開発者の間でひそかに注目が集まっている「開発者体験」(DX:Developer Experience)をご存じだろうか。開発者体験はこれからのシステム開発、特にマイクロサービスを用いた開発を続けていく上で考えなければならない要素になると、FiNC Technologiesの鈴木健二氏は語る。そもそも、開発者体験とは何か。これからますます重要になる理由とは? 2019年7月に開催された「Cloud Native Days Tokyo 2019」で鈴木氏が講演した内容を要約してお伝えする。
「開発者体験」(Developer Experience)とは
開発者体験はひと言でいうと、システムを気持ち良く開発したり保守したりするための考え方だ。鈴木氏は気持ちが良い開発(保守)環境の例として以下を取り上げる。
- システム全体の見通しが良い
- 最新のドキュメントがそろっている
- コードの品質が良い
- 技術的負債が少ない、または適切に管理されている
- テストやデプロイを高速に行うことができる
- ライブラリやフレームワークのバージョンが正しく管理されている
「これらの要素を実現できている開発では余裕が生まれ、非機能要件に手を加えられるようになる。例えば、リファクタリングやリアーキテクトなどを検討したり、緊急ではないが重要なことに目を向けたりできる。これを繰り返すことで正のスパイラルが生まれ、開発を気持ち良くするための活動に時間を割ける」
鈴木氏は、割れた窓を放置しているとそれが当たり前になり、いずれ他の窓も割られてしまうという「割れ窓理論」を取り上げ、「システム開発の開発者体験を良くするにはシステム開発に関わる傍ら、開発者体験が良い状態を維持する活動が大切だ」と述べる。
マイクロサービスにおける開発者体験を考えたときに起きる問題
ヘルスケア/ダイエットアプリ「FiNC」では、機能の役割ごとにシステムを分割して開発するマイクロサービスを取り入れ、新機能の高速リリースを実現させてきた。だが、システム全体が大規模化するにつれて、違和感を持ち始めたという。それは「開発者体験は開発者だけが対象でいいのか?」ということだ。
「マイクロサービスでシステムを開発する場合の登場人物には、機能開発(Dev)、品質保証(QA《Test》)、リリース(Release)、メンテナンス(DevOps)、セキュリティ(Sec)がいる。つまり、マイクロサービスを用いた開発における開発者体験を考える場合には、開発者体験を拡張して考える必要がある」
鈴木氏は、マイクロサービスにおける開発者体験を「DevTestSecOps Experience」として拡張して考えた際に問題になることを取り上げた。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 「マイクロサービスに出遅れた」ところは、先人から何を学べるか
これまでマイクロサービスアーキテクチャに取り組んだ組織の多くは、試行錯誤を重ねて、自らの組織における最適解を見いだしている。いま、マイクロサービスを考える人たちは、先人から何を学べばいいのだろうか。 - クラウドも人の子。止まることが前提――ZOZOTOWNが開設15年目に歩み出したクラウドネイティブへの旅路
多数の事例取材から企業ごとのクラウド移行プロジェクトの特色、移行の普遍的なポイントを抽出する本特集「百花繚乱。令和のクラウド移行」。ZOZOTOWNの事例では、マイクロサービス化とマルチクラウド化のポイントを、クラウドベンダーからの提案とともにお届けする。 - 何が違う? 何が必要? マイクロサービス/サーバレス時代のセキュリティ
従来のモノリシックなアーキテクチャに代わって着目されている「マイクロサービス」や「サーバレス」。これらの新しいアーキテクチャについて、セキュリティの観点からどのようなことに留意すべきなのだろうか。