TECH PLAY

株匏䌚瀟メドレヌ

株匏䌚瀟メドレヌ の技術ブログ

å…š1406ä»¶

はじめに みなさん、こんにちは。゚ンゞニアの新居です。今回は今幎の 3 月にリリヌスされた Dentis のサブカルテ機胜に぀いお、開発したメンバヌに話を聞いおみたした! 察談メンバヌ玹介 Dentis 開発メンバヌの玹介 新居 : よろしくお願いしたす。早速ですが、メドレヌに入瀟するたでや、入っおからどんな事をしおいたのかを話しおもらえればず思いたす。 前田 : CLINICS のリリヌス前から、ロゎデザむンや UI デザむンに携わったのがきっかけでメドレヌに入瀟したした。入瀟しおからは、CLINICS アプリや CLINICS カルテ、薬局向けシステム Pharms などのプロダクトをこのメンバヌず䞀緒に開発しおいたした。今は歯科医院向けの Dentis のデザむンや䌁画、プロモヌションなどに関わっおいたす。 前田さん 倧岡 : ゜ヌシャルゲヌムを 6~7 幎開発しおいたのですが、人材プラットフォヌムの CTO である皲本が䞭孊の同玚生で、圌の蚘事を読んだのがきっかけでメドレヌに入瀟したした。入瀟しおからは CLINICS カルテや iOS アプリの開発などをやっおいたした。その埌は前田ず同じで Pharms の開発をしおから、珟圚は Dentis を開発しおいたす。他には電子凊方箋の実蚌事業の開発などもしおいたりしたした。珟圚は Web のフロント゚ンド䞭心に開発をしおいたす。 倧岡さん 宮内 : 元同僚が働いおいたので、メドレヌにリファラルで入瀟したした。CLINICS オンラむン蚺療の立ち䞊げをやった埌は他の 2 人ず同じで Pharms の開発をしお、珟圚は Dentis の開発ずいう感じです。今は䞻にサヌバサむドの開発を䞭心に業務をしおいたす。 Dentis に぀いお Dentis 誕生たで 新居 : ありがずうございたした。では、Dentis に぀いおお聞きしたいのですが、どんなきっかけで䜜られたサヌビスなんですか? 前田 : 圓初は、CLINICS カルテをベヌスずした歯科医院向けの予玄システムを開発しおいたのですが、歯科レセコン電子カルテの機胜のうち䞻に䌚蚈など蚺療報酬の蚈算をする゜フトりェアの゜ヌスコヌドを 取埗 するタむミングも重なり、予玄システムだけではなく、レセコン䞀䜓型のシステムずしお、本栌的に開発をスタヌトしたした。 詳しくは こちらの蚘事 を参照ください。 新居 : なるほど。そんな圢で開発が始たった Dentis ですが、コロナ犍で途䞭で 䜜り盎しおいたすよね 。再開しおからは 1 から開発したんですか? 前田 : はい、CLINICS をベヌスに開発しおいたものの、歯科医院ぞのヒアリングなどを実斜、調査をしおいくうちに医科ず歯科では業務オペレヌションが異なり予玄システムずしおは䞍十分な機胜だったこずが刀明しお。特に予玄郚分などはコンセプトから考え盎しお UI を䞀から䜜り盎したした。 宮内 : 途䞭で Pharms を開発しおリリヌスしたこずにより、そこで䜿った蚭蚈や技術などを応甚できたずいうプラスの偎面もあり、再床䜜り盎しおいたす。 Next.js を導入したりなどですね。 倧岡 : 以前の Dentis はパむロット版ずしお提䟛をしおいたこずもあり、しっかり䜜り倉える埌抌しになったかもしれないです。 新居 : そうするず開発自䜓も以前よりも、やりやすくもなったんですね。スムヌズに開発できるようになったおかげで、 特蚱 も取埗できる UI ができたわけですね。 Dentis のアヌキテクチャに぀いお 新居 : 珟圚の Dentis のアヌキテクチャはどんなものになっおいるんでしょう。 宮内 : サヌバサむドは Rails アプリケヌションになっおいたす。そこにプラスしお GraphQL を䜿甚しおいたす。フロント゚ンドは Next.js ず Apollo を䜿っお GraphQL にアクセスするずいう圢で党お AWS 䞊に乗っおいるずいう感じですね。 新居 : オヌ゜ドックスな構成になっおいるんですね。䜕か䜿いづらいなどはないですか? 倧岡 : 䜿いづらいずいうこずはないんですが、フロント゚ンド偎でデヌタをオヌバフェッチしおいる所があるんで、そこは芋盎さないずいけないず思っおいるずころです。 新居 : フロント゚ンドの状態管理はどのようにしおいるんですか? 倧岡 : Recoil を䜿っおいたす。ですが、ラむブラリの持続可胜性を考えお別の方法に移行したほうがよいなずは考えおいるずころですね 。 サブカルテ機胜の開発 サブカルテ機胜ずは 新居 : では今回のメむンの話である サブカルテ 機胜に぀いお、お話を䌺えればず思いたすが、そもそもサブカルテずはどんなものなんでしょうか。 前田 : 歯科特有の機胜になるず思うのですが、カルテに蚘録しない患者に関する情報、たずえばレントゲンや口腔写真などのファむル管理や文曞管理などをデゞタル化する機胜です。デゞタルで管理するこずで、写真やファむルを保管する堎所を確保する必芁がなくなり、院内空間を有効掻甚するこずもできたすよね。たた、Dentis にあっお他瀟にない機胜ずしおは「アクティビティ」でしょうか。院内のスタッフ間で情報共有ができる機胜で、Dentis を掻甚いただいおいる歯科医院から奜評をいただいおいる機胜のひず぀です。 普通は院内でスタッフの情報共有をする堎合は、玙カルテなどに盎接曞き蟌みするのですが、Slack のようなタむムラむン圢匏で情報共有できリアクションなども取れるようにしおいるのが「アクティビティ」機胜になりたす。 宮内 : 歯科医院は歯科医垫以倖にも、歯科衛生士や歯科助手など倚数の人達が連携しお治療にあたるチヌム医療をしおいるので、このような䜿い方をしおいるようです。たたサブカルテの内容ずしおは医院独自になっおいるようなので、Dentis のサブカルテは様々な䜿い方をリサヌチしお䞀般的に䜿いやすいであろうずいう圢にしおいたす。 新居 : アクティビティなどは、今の圢に萜ち着くたで機胜を考えるのは倧倉そうですね。 前田 : はい、最初は Markdown を曞いおいけるような Wiki のような圢も考えおいたりしたので、タむムラむン圢匏に萜ち着くたでは詊行錯誀したした。医院のコミュニケヌションの仕方によっお䜿甚率も違いたすが、結構䜿っおくださっおいたすね。 倧岡 : 画像ファむルにメモなどを残しおいる医院などもあるようで、ワヌクフロヌによっお䜿いやすい方を遞んでいるようです。 前田 : Dentis は医院のペヌパヌレス化を促進するプロダクトなので、䜿い方ずしおは様々ですが玙でのワヌクフロヌの感芚でそのたた、もっず䟿利に䜿えるずいう郚分を重芖しおいたす。 サブカルテ機胜の開発背景 新居 : そんなサブカルテ機胜ですが、開発しようずなった背景ずしおはどんなものがあったんでしょうか。 前田 : Dentis では「シヌムレスに぀ながる」ずいうのをひず぀のコンセプトずしお蚭蚈しおいるのですが、予玄〜カルテ〜䌚蚈たで機胜的に぀なげおも、業務フロヌずしおはどうしおも隙間が生じおいお、シヌムレスに぀ながっおない事に気づいたんですよね。院内スタッフ間でのちょっずしたコミュニケヌションもデゞタルで管理できれば、その隙間を埋め、歯科医院の DX 化を掚進できるのではないかず思い、サブカルテの開発を始めたした。先皋も蚀ったように、ペヌパヌレス化を促進ずいう目的にも合臎しおいたしたしね。 技術的に難しかった郚分 新居 : 技術的に困難なずころなどはありたしたか? 倧岡 : 手曞きメモず組写真機胜(撮圱した口腔内の画像を 5 枚や 10 枚で組み合わせお衚瀺する歯科の画像衚瀺圢匏)を Chrome ず iPad / Mac Safari に察応させるのは難しかったかもしれたせん。 どれかに察応させるず、どれかが䞊手く衚瀺できないなどがあったので。 宮内 : 画像の衚瀺ラむブラリを途䞭で倉曎したりしたしたよね。 倧岡 : 最初は Konva ずいうラむブラリだったんですが、ゆっくりペンを動かすず、滑らかな線が曞けないずいう問題が発生したしお 。 Fabric.js を䜿うように倉曎したした。 サブカルテ機胜を䜜ったこずによるプロダクトぞの良い効果 新居 : ありがずうございたす。サブカルテ機胜は今の圢になるたで、どのような怜蚎をしたんでしょうか。 前田 : 元々ファむル管理機胜などは既に Dentis であった機胜だったんです。そこは掻かし぀぀も、求められる他の機胜は䜕かずいうずころを考えおいきながら、様々なサブカルテの掻甚事䟋もリサヌチしながら、今の圢に萜ち着いたずいう感じです。 倧岡 : 副産物ずしおは今たで Dentis にはなかった「患者詳现」ずいう画面をこのサブカルテ機胜を入れるために拡匵しおいったので、その埌のオンラむン資栌確認などぞ展開しやすいずいう状態になりたした。情報蚭蚈を芋盎せたおかげです。 前田 : サブカルテ起点で患者怜玢もさらに詳现にできたりしたので、そうした副産物も倧倉良かったです。 サブカルテ機胜远加による反響 新居 : 医院からはサブカルテの远加により䜕か反響はあったんでしょうか。 前田 : ネガティブな意芋はあたりないですし、むしろ「远加機胜ずしおこういうのが欲しい」ずいうご意芋をいただくので、結構䜿っおいただけおいるず思いたす。 宮内 : ちょっず興味深かったのが、承認ボタンが欲しいずいうご意芋がありたした。医院のワヌクフロヌずしお、医垫以倖の方が行なおうずする凊眮などを「アクティビティ」䞊で医垫に承認しおもらうずいうフロヌのようです。すぐに導入できるかずいうずちょっず分からないのですが。 Dentis チヌムにマッチするメンバヌ 新居 : ありがずうございたす。最埌にそんな Dentis チヌムで䞀緒に働いおみたいず思うような方はどんな人でしょうか。 前田 : 高霢化が進んでおり、そろそろ若い人に来おほしいですね笑 宮内 : どの領域の開発メンバヌでも珟圚は少人数で運営しおいるので、入っおほしいなずは思いたす 。䞀番欲しいずいうメンバヌでいうず「歯科レセコンに粟通した開発者」の方ですかね。 新居 : なかなかハヌドルが高そうな経隓ですね笑 本日はありがずうございたした! さいごに Dentis のサブカルテ機胜の開発に぀いお、開発者に聞いおみたした。歯科には歯科独自のワヌクフロヌがあり、玙の運甚が重芖されおきた颚朮の䞭で、業務オペレヌションをふたえお開発しおいくナヌザヌファヌストな開発者の発想やそれを実珟する技術アプロヌチなど、ずおも面癜い開発をしおいるなず話を聞いおいお思いたした。 Dentis の開発チヌムはベテラン揃いなので、圌らず肩を䞊べお働くこずで、自身の成長を加速させる絶奜の機䌚になるず思いたす。 Dentis の開発に興味を持った方はぜひご連絡お埅ちしおおりたす。 募集の䞀芧 | 株匏䌚瀟メドレヌ メドレヌの採甚情報はこちらからご確認ください。 www.medley.jp
はじめに みなさん、こんにちは。゚ンゞニアの新居です。今回は今幎の 3 月にリリヌスされた Dentis のサブカルテ機胜に぀いお、開発したメンバヌに話を聞いおみたした! 察談メンバヌ玹介 Dentis 開発メンバヌの玹介 新居 : よろしくお願いしたす。早速ですが、メドレヌに入瀟するたでや、入っおからどんな事をしおいたのかを話しおもらえればず思いたす。 前田 : CLINICS のリリヌス前から、ロゎデザむンや UI デザむンに携わったのがきっかけでメドレヌに入瀟したした。入瀟しおからは、CLINICS アプリや CLINICS カルテ、薬局向けシステム Pharms などのプロダクトをこのメンバヌず䞀緒に開発しおいたした。今は歯科医院向けの Dentis のデザむンや䌁画、プロモヌションなどに関わっおいたす。 前田さん 倧岡 : ゜ヌシャルゲヌムを 6~7 幎開発しおいたのですが、人材プラットフォヌムの CTO である皲本が䞭孊の同玚生で、圌の蚘事を読んだのがきっかけでメドレヌに入瀟したした。入瀟しおからは CLINICS カルテや iOS アプリの開発などをやっおいたした。その埌は前田ず同じで Pharms の開発をしおから、珟圚は Dentis を開発しおいたす。他には電子凊方箋の実蚌事業の開発などもしおいたりしたした。珟圚は Web のフロント゚ンド䞭心に開発をしおいたす。 倧岡さん 宮内 : 元同僚が働いおいたので、メドレヌにリファラルで入瀟したした。CLINICS オンラむン蚺療の立ち䞊げをやった埌は他の 2 人ず同じで Pharms の開発をしお、珟圚は Dentis の開発ずいう感じです。今は䞻にサヌバサむドの開発を䞭心に業務をしおいたす。 Dentis に぀いお Dentis 誕生たで 新居 : ありがずうございたした。では、Dentis に぀いおお聞きしたいのですが、どんなきっかけで䜜られたサヌビスなんですか? 前田 : 圓初は、CLINICS カルテをベヌスずした歯科医院向けの予玄システムを開発しおいたのですが、歯科レセコン電子カルテの機胜のうち䞻に䌚蚈など蚺療報酬の蚈算をする゜フトりェアの゜ヌスコヌドを 取埗 するタむミングも重なり、予玄システムだけではなく、レセコン䞀䜓型のシステムずしお、本栌的に開発をスタヌトしたした。 詳しくは こちらの蚘事 を参照ください。 新居 : なるほど。そんな圢で開発が始たった Dentis ですが、コロナ犍で途䞭で 䜜り盎しおいたすよね 。再開しおからは 1 から開発したんですか? 前田 : はい、CLINICS をベヌスに開発しおいたものの、歯科医院ぞのヒアリングなどを実斜、調査をしおいくうちに医科ず歯科では業務オペレヌションが異なり予玄システムずしおは䞍十分な機胜だったこずが刀明しお。特に予玄郚分などはコンセプトから考え盎しお UI を䞀から䜜り盎したした。 宮内 : 途䞭で Pharms を開発しおリリヌスしたこずにより、そこで䜿った蚭蚈や技術などを応甚できたずいうプラスの偎面もあり、再床䜜り盎しおいたす。 Next.js を導入したりなどですね。 倧岡 : 以前の Dentis はパむロット版ずしお提䟛をしおいたこずもあり、しっかり䜜り倉える埌抌しになったかもしれないです。 新居 : そうするず開発自䜓も以前よりも、やりやすくもなったんですね。スムヌズに開発できるようになったおかげで、 特蚱 も取埗できる UI ができたわけですね。 Dentis のアヌキテクチャに぀いお 新居 : 珟圚の Dentis のアヌキテクチャはどんなものになっおいるんでしょう。 宮内 : サヌバサむドは Rails アプリケヌションになっおいたす。そこにプラスしお GraphQL を䜿甚しおいたす。フロント゚ンドは Next.js ず Apollo を䜿っお GraphQL にアクセスするずいう圢で党お AWS 䞊に乗っおいるずいう感じですね。 新居 : オヌ゜ドックスな構成になっおいるんですね。䜕か䜿いづらいなどはないですか? 倧岡 : 䜿いづらいずいうこずはないんですが、フロント゚ンド偎でデヌタをオヌバフェッチしおいる所があるんで、そこは芋盎さないずいけないず思っおいるずころです。 新居 : フロント゚ンドの状態管理はどのようにしおいるんですか? 倧岡 : Recoil を䜿っおいたす。ですが、ラむブラリの持続可胜性を考えお別の方法に移行したほうがよいなずは考えおいるずころですね 。 サブカルテ機胜の開発 サブカルテ機胜ずは 新居 : では今回のメむンの話である サブカルテ 機胜に぀いお、お話を䌺えればず思いたすが、そもそもサブカルテずはどんなものなんでしょうか。 前田 : 歯科特有の機胜になるず思うのですが、カルテに蚘録しない患者に関する情報、たずえばレントゲンや口腔写真などのファむル管理や文曞管理などをデゞタル化する機胜です。デゞタルで管理するこずで、写真やファむルを保管する堎所を確保する必芁がなくなり、院内空間を有効掻甚するこずもできたすよね。たた、Dentis にあっお他瀟にない機胜ずしおは「アクティビティ」でしょうか。院内のスタッフ間で情報共有ができる機胜で、Dentis を掻甚いただいおいる歯科医院から奜評をいただいおいる機胜のひず぀です。 普通は院内でスタッフの情報共有をする堎合は、玙カルテなどに盎接曞き蟌みするのですが、Slack のようなタむムラむン圢匏で情報共有できリアクションなども取れるようにしおいるのが「アクティビティ」機胜になりたす。 宮内 : 歯科医院は歯科医垫以倖にも、歯科衛生士や歯科助手など倚数の人達が連携しお治療にあたるチヌム医療をしおいるので、このような䜿い方をしおいるようです。たたサブカルテの内容ずしおは医院独自になっおいるようなので、Dentis のサブカルテは様々な䜿い方をリサヌチしお䞀般的に䜿いやすいであろうずいう圢にしおいたす。 新居 : アクティビティなどは、今の圢に萜ち着くたで機胜を考えるのは倧倉そうですね。 前田 : はい、最初は Markdown を曞いおいけるような Wiki のような圢も考えおいたりしたので、タむムラむン圢匏に萜ち着くたでは詊行錯誀したした。医院のコミュニケヌションの仕方によっお䜿甚率も違いたすが、結構䜿っおくださっおいたすね。 倧岡 : 画像ファむルにメモなどを残しおいる医院などもあるようで、ワヌクフロヌによっお䜿いやすい方を遞んでいるようです。 前田 : Dentis は医院のペヌパヌレス化を促進するプロダクトなので、䜿い方ずしおは様々ですが玙でのワヌクフロヌの感芚でそのたた、もっず䟿利に䜿えるずいう郚分を重芖しおいたす。 サブカルテ機胜の開発背景 新居 : そんなサブカルテ機胜ですが、開発しようずなった背景ずしおはどんなものがあったんでしょうか。 前田 : Dentis では「シヌムレスに぀ながる」ずいうのをひず぀のコンセプトずしお蚭蚈しおいるのですが、予玄〜カルテ〜䌚蚈たで機胜的に぀なげおも、業務フロヌずしおはどうしおも隙間が生じおいお、シヌムレスに぀ながっおない事に気づいたんですよね。院内スタッフ間でのちょっずしたコミュニケヌションもデゞタルで管理できれば、その隙間を埋め、歯科医院の DX 化を掚進できるのではないかず思い、サブカルテの開発を始めたした。先皋も蚀ったように、ペヌパヌレス化を促進ずいう目的にも合臎しおいたしたしね。 技術的に難しかった郚分 新居 : 技術的に困難なずころなどはありたしたか? 倧岡 : 手曞きメモず組写真機胜(撮圱した口腔内の画像を 5 枚や 10 枚で組み合わせお衚瀺する歯科の画像衚瀺圢匏)を Chrome ず iPad / Mac Safari に察応させるのは難しかったかもしれたせん。 どれかに察応させるず、どれかが䞊手く衚瀺できないなどがあったので。 宮内 : 画像の衚瀺ラむブラリを途䞭で倉曎したりしたしたよね。 倧岡 : 最初は Konva ずいうラむブラリだったんですが、ゆっくりペンを動かすず、滑らかな線が曞けないずいう問題が発生したしお 。 Fabric.js を䜿うように倉曎したした。 サブカルテ機胜を䜜ったこずによるプロダクトぞの良い効果 新居 : ありがずうございたす。サブカルテ機胜は今の圢になるたで、どのような怜蚎をしたんでしょうか。 前田 : 元々ファむル管理機胜などは既に Dentis であった機胜だったんです。そこは掻かし぀぀も、求められる他の機胜は䜕かずいうずころを考えおいきながら、様々なサブカルテの掻甚事䟋もリサヌチしながら、今の圢に萜ち着いたずいう感じです。 倧岡 : 副産物ずしおは今たで Dentis にはなかった「患者詳现」ずいう画面をこのサブカルテ機胜を入れるために拡匵しおいったので、その埌のオンラむン資栌確認などぞ展開しやすいずいう状態になりたした。情報蚭蚈を芋盎せたおかげです。 前田 : サブカルテ起点で患者怜玢もさらに詳现にできたりしたので、そうした副産物も倧倉良かったです。 サブカルテ機胜远加による反響 新居 : 医院からはサブカルテの远加により䜕か反響はあったんでしょうか。 前田 : ネガティブな意芋はあたりないですし、むしろ「远加機胜ずしおこういうのが欲しい」ずいうご意芋をいただくので、結構䜿っおいただけおいるず思いたす。 宮内 : ちょっず興味深かったのが、承認ボタンが欲しいずいうご意芋がありたした。医院のワヌクフロヌずしお、医垫以倖の方が行なおうずする凊眮などを「アクティビティ」䞊で医垫に承認しおもらうずいうフロヌのようです。すぐに導入できるかずいうずちょっず分からないのですが。 Dentis チヌムにマッチするメンバヌ 新居 : ありがずうございたす。最埌にそんな Dentis チヌムで䞀緒に働いおみたいず思うような方はどんな人でしょうか。 前田 : 高霢化が進んでおり、そろそろ若い人に来おほしいですね笑 宮内 : どの領域の開発メンバヌでも珟圚は少人数で運営しおいるので、入っおほしいなずは思いたす 。䞀番欲しいずいうメンバヌでいうず「歯科レセコンに粟通した開発者」の方ですかね。 新居 : なかなかハヌドルが高そうな経隓ですね笑 本日はありがずうございたした! さいごに Dentis のサブカルテ機胜の開発に぀いお、開発者に聞いおみたした。歯科には歯科独自のワヌクフロヌがあり、玙の運甚が重芖されおきた颚朮の䞭で、業務オペレヌションをふたえお開発しおいくナヌザヌファヌストな開発者の発想やそれを実珟する技術アプロヌチなど、ずおも面癜い開発をしおいるなず話を聞いおいお思いたした。 Dentis の開発チヌムはベテラン揃いなので、圌らず肩を䞊べお働くこずで、自身の成長を加速させる絶奜の機䌚になるず思いたす。 Dentis の開発に興味を持った方はぜひご連絡お埅ちしおおりたす。 https://www.medley.jp/jobs/
はじめに みなさん、こんにちは。゚ンゞニアの新居です。今回は今幎の 3 月にリリヌスされた Dentis のサブカルテ機胜に぀いお、開発したメンバヌに話を聞いおみたした! 察談メンバヌ玹介 Dentis 開発メンバヌの玹介 新居 : よろしくお願いしたす。早速ですが、メドレヌに入瀟するたでや、入っおからどんな事をしおいたのかを話しおもらえればず思いたす。 前田 : CLINICS のリリヌス前から、ロゎデザむンや UI デザむンに携わったのがきっかけでメドレヌに入瀟したした。入瀟しおからは、CLINICS アプリや CLINICS カルテ、薬局向けシステム Pharms などのプロダクトをこのメンバヌず䞀緒に開発しおいたした。今は歯科医院向けの Dentis のデザむンや䌁画、プロモヌションなどに関わっおいたす。 前田さん 倧岡 : ゜ヌシャルゲヌムを 6~7 幎開発しおいたのですが、人材プラットフォヌムの CTO である皲本が䞭孊の同玚生で、圌の蚘事を読んだのがきっかけでメドレヌに入瀟したした。入瀟しおからは CLINICS カルテや iOS アプリの開発などをやっおいたした。その埌は前田ず同じで Pharms の開発をしおから、珟圚は Dentis を開発しおいたす。他には電子凊方箋の実蚌事業の開発などもしおいたりしたした。珟圚は Web のフロント゚ンド䞭心に開発をしおいたす。 倧岡さん 宮内 : 元同僚が働いおいたので、メドレヌにリファラルで入瀟したした。CLINICS オンラむン蚺療の立ち䞊げをやった埌は他の 2 人ず同じで Pharms の開発をしお、珟圚は Dentis の開発ずいう感じです。今は䞻にサヌバサむドの開発を䞭心に業務をしおいたす。 Dentis に぀いお Dentis 誕生たで 新居 : ありがずうございたした。では、Dentis に぀いおお聞きしたいのですが、どんなきっかけで䜜られたサヌビスなんですか? 前田 : 圓初は、CLINICS カルテをベヌスずした歯科医院向けの予玄システムを開発しおいたのですが、歯科レセコン電子カルテの機胜のうち䞻に䌚蚈など蚺療報酬の蚈算をする゜フトりェアの゜ヌスコヌドを 取埗 するタむミングも重なり、予玄システムだけではなく、レセコン䞀䜓型のシステムずしお、本栌的に開発をスタヌトしたした。 詳しくは こちらの蚘事 を参照ください。 新居 : なるほど。そんな圢で開発が始たった Dentis ですが、コロナ犍で途䞭で 䜜り盎しおいたすよね 。再開しおからは 1 から開発したんですか? 前田 : はい、CLINICS をベヌスに開発しおいたものの、歯科医院ぞのヒアリングなどを実斜、調査をしおいくうちに医科ず歯科では業務オペレヌションが異なり予玄システムずしおは䞍十分な機胜だったこずが刀明しお。特に予玄郚分などはコンセプトから考え盎しお UI を䞀から䜜り盎したした。 宮内 : 途䞭で Pharms を開発しおリリヌスしたこずにより、そこで䜿った蚭蚈や技術などを応甚できたずいうプラスの偎面もあり、再床䜜り盎しおいたす。 Next.js を導入したりなどですね。 倧岡 : 以前の Dentis はパむロット版ずしお提䟛をしおいたこずもあり、しっかり䜜り倉える埌抌しになったかもしれないです。 新居 : そうするず開発自䜓も以前よりも、やりやすくもなったんですね。スムヌズに開発できるようになったおかげで、 特蚱 も取埗できる UI ができたわけですね。 Dentis のアヌキテクチャに぀いお 新居 : 珟圚の Dentis のアヌキテクチャはどんなものになっおいるんでしょう。 宮内 : サヌバサむドは Rails アプリケヌションになっおいたす。そこにプラスしお GraphQL を䜿甚しおいたす。フロント゚ンドは Next.js ず Apollo を䜿っお GraphQL にアクセスするずいう圢で党お AWS 䞊に乗っおいるずいう感じですね。 新居 : オヌ゜ドックスな構成になっおいるんですね。䜕か䜿いづらいなどはないですか? 倧岡 : 䜿いづらいずいうこずはないんですが、フロント゚ンド偎でデヌタをオヌバフェッチしおいる所があるんで、そこは芋盎さないずいけないず思っおいるずころです。 新居 : フロント゚ンドの状態管理はどのようにしおいるんですか? 倧岡 : Recoil を䜿っおいたす。ですが、ラむブラリの持続可胜性を考えお別の方法に移行したほうがよいなずは考えおいるずころですね 。 サブカルテ機胜の開発 サブカルテ機胜ずは 新居 : では今回のメむンの話である サブカルテ 機胜に぀いお、お話を䌺えればず思いたすが、そもそもサブカルテずはどんなものなんでしょうか。 前田 : 歯科特有の機胜になるず思うのですが、カルテに蚘録しない患者に関する情報、たずえばレントゲンや口腔写真などのファむル管理や文曞管理などをデゞタル化する機胜です。デゞタルで管理するこずで、写真やファむルを保管する堎所を確保する必芁がなくなり、院内空間を有効掻甚するこずもできたすよね。たた、Dentis にあっお他瀟にない機胜ずしおは「アクティビティ」でしょうか。院内のスタッフ間で情報共有ができる機胜で、Dentis を掻甚いただいおいる歯科医院から奜評をいただいおいる機胜のひず぀です。 普通は院内でスタッフの情報共有をする堎合は、玙カルテなどに盎接曞き蟌みするのですが、Slack のようなタむムラむン圢匏で情報共有できリアクションなども取れるようにしおいるのが「アクティビティ」機胜になりたす。 宮内 : 歯科医院は歯科医垫以倖にも、歯科衛生士や歯科助手など倚数の人達が連携しお治療にあたるチヌム医療をしおいるので、このような䜿い方をしおいるようです。たたサブカルテの内容ずしおは医院独自になっおいるようなので、Dentis のサブカルテは様々な䜿い方をリサヌチしお䞀般的に䜿いやすいであろうずいう圢にしおいたす。 新居 : アクティビティなどは、今の圢に萜ち着くたで機胜を考えるのは倧倉そうですね。 前田 : はい、最初は Markdown を曞いおいけるような Wiki のような圢も考えおいたりしたので、タむムラむン圢匏に萜ち着くたでは詊行錯誀したした。医院のコミュニケヌションの仕方によっお䜿甚率も違いたすが、結構䜿っおくださっおいたすね。 倧岡 : 画像ファむルにメモなどを残しおいる医院などもあるようで、ワヌクフロヌによっお䜿いやすい方を遞んでいるようです。 前田 : Dentis は医院のペヌパヌレス化を促進するプロダクトなので、䜿い方ずしおは様々ですが玙でのワヌクフロヌの感芚でそのたた、もっず䟿利に䜿えるずいう郚分を重芖しおいたす。 サブカルテ機胜の開発背景 新居 : そんなサブカルテ機胜ですが、開発しようずなった背景ずしおはどんなものがあったんでしょうか。 前田 : Dentis では「シヌムレスに぀ながる」ずいうのをひず぀のコンセプトずしお蚭蚈しおいるのですが、予玄〜カルテ〜䌚蚈たで機胜的に぀なげおも、業務フロヌずしおはどうしおも隙間が生じおいお、シヌムレスに぀ながっおない事に気づいたんですよね。院内スタッフ間でのちょっずしたコミュニケヌションもデゞタルで管理できれば、その隙間を埋め、歯科医院の DX 化を掚進できるのではないかず思い、サブカルテの開発を始めたした。先皋も蚀ったように、ペヌパヌレス化を促進ずいう目的にも合臎しおいたしたしね。 技術的に難しかった郚分 新居 : 技術的に困難なずころなどはありたしたか? 倧岡 : 手曞きメモず組写真機胜(撮圱した口腔内の画像を 5 枚や 10 枚で組み合わせお衚瀺する歯科の画像衚瀺圢匏)を Chrome ず iPad / Mac Safari に察応させるのは難しかったかもしれたせん。 どれかに察応させるず、どれかが䞊手く衚瀺できないなどがあったので。 宮内 : 画像の衚瀺ラむブラリを途䞭で倉曎したりしたしたよね。 倧岡 : 最初は Konva ずいうラむブラリだったんですが、ゆっくりペンを動かすず、滑らかな線が曞けないずいう問題が発生したしお 。 Fabric.js を䜿うように倉曎したした。 サブカルテ機胜を䜜ったこずによるプロダクトぞの良い効果 新居 : ありがずうございたす。サブカルテ機胜は今の圢になるたで、どのような怜蚎をしたんでしょうか。 前田 : 元々ファむル管理機胜などは既に Dentis であった機胜だったんです。そこは掻かし぀぀も、求められる他の機胜は䜕かずいうずころを考えおいきながら、様々なサブカルテの掻甚事䟋もリサヌチしながら、今の圢に萜ち着いたずいう感じです。 倧岡 : 副産物ずしおは今たで Dentis にはなかった「患者詳现」ずいう画面をこのサブカルテ機胜を入れるために拡匵しおいったので、その埌のオンラむン資栌確認などぞ展開しやすいずいう状態になりたした。情報蚭蚈を芋盎せたおかげです。 前田 : サブカルテ起点で患者怜玢もさらに詳现にできたりしたので、そうした副産物も倧倉良かったです。 サブカルテ機胜远加による反響 新居 : 医院からはサブカルテの远加により䜕か反響はあったんでしょうか。 前田 : ネガティブな意芋はあたりないですし、むしろ「远加機胜ずしおこういうのが欲しい」ずいうご意芋をいただくので、結構䜿っおいただけおいるず思いたす。 宮内 : ちょっず興味深かったのが、承認ボタンが欲しいずいうご意芋がありたした。医院のワヌクフロヌずしお、医垫以倖の方が行なおうずする凊眮などを「アクティビティ」䞊で医垫に承認しおもらうずいうフロヌのようです。すぐに導入できるかずいうずちょっず分からないのですが。 Dentis チヌムにマッチするメンバヌ 新居 : ありがずうございたす。最埌にそんな Dentis チヌムで䞀緒に働いおみたいず思うような方はどんな人でしょうか。 前田 : 高霢化が進んでおり、そろそろ若い人に来おほしいですね笑 宮内 : どの領域の開発メンバヌでも珟圚は少人数で運営しおいるので、入っおほしいなずは思いたす 。䞀番欲しいずいうメンバヌでいうず「歯科レセコンに粟通した開発者」の方ですかね。 新居 : なかなかハヌドルが高そうな経隓ですね笑 本日はありがずうございたした! さいごに Dentis のサブカルテ機胜の開発に぀いお、開発者に聞いおみたした。歯科には歯科独自のワヌクフロヌがあり、玙の運甚が重芖されおきた颚朮の䞭で、業務オペレヌションをふたえお開発しおいくナヌザヌファヌストな開発者の発想やそれを実珟する技術アプロヌチなど、ずおも面癜い開発をしおいるなず話を聞いおいお思いたした。 Dentis の開発チヌムはベテラン揃いなので、圌らず肩を䞊べお働くこずで、自身の成長を加速させる絶奜の機䌚になるず思いたす。 Dentis の開発に興味を持った方はぜひご連絡お埅ちしおおりたす。 募集の䞀芧 | 株匏䌚瀟メドレヌ メドレヌの採甚情報はこちらからご確認ください。 www.medley.jp
はじめに みなさん、こんにちは。゚ンゞニアの新居です。今回は今幎の 3 月にリリヌスされた Dentis のサブカルテ機胜に぀いお、開発したメンバヌに話を聞いおみたした! 察談メンバヌ玹介 Dentis 開発メンバヌの玹介 新居 : よろしくお願いしたす。早速ですが、メドレヌに入瀟するたでや、入っおからどんな事をしおいたのかを話しおもらえればず思いたす。 前田 : CLINICS のリリヌス前から、ロゎデザむンや UI デザむンに携わったのがきっかけでメドレヌに入瀟したした。入瀟しおからは、CLINICS アプリや CLINICS カルテ、薬局向けシステム Pharms などのプロダクトをこのメンバヌず䞀緒に開発しおいたした。今は歯科医院向けの Dentis のデザむンや䌁画、プロモヌションなどに関わっおいたす。 前田さん 倧岡 : ゜ヌシャルゲヌムを 6~7 幎開発しおいたのですが、人材プラットフォヌムの CTO である皲本が䞭孊の同玚生で、圌の蚘事を読んだのがきっかけでメドレヌに入瀟したした。入瀟しおからは CLINICS カルテや iOS アプリの開発などをやっおいたした。その埌は前田ず同じで Pharms の開発をしおから、珟圚は Dentis を開発しおいたす。他には電子凊方箋の実蚌事業の開発などもしおいたりしたした。珟圚は Web のフロント゚ンド䞭心に開発をしおいたす。 倧岡さん 宮内 : 元同僚が働いおいたので、メドレヌにリファラルで入瀟したした。CLINICS オンラむン蚺療の立ち䞊げをやった埌は他の 2 人ず同じで Pharms の開発をしお、珟圚は Dentis の開発ずいう感じです。今は䞻にサヌバサむドの開発を䞭心に業務をしおいたす。 Dentis に぀いお Dentis 誕生たで 新居 : ありがずうございたした。では、Dentis に぀いおお聞きしたいのですが、どんなきっかけで䜜られたサヌビスなんですか? 前田 : 圓初は、CLINICS カルテをベヌスずした歯科医院向けの予玄システムを開発しおいたのですが、歯科レセコン電子カルテの機胜のうち䞻に䌚蚈など蚺療報酬の蚈算をする゜フトりェアの゜ヌスコヌドを 取埗 するタむミングも重なり、予玄システムだけではなく、レセコン䞀䜓型のシステムずしお、本栌的に開発をスタヌトしたした。 詳しくは こちらの蚘事 を参照ください。 新居 : なるほど。そんな圢で開発が始たった Dentis ですが、コロナ犍で途䞭で 䜜り盎しおいたすよね 。再開しおからは 1 から開発したんですか? 前田 : はい、CLINICS をベヌスに開発しおいたものの、歯科医院ぞのヒアリングなどを実斜、調査をしおいくうちに医科ず歯科では業務オペレヌションが異なり予玄システムずしおは䞍十分な機胜だったこずが刀明しお。特に予玄郚分などはコンセプトから考え盎しお UI を䞀から䜜り盎したした。 宮内 : 途䞭で Pharms を開発しおリリヌスしたこずにより、そこで䜿った蚭蚈や技術などを応甚できたずいうプラスの偎面もあり、再床䜜り盎しおいたす。 Next.js を導入したりなどですね。 倧岡 : 以前の Dentis はパむロット版ずしお提䟛をしおいたこずもあり、しっかり䜜り倉える埌抌しになったかもしれないです。 新居 : そうするず開発自䜓も以前よりも、やりやすくもなったんですね。スムヌズに開発できるようになったおかげで、 特蚱 も取埗できる UI ができたわけですね。 Dentis のアヌキテクチャに぀いお 新居 : 珟圚の Dentis のアヌキテクチャはどんなものになっおいるんでしょう。 宮内 : サヌバサむドは Rails アプリケヌションになっおいたす。そこにプラスしお GraphQL を䜿甚しおいたす。フロント゚ンドは Next.js ず Apollo を䜿っお GraphQL にアクセスするずいう圢で党お AWS 䞊に乗っおいるずいう感じですね。 新居 : オヌ゜ドックスな構成になっおいるんですね。䜕か䜿いづらいなどはないですか? 倧岡 : 䜿いづらいずいうこずはないんですが、フロント゚ンド偎でデヌタをオヌバフェッチしおいる所があるんで、そこは芋盎さないずいけないず思っおいるずころです。 新居 : フロント゚ンドの状態管理はどのようにしおいるんですか? 倧岡 : Recoil を䜿っおいたす。ですが、ラむブラリの持続可胜性を考えお別の方法に移行したほうがよいなずは考えおいるずころですね 。 サブカルテ機胜の開発 サブカルテ機胜ずは 新居 : では今回のメむンの話である サブカルテ 機胜に぀いお、お話を䌺えればず思いたすが、そもそもサブカルテずはどんなものなんでしょうか。 前田 : 歯科特有の機胜になるず思うのですが、カルテに蚘録しない患者に関する情報、たずえばレントゲンや口腔写真などのファむル管理や文曞管理などをデゞタル化する機胜です。デゞタルで管理するこずで、写真やファむルを保管する堎所を確保する必芁がなくなり、院内空間を有効掻甚するこずもできたすよね。たた、Dentis にあっお他瀟にない機胜ずしおは「アクティビティ」でしょうか。院内のスタッフ間で情報共有ができる機胜で、Dentis を掻甚いただいおいる歯科医院から奜評をいただいおいる機胜のひず぀です。 普通は院内でスタッフの情報共有をする堎合は、玙カルテなどに盎接曞き蟌みするのですが、Slack のようなタむムラむン圢匏で情報共有できリアクションなども取れるようにしおいるのが「アクティビティ」機胜になりたす。 宮内 : 歯科医院は歯科医垫以倖にも、歯科衛生士や歯科助手など倚数の人達が連携しお治療にあたるチヌム医療をしおいるので、このような䜿い方をしおいるようです。たたサブカルテの内容ずしおは医院独自になっおいるようなので、Dentis のサブカルテは様々な䜿い方をリサヌチしお䞀般的に䜿いやすいであろうずいう圢にしおいたす。 新居 : アクティビティなどは、今の圢に萜ち着くたで機胜を考えるのは倧倉そうですね。 前田 : はい、最初は Markdown を曞いおいけるような Wiki のような圢も考えおいたりしたので、タむムラむン圢匏に萜ち着くたでは詊行錯誀したした。医院のコミュニケヌションの仕方によっお䜿甚率も違いたすが、結構䜿っおくださっおいたすね。 倧岡 : 画像ファむルにメモなどを残しおいる医院などもあるようで、ワヌクフロヌによっお䜿いやすい方を遞んでいるようです。 前田 : Dentis は医院のペヌパヌレス化を促進するプロダクトなので、䜿い方ずしおは様々ですが玙でのワヌクフロヌの感芚でそのたた、もっず䟿利に䜿えるずいう郚分を重芖しおいたす。 サブカルテ機胜の開発背景 新居 : そんなサブカルテ機胜ですが、開発しようずなった背景ずしおはどんなものがあったんでしょうか。 前田 : Dentis では「シヌムレスに぀ながる」ずいうのをひず぀のコンセプトずしお蚭蚈しおいるのですが、予玄〜カルテ〜䌚蚈たで機胜的に぀なげおも、業務フロヌずしおはどうしおも隙間が生じおいお、シヌムレスに぀ながっおない事に気づいたんですよね。院内スタッフ間でのちょっずしたコミュニケヌションもデゞタルで管理できれば、その隙間を埋め、歯科医院の DX 化を掚進できるのではないかず思い、サブカルテの開発を始めたした。先皋も蚀ったように、ペヌパヌレス化を促進ずいう目的にも合臎しおいたしたしね。 技術的に難しかった郚分 新居 : 技術的に困難なずころなどはありたしたか? 倧岡 : 手曞きメモず組写真機胜(撮圱した口腔内の画像を 5 枚や 10 枚で組み合わせお衚瀺する歯科の画像衚瀺圢匏)を Chrome ず iPad / Mac Safari に察応させるのは難しかったかもしれたせん。 どれかに察応させるず、どれかが䞊手く衚瀺できないなどがあったので。 宮内 : 画像の衚瀺ラむブラリを途䞭で倉曎したりしたしたよね。 倧岡 : 最初は Konva ずいうラむブラリだったんですが、ゆっくりペンを動かすず、滑らかな線が曞けないずいう問題が発生したしお 。 Fabric.js を䜿うように倉曎したした。 サブカルテ機胜を䜜ったこずによるプロダクトぞの良い効果 新居 : ありがずうございたす。サブカルテ機胜は今の圢になるたで、どのような怜蚎をしたんでしょうか。 前田 : 元々ファむル管理機胜などは既に Dentis であった機胜だったんです。そこは掻かし぀぀も、求められる他の機胜は䜕かずいうずころを考えおいきながら、様々なサブカルテの掻甚事䟋もリサヌチしながら、今の圢に萜ち着いたずいう感じです。 倧岡 : 副産物ずしおは今たで Dentis にはなかった「患者詳现」ずいう画面をこのサブカルテ機胜を入れるために拡匵しおいったので、その埌のオンラむン資栌確認などぞ展開しやすいずいう状態になりたした。情報蚭蚈を芋盎せたおかげです。 前田 : サブカルテ起点で患者怜玢もさらに詳现にできたりしたので、そうした副産物も倧倉良かったです。 サブカルテ機胜远加による反響 新居 : 医院からはサブカルテの远加により䜕か反響はあったんでしょうか。 前田 : ネガティブな意芋はあたりないですし、むしろ「远加機胜ずしおこういうのが欲しい」ずいうご意芋をいただくので、結構䜿っおいただけおいるず思いたす。 宮内 : ちょっず興味深かったのが、承認ボタンが欲しいずいうご意芋がありたした。医院のワヌクフロヌずしお、医垫以倖の方が行なおうずする凊眮などを「アクティビティ」䞊で医垫に承認しおもらうずいうフロヌのようです。すぐに導入できるかずいうずちょっず分からないのですが。 Dentis チヌムにマッチするメンバヌ 新居 : ありがずうございたす。最埌にそんな Dentis チヌムで䞀緒に働いおみたいず思うような方はどんな人でしょうか。 前田 : 高霢化が進んでおり、そろそろ若い人に来おほしいですね笑 宮内 : どの領域の開発メンバヌでも珟圚は少人数で運営しおいるので、入っおほしいなずは思いたす 。䞀番欲しいずいうメンバヌでいうず「歯科レセコンに粟通した開発者」の方ですかね。 新居 : なかなかハヌドルが高そうな経隓ですね笑 本日はありがずうございたした! さいごに Dentis のサブカルテ機胜の開発に぀いお、開発者に聞いおみたした。歯科には歯科独自のワヌクフロヌがあり、玙の運甚が重芖されおきた颚朮の䞭で、業務オペレヌションをふたえお開発しおいくナヌザヌファヌストな開発者の発想やそれを実珟する技術アプロヌチなど、ずおも面癜い開発をしおいるなず話を聞いおいお思いたした。 Dentis の開発チヌムはベテラン揃いなので、圌らず肩を䞊べお働くこずで、自身の成長を加速させる絶奜の機䌚になるず思いたす。 Dentis の開発に興味を持った方はぜひご連絡お埅ちしおおりたす。 募集の䞀芧 | 株匏䌚瀟メドレヌ メドレヌの採甚情報はこちらからご確認ください。 www.medley.jp
はじめに みなさん、こんにちは。゚ンゞニアの山田です。メドレヌでは医療プラットフォヌムで患者が䜿う「CLINICS」アプリを iOS / Android / Web で開発・運営しおいたす。日々、患者が䟿利に䜿えるように改善をしおいたすが、特城ずしお ゚ンゞニアがプロダクトマネヌゞャヌ(以䞋、PdM)ず䞀緒に数倀を芋ながら、改善を行なっおいる ずいう点が挙げられたす。 今回は「CLINICS」アプリを開発しおいる吉岡さんに、どのような開発フロヌで改善を行なっおいるのかをむンタビュヌしおみたした。 自己玹介 吉岡さん 医療 PF プロダクト開発宀第䞀開発グルヌプグロヌスチヌムにお患者向けアプリ「CLINICS」の開発業務を担圓。䞻に薬局に関する機胜開発を行っおいる。倧孊の専攻は物理で、倧孊途䞭からプログラミングを始めた。その埌、 倧孊 4 幎から長期むンタヌンで開発に取り組み、Ruby on Rails や React.js など䞻に Web 開発を経隓したあず 2022 幎に新卒でメドレヌ入瀟。 吉岡さん メドレヌに入瀟した理由 メドレヌに入瀟するたでの経歎 山田 : よろしくお願いしたす。早速ですが、孊生時代からメドレヌに入瀟するたでの経歎をお話いただけたすか? 吉岡 : 孊生時代は物理孊を専攻しおいたしたが、途䞭からプログラミングを始めたした。そのたた Web 開発をしおいる䌁業で長期むンタヌンをしお Ruby on Rails(以䞋、RoR) や React.js を䜿った開発経隓を経おメドレヌに入瀟したした。 山田 : 物理孊を専攻しおいたずいうこずですが、授業でプログラミングをしおいたんですか? 吉岡 : いえ、コロナ犍に入り、ちょうど予定しおいたオヌロラ芳察のためのフィンランド行きが無くなっおしたったずいうこずがありたしお。予定が無くなり 時間ができたので「䜕か始めおみよう」ずいうこずでプログラミングを始めた ずいうのが最初のきっかけでした。プログラミング自䜓は前から気になっおいたので、手を出しおみたずいう次第です。 山田 : そうだったんですね! ではコロナ犍にならずに旅行に行くこずになっおいたら 。 吉岡 : はい、プログラミングしおおらず入瀟もしおいなかったかもしれないです(笑) なぜメドレヌに入瀟しようず思ったのか 山田 : そんな吉岡さんは、どうしおメドレヌに入瀟を決めたんですか? 吉岡 : たず最初にメドレヌの「医療ヘルスケアの未来を぀くる」ずいう ミッションに共感したずいうのが倧きい芁因 です。たた プロダクトファヌストな考え方をし぀぀、プロダクト開発ぞの取り組み方が長期で課題に察しおじっくりずアプロヌチ をするずいう姿勢がずおも良いず感じたのも理由になりたす。 山田 : 入瀟前に受けた印象ず実際に入瀟埌に感じた印象のギャップなどはありたすか? 吉岡 : プロダクト開発に関しおは特に感じおはいないです。技術スタックに぀いおは入瀟前には RoR ず React.js ずいう Web アプリの技術スタックを自分は持っおいたので、入瀟埌もその郚分のギャップはないかな?ず思っお入瀟したのですが、今の配属は患者アプリずいうこずで iOS / Android のネむティブアプリの技術に觊るこずにもなるので、そこの郚分がギャップずいえばギャップになりたす。 山田 : 入瀟前は Web ゚ンゞニアずしおだけ業務するず思っおいたけど、入ったらネむティブアプリ゚ンゞニアずしおの業務もあったずいう話ですね(笑) 吉岡 : そうなりたすね(笑) ただ、 iOS / Android を觊っおいくうちに新しい技術に察する自分のキャッチアップ力には自信が付きたした 。「初芋の iOS ・ Android でもキャッチアップしお開発できたから、他の未知領域もキャッチアップしおいけるだろう」ずいう感芚が匷くなりたしたね。 取り組んでいる業務に぀いお 山田 : それでは吉岡さんは珟圚のチヌムでどのような業務を担圓しおいるか、聞かせおください。 吉岡 : はい。自分は患者アプリの開発を担圓しおいたす。患者さんの日々の通院や服薬を助けるずいうこずを目的ずしお、オンラむン蚺療・薬局ぞの凊方箋送付・お薬手垳などがこの患者アプリに含たれおいる機胜になりたす。チヌムずしおは自分は「グロヌスチヌム」ずいうチヌムに所属しおいたす。䞻に既存機胜の UI / UX の改善であったり、お薬手垳など患者が日垞的にアプリを䜿っおもらえるような機胜開発を担圓しおいたす。 チヌム構成ずしおはデザむナヌ兌 PdM 1 人・ PdM 1 人・゚ンゞニアが自分を含め 3 人ずいう構成になっおいたす。斜策の芏暡によるのですが、小さいものであれば 1 人で iOS / Android / Web の 3 プラットフォヌムを開発したすし、ある皋床の芏暡の斜策であれば、それぞれ 1 プラットフォヌムず぀゚ンゞニアがアサむンされお開発するようになっおいたす。PdM の方はそれぞれの斜策に぀き 1 人で担圓されおいるこずが倚いです。 ゚ンゞニアはそれぞれ埗意ずしおいるプラットフォヌムが分かれおいるので、プルリク゚ストを適宜レビュヌしおもらったり、䞍明な郚分を質問したりずいう感じで開発しおいきたす。 チヌムの定䟋は、毎日 30 分の倕䌚があり、そこで困り事があったら盞談したり、共有するべき事を話したりずいう感じでやっおいたす。その他は適宜、斜策のキックオフだったり、自分が分からないこずがあったりしたら呚りに聞いたりずいうこずはしおいたす。 お薬手垳改善プロゞェクト お薬手垳ずは、どんな機胜か 山田 : ありがずうございたす。では、本題ずなりたすが、吉岡さんは「お薬手垳改善プロゞェクト」ずいうプロゞェクトのメむンの゚ンゞニアずしお担圓をされおいたずいうこずで、そちらのお話を聞いおいきたいず思いたす。たず前提ずしお「お薬手垳」の機胜はどんなものなんでしょうか。 吉岡 : 皆さんも調剀薬局に行くず「お薬手垳をお持ちですか」ず聞かれるず思いたすが、 その機胜をアプリ化しお䟿利 にしたものになりたす。 䟋えば、今たで自分が服甚しおきた薬に぀いおの履歎を参照できるようになりたす。たた単に履歎だけではなく、服甚した薬の副䜜甚やアレルギヌ歎なども蚘録できるので、自分に合わない薬などを避け凊方しおもらえるようになるものです。この機胜は調剀薬局で凊方される薬だけではなく、垂販薬に぀いおも蚘録できたす。 たた、患者アプリでのお薬手垳は QR コヌドで凊方された薬を登録できるずいう機胜ず、薬の飲み忘れを防ぐため服甚時間に通知を端末に送付する「服甚アラヌム」ずいう機胜も存圚しおいたす。 山田 : なるほど。では「お薬手垳改善プロゞェクト」はどのような事を目的ずしおいたプロゞェクトだったんでしょうか。 吉岡 : 党䜓の目的ずしお**「お薬手垳」機胜を日垞的に䜿っおいただく患者数を増加させるために、UX の向䞊**を目指しおいたした。私が担圓した斜策は、その䞭でも薬の飲み忘れを防止するための「服甚アラヌム」は䜿っおいただいおいる患者の割合が䜎かったため、こちらの機胜をもっず䜿っおもらうように改善すれば、必然的に日垞的に「患者アプリ」を䜿う患者数も増えるだろうずいう背景のもず行われたした。 既存の「服甚アラヌム」の課題 山田 : 「服甚アラヌム」はもずもずそれ皋には䜿われおいない機胜だったんですか? 吉岡 : もちろん䜿っおいただいおいる患者数ずしおは䞀定数いらっしゃったんですが、期埅しおいるほどには倚くなかったずいう感じでした。そこで䜿っおいただけおいない理由や背景を PdM が事前に分析などした結果ずしお以䞋のような課題が浮き圫り になっおきたした。 そもそも「服甚アラヌム」機胜を知らなかった 知っおいおも「服甚アラヌム」機胜の䜿い方が分からない 「服甚アラヌム」機胜を蚭定しおいおも通知が届かない堎合があった そこで、これらの課題を敎理しお以䞋のような順番で改善を行なっおいくこずにしたした。 服甚アラヌム蚭定の UI 改善 服甚アラヌムの通知が届かない問題の解消 お薬登録から服甚アラヌムの登録導線の改善 こうしお、課題から実装方針たでをたず決めおいきたした。 服甚アラヌム蚭定の UI 改善 山田 : 方針の内、最初の服甚アラヌム蚭定の UI 改善はどのように行なっおいったんでしょうか。 吉岡 : たず、PdM が䞻䜓ずなりナヌザヌむンタビュヌを行なった結果や、ナヌザヌサポヌトの問い合わせ傟向の分析をした結果、 服甚アラヌム蚭定の画面でこちらが意図した通りに䜿っおもらえおいないずいう事実が分かりたした 。UI 䞊でナヌザヌに少し混乱を招いおしたっおいたした。 そこで、その抂念や蚭定フロヌを敎理しお UI に反映させお、混乱を少なくするように改善を行ないたした。 山田 : ちゃんずこちらの抂念が正しく UI に反映するようにしたずいうこずですね。 服甚アラヌムの通知が届かない問題の解消 吉岡 : はい。これでたず蚭定が正しくできないずいう状態が解消されたので、次のステップに進むこずにしたした。次は正しく蚭定しおいるのにも関わらず、䞀郚のナヌザヌに通知が蚭定通りに来ない堎合があったのを解消したした。こちらの方で特に゚ラヌなどは怜知できなかったので、 PdM ず仮説を立おお怜蚌 しおいきたした。 山田 : なるほど。どのような仮説だったんですか? 吉岡 : そもそもナヌザヌが Push 通知を実はオンにしおいないのではないかずいう仮説です。そこで、仮説怜蚌のためたずデヌタを取っお実際どの䜍のナヌザヌが Push 通知をオンにしおいるかを調査したのですが、予想以䞊に倚くのナヌザヌが Push 通知をオンにしおいたせんでした。仮説が正しいものだず蚌明されたので、 Push 通知の蚱諟を促すための改善を行ないたした 。この斜策の結果ずしお 2 倍以䞊のナヌザヌが Push 通知をオンにしおくれたので、 「服甚アラヌム」の通知が届かないずいう問い合わせが枛少 したした。 山田 : かなり効果的な斜策になったようですね。工数的にはそこたでかからずに実珟できたんですか? 吉岡 : はい、工数はあたりかかっおないので、結果を芋るずコストパフォヌマンスが良い斜策になったず思いたす。 服甚アラヌムの登録導線の改善 吉岡 : ここたでで、䞋準備が敎ったので「服甚アラヌム」自䜓を実際にさらにナヌザヌに䜿っおもらうための斜策ずしお、登録たでの導線を改善するこずにしたした。今たではお薬を登録するか、お薬ず服甚アラヌムを同時に登録するか遞べたのですが、お薬手垳ぞの薬の登録埌に「服甚アラヌム」の蚭定を促す導線を衚瀺するように改善したした。理由ずしおは、 薬の登録をしおから「服甚アラヌム」の登録をしたナヌザヌの割合を調べおみたずころ、倧倚数のナヌザヌが蚭定をしおいなかったこずが分かった からです。 山田 : かなりの方が「服甚アラヌム」を蚭定せずにいたのは驚きですね。ナヌザヌはなぜ蚭定しおいなかったんですか? 吉岡 : 改善以前の UI では、薬を登録をするためのボタンがあり、その䞋に「服甚アラヌム」蚭定ボタンが䞊列で蚭眮されおいたした。 開発偎ずしおは、お薬登録ず同時に服甚アラヌムを蚭定する導線がナヌザヌには分かりやすいだろうず考えおいたした。しかし、フタを開けおみるず登録数が増えないこずになっおいたした。 良く考えるず 圓たり前だったんですが、開発偎ずしおみれば「服甚アラヌム」ずいう名前の機胜に぀いおは自明で「こういう動きをする機胜だろう」ずいうのが分かった䞊で、導線ずしお認識しおいたんです。しかし、ナヌザヌ偎の芖点ずするず最初にこの画面を芋お思うこずは「服甚アラヌムっおなんなんだろう?」ずいう疑問で、「良く分からないからお薬の登録だけしよう」ずいう心理になっおしたっおいたようなんです。 登録導線改善前の UI 山田 : 確かに説明がないたた「服甚アラヌム」ず蚀われるず、たずは「䜕だこれ?」ずなりそうです。それでは、どんな改善を行なっお、この課題に察凊したんですか? 吉岡 : 先皋もお話した、薬の登録から「服甚アラヌム」蚭定たでのデヌタを PdM ず䞀緒に怜蚎した結果、䞀番倚くアラヌムの蚭定をしおもらえるパタヌンずしおは薬の登録をしたのず同時に蚭定しおいるずいうこずが分かりたした。 ですので、 導線は今たでの「薬の登録」+「服甚アラヌム」ではなく「薬の登録」→「服甚アラヌムの説明ず蚭定」ずいう圢に倉曎 したした。この改善によっお、たずは薬の登録をしたいずいうニヌズを満たし、次に「服甚アラヌム」ずはどんな機胜なのかを䌝え、最埌に「服甚アラヌム」の蚭定をしおもらうずいう、ナヌザヌにずっお自然な流れになるように改善したした。 登録導線改善埌の UI 山田 : 説明も入っおちゃんずナヌザヌに䟿利な機胜だずいうこずも分かっおもらえるようにしたんですね。こちらの改善斜策の効果はどんな感じだったんですか? 吉岡 : こちらの斜策は改善の前埌で 2 倍近く「服甚アラヌム」を蚭定しおくれるナヌザヌが増えたした。この改善も効果的なものになったんじゃないかず考えおいたす。 お薬手垳改善プロゞェクトで苊劎した郚分 山田 : お薬手垳改善プロゞェクトでは PdM ず二人䞉脚でデヌタを取りながら、仮説を立おお改善しおいくプロセスで結果に繋げおいるず感じたのですが、このプロゞェクトで苊劎した郚分は䜕かありたすか? 吉岡 : 技術的に難易床が高いずいう改善ではなかったのですが、個人的に苊劎した点ずしおは iOS / Android それぞれのプラットフォヌムで Push 通知に関する仕様が圓たり前ですが党然違うので、 詳しいメンバヌにアドバむスをもらいながら通知に関しおキャッチアップする必芁があった点が、倧倉 ではありたした。 山田 : これたであたり Push 通知呚りの実装の経隓を持っおいない䞭だず、各プラットフォヌムに合わせお実装するのはちょっず倧倉ですよね。 吉岡 : もちろん、公匏ドキュメントも充実しおいるので、そうしたものを調べたり、最終レビュヌずしおは各プラットフォヌムの知芋が深い゚ンゞニアに芋おもらったりもしたので、キャッチアップもしやすくはありたしたけども。 その他に ネむティブアプリの開発で必芁な知識などは、圓たり前ですが曞籍などで勉匷 などはした䞊で、局地的にこうした Push 通知などに取り組んだ感じではありたす。 お薬手垳改善プロゞェクトで孊んだこず・やりがいず思ったずころ 山田 : 今回の䞀連のプロゞェクトで吉岡さんが孊んだ郚分ずしお、どんなものがありたしたか? 吉岡 : ゚ンゞニアリングずいうず、䞀般的な印象ずしお難しい実装をしお結果を出すずいう感じに思いがちですが、今回のプロゞェクトの斜策のように、そこたで工数をかけない実装であっおも、 数字を芋぀぀仮説をちゃんず立おながら本質的な改善をするず結果にちゃんず結び぀く んだずいうこずが、実感できたずいう点は倧きいです。 たた、今回のプロゞェクトの䞻ずなる目的ずしおは「服甚アラヌムを䜿っおくれるナヌザヌを増やす」ずいうものでしたが、そこに至るたでの 準備をちゃんずしおおかないず結局ナヌザヌにずっお真に䜿いやすいものにならない ので、こうした䞋準備をしお䞁寧に改善するこずの倧切さずいうのが分かりたした。 山田 : ちゃんず足堎を固めお、長期的な芖点も入れお改善をしおいくずいうのは、プロダクトの䟡倀を出す䞊で倧事な事ですよね。それでは今回のプロゞェクトでのやりがいに思った郚分はどんな郚分ですか? 吉岡 : ストアを芋るずレビュヌで星 3 を぀けおいたナヌザヌの方が改善埌に星 5 のレビュヌにしおくれおいるのを芋たりするず**「ナヌザヌのために本圓にやっお良かったな」**ず感じたす。レビュヌだけではなく、数字は継続的に芋おいるので、その数字が向䞊しおいるのを芳枬できたら同じようにやりがいがあるず思いたした。 目指す゚ンゞニア像 山田 : ここたで吉岡さんが、関わったプロゞェクトに぀いお聞いおきたしたが、これからどんな゚ンゞニアになっおいきたいかずいう将来像はどんな颚に考えおいるんでしょうか。 吉岡 : たずは同じチヌムの䞭の呚りの゚ンゞニアの方達を目暙ずしたいなず思っおおりたす。具䜓的には他の゚ンゞニアの皆さんの 課題解決胜力の高さ を身に付けおいきたいず思っおいたす。 技術面でもプロダクト面でも、ちゃんず状況を分析しお「こうすれば良いんではないか」ずいう提案をさっずされたりしおいたす。たたその提案自䜓も耇数出し぀぀、それぞれのメリット・デメリットを提瀺しおベストなやり方を遞んでいる方ばかりなので、そうした郚分を参考にしおいきたいですね。 山田 : どのようにそうした胜力を高めおいこうず考えおいるんですか? 吉岡 : たずは普通に技術力を高めるずいうのはやっおいかないずいけないプロセスだずは思っおいたす。 iOS / Android の開発もそうですし、デヌタ構造などもちゃんず考えお実装が必芁になったりする郚分もあるので、サヌバサむドなどもあるタむミングでちゃんずやっおいきたいず考えおいたす。 その䞊で、呚りの゚ンゞニアの方達ず同じ考え方や、やり方を参考にしながら自身の課題に察凊しおいく ずいうこずを繰り返し経隓しおいくこずかなず考えおいたす。 チヌムで䞀緒に働いおいきたい゚ンゞニア像 山田 : 最埌になりたすが、吉岡さんはどんな゚ンゞニアず䞀緒に働いおみたいず考えおいたすか? 吉岡 : そうですね 。今のチヌムだず PdM ず゚ンゞニアが二人䞉脚で開発を進めおいくずいうスタむルずなっおいたすので、そこで PdM が蚀うこずだけをやるずいうのではなく、 ちゃんず自身の意芋を持っおプロダクトをより良くしおいくずいう意識を持っおいる゚ンゞニア の方ず䞀緒に働きたいです。 色々な斜策をする䞊で、PdM の方ずちゃんず圹割分担をし぀぀も、最終目暙ずしおはプロダクトを良くする。その為に PdM を含め゚ンゞニア以倖のカスタマヌサポヌトなど他の職皮の方ぞのリスペクトが欠かせないのではないかず思いたすので、そうした事も自然ずできる方が良いです。 山田 : ずおも倧事な意識ですね。本日はありがずうございたした! 最埌に 新卒 2 幎目ながらナヌザヌぞの䟡倀提䟛をするために、䞀連のプロゞェクトをメむンに担圓しおいる吉岡さん。むンタビュヌをしおいおメドレヌの他のプロダクトの゚ンゞニアにも通じる考え方で真摯に開発をしおいる様子が䌺えたした。 メドレヌでは今回のように、デヌタドリブンでナヌザヌぞ䟡倀を提䟛する開発をしおいくネむティブアプリ゚ンゞニアも絶賛募集しおいたすので、ご興味がある方はぜひカゞュアルにお話からしたしょう。 募集の䞀芧 | 株匏䌚瀟メドレヌ メドレヌの採甚情報はこちらからご確認ください。 www.medley.jp
はじめに みなさん、こんにちは。゚ンゞニアの山田です。メドレヌでは医療プラットフォヌムで患者が䜿う「CLINICS」アプリを iOS / Android / Web で開発・運営しおいたす。日々、患者が䟿利に䜿えるように改善をしおいたすが、特城ずしお ゚ンゞニアがプロダクトマネヌゞャヌ(以䞋、PdM)ず䞀緒に数倀を芋ながら、改善を行なっおいる ずいう点が挙げられたす。 今回は「CLINICS」アプリを開発しおいる吉岡さんに、どのような開発フロヌで改善を行なっおいるのかをむンタビュヌしおみたした。 自己玹介 吉岡さん 医療 PF プロダクト開発宀第䞀開発グルヌプグロヌスチヌムにお患者向けアプリ「CLINICS」の開発業務を担圓。䞻に薬局に関する機胜開発を行っおいる。倧孊の専攻は物理で、倧孊途䞭からプログラミングを始めた。その埌、 倧孊 4 幎から長期むンタヌンで開発に取り組み、Ruby on Rails や React.js など䞻に Web 開発を経隓したあず 2022 幎に新卒でメドレヌ入瀟。 吉岡さん メドレヌに入瀟した理由 メドレヌに入瀟するたでの経歎 山田 : よろしくお願いしたす。早速ですが、孊生時代からメドレヌに入瀟するたでの経歎をお話いただけたすか? 吉岡 : 孊生時代は物理孊を専攻しおいたしたが、途䞭からプログラミングを始めたした。そのたた Web 開発をしおいる䌁業で長期むンタヌンをしお Ruby on Rails(以䞋、RoR) や React.js を䜿った開発経隓を経おメドレヌに入瀟したした。 山田 : 物理孊を専攻しおいたずいうこずですが、授業でプログラミングをしおいたんですか? 吉岡 : いえ、コロナ犍に入り、ちょうど予定しおいたオヌロラ芳察のためのフィンランド行きが無くなっおしたったずいうこずがありたしお。予定が無くなり 時間ができたので「䜕か始めおみよう」ずいうこずでプログラミングを始めた ずいうのが最初のきっかけでした。プログラミング自䜓は前から気になっおいたので、手を出しおみたずいう次第です。 山田 : そうだったんですね! ではコロナ犍にならずに旅行に行くこずになっおいたら 。 吉岡 : はい、プログラミングしおおらず入瀟もしおいなかったかもしれないです(笑) なぜメドレヌに入瀟しようず思ったのか 山田 : そんな吉岡さんは、どうしおメドレヌに入瀟を決めたんですか? 吉岡 : たず最初にメドレヌの「医療ヘルスケアの未来を぀くる」ずいう ミッションに共感したずいうのが倧きい芁因 です。たた プロダクトファヌストな考え方をし぀぀、プロダクト開発ぞの取り組み方が長期で課題に察しおじっくりずアプロヌチ をするずいう姿勢がずおも良いず感じたのも理由になりたす。 山田 : 入瀟前に受けた印象ず実際に入瀟埌に感じた印象のギャップなどはありたすか? 吉岡 : プロダクト開発に関しおは特に感じおはいないです。技術スタックに぀いおは入瀟前には RoR ず React.js ずいう Web アプリの技術スタックを自分は持っおいたので、入瀟埌もその郚分のギャップはないかな?ず思っお入瀟したのですが、今の配属は患者アプリずいうこずで iOS / Android のネむティブアプリの技術に觊るこずにもなるので、そこの郚分がギャップずいえばギャップになりたす。 山田 : 入瀟前は Web ゚ンゞニアずしおだけ業務するず思っおいたけど、入ったらネむティブアプリ゚ンゞニアずしおの業務もあったずいう話ですね(笑) 吉岡 : そうなりたすね(笑) ただ、 iOS / Android を觊っおいくうちに新しい技術に察する自分のキャッチアップ力には自信が付きたした 。「初芋の iOS ・ Android でもキャッチアップしお開発できたから、他の未知領域もキャッチアップしおいけるだろう」ずいう感芚が匷くなりたしたね。 取り組んでいる業務に぀いお 山田 : それでは吉岡さんは珟圚のチヌムでどのような業務を担圓しおいるか、聞かせおください。 吉岡 : はい。自分は患者アプリの開発を担圓しおいたす。患者さんの日々の通院や服薬を助けるずいうこずを目的ずしお、オンラむン蚺療・薬局ぞの凊方箋送付・お薬手垳などがこの患者アプリに含たれおいる機胜になりたす。チヌムずしおは自分は「グロヌスチヌム」ずいうチヌムに所属しおいたす。䞻に既存機胜の UI / UX の改善であったり、お薬手垳など患者が日垞的にアプリを䜿っおもらえるような機胜開発を担圓しおいたす。 チヌム構成ずしおはデザむナヌ兌 PdM 1 人・ PdM 1 人・゚ンゞニアが自分を含め 3 人ずいう構成になっおいたす。斜策の芏暡によるのですが、小さいものであれば 1 人で iOS / Android / Web の 3 プラットフォヌムを開発したすし、ある皋床の芏暡の斜策であれば、それぞれ 1 プラットフォヌムず぀゚ンゞニアがアサむンされお開発するようになっおいたす。PdM の方はそれぞれの斜策に぀き 1 人で担圓されおいるこずが倚いです。 ゚ンゞニアはそれぞれ埗意ずしおいるプラットフォヌムが分かれおいるので、プルリク゚ストを適宜レビュヌしおもらったり、䞍明な郚分を質問したりずいう感じで開発しおいきたす。 チヌムの定䟋は、毎日 30 分の倕䌚があり、そこで困り事があったら盞談したり、共有するべき事を話したりずいう感じでやっおいたす。その他は適宜、斜策のキックオフだったり、自分が分からないこずがあったりしたら呚りに聞いたりずいうこずはしおいたす。 お薬手垳改善プロゞェクト お薬手垳ずは、どんな機胜か 山田 : ありがずうございたす。では、本題ずなりたすが、吉岡さんは「お薬手垳改善プロゞェクト」ずいうプロゞェクトのメむンの゚ンゞニアずしお担圓をされおいたずいうこずで、そちらのお話を聞いおいきたいず思いたす。たず前提ずしお「お薬手垳」の機胜はどんなものなんでしょうか。 吉岡 : 皆さんも調剀薬局に行くず「お薬手垳をお持ちですか」ず聞かれるず思いたすが、 その機胜をアプリ化しお䟿利 にしたものになりたす。 䟋えば、今たで自分が服甚しおきた薬に぀いおの履歎を参照できるようになりたす。たた単に履歎だけではなく、服甚した薬の副䜜甚やアレルギヌ歎なども蚘録できるので、自分に合わない薬などを避け凊方しおもらえるようになるものです。この機胜は調剀薬局で凊方される薬だけではなく、垂販薬に぀いおも蚘録できたす。 たた、患者アプリでのお薬手垳は QR コヌドで凊方された薬を登録できるずいう機胜ず、薬の飲み忘れを防ぐため服甚時間に通知を端末に送付する「服甚アラヌム」ずいう機胜も存圚しおいたす。 山田 : なるほど。では「お薬手垳改善プロゞェクト」はどのような事を目的ずしおいたプロゞェクトだったんでしょうか。 吉岡 : 党䜓の目的ずしお**「お薬手垳」機胜を日垞的に䜿っおいただく患者数を増加させるために、UX の向䞊**を目指しおいたした。私が担圓した斜策は、その䞭でも薬の飲み忘れを防止するための「服甚アラヌム」は䜿っおいただいおいる患者の割合が䜎かったため、こちらの機胜をもっず䜿っおもらうように改善すれば、必然的に日垞的に「患者アプリ」を䜿う患者数も増えるだろうずいう背景のもず行われたした。 既存の「服甚アラヌム」の課題 山田 : 「服甚アラヌム」はもずもずそれ皋には䜿われおいない機胜だったんですか? 吉岡 : もちろん䜿っおいただいおいる患者数ずしおは䞀定数いらっしゃったんですが、期埅しおいるほどには倚くなかったずいう感じでした。そこで䜿っおいただけおいない理由や背景を PdM が事前に分析などした結果ずしお以䞋のような課題が浮き圫り になっおきたした。 そもそも「服甚アラヌム」機胜を知らなかった 知っおいおも「服甚アラヌム」機胜の䜿い方が分からない 「服甚アラヌム」機胜を蚭定しおいおも通知が届かない堎合があった そこで、これらの課題を敎理しお以䞋のような順番で改善を行なっおいくこずにしたした。 服甚アラヌム蚭定の UI 改善 服甚アラヌムの通知が届かない問題の解消 お薬登録から服甚アラヌムの登録導線の改善 こうしお、課題から実装方針たでをたず決めおいきたした。 服甚アラヌム蚭定の UI 改善 山田 : 方針の内、最初の服甚アラヌム蚭定の UI 改善はどのように行なっおいったんでしょうか。 吉岡 : たず、PdM が䞻䜓ずなりナヌザヌむンタビュヌを行なった結果や、ナヌザヌサポヌトの問い合わせ傟向の分析をした結果、 服甚アラヌム蚭定の画面でこちらが意図した通りに䜿っおもらえおいないずいう事実が分かりたした 。UI 䞊でナヌザヌに少し混乱を招いおしたっおいたした。 そこで、その抂念や蚭定フロヌを敎理しお UI に反映させお、混乱を少なくするように改善を行ないたした。 山田 : ちゃんずこちらの抂念が正しく UI に反映するようにしたずいうこずですね。 服甚アラヌムの通知が届かない問題の解消 吉岡 : はい。これでたず蚭定が正しくできないずいう状態が解消されたので、次のステップに進むこずにしたした。次は正しく蚭定しおいるのにも関わらず、䞀郚のナヌザヌに通知が蚭定通りに来ない堎合があったのを解消したした。こちらの方で特に゚ラヌなどは怜知できなかったので、 PdM ず仮説を立おお怜蚌 しおいきたした。 山田 : なるほど。どのような仮説だったんですか? 吉岡 : そもそもナヌザヌが Push 通知を実はオンにしおいないのではないかずいう仮説です。そこで、仮説怜蚌のためたずデヌタを取っお実際どの䜍のナヌザヌが Push 通知をオンにしおいるかを調査したのですが、予想以䞊に倚くのナヌザヌが Push 通知をオンにしおいたせんでした。仮説が正しいものだず蚌明されたので、 Push 通知の蚱諟を促すための改善を行ないたした 。この斜策の結果ずしお 2 倍以䞊のナヌザヌが Push 通知をオンにしおくれたので、 「服甚アラヌム」の通知が届かないずいう問い合わせが枛少 したした。 山田 : かなり効果的な斜策になったようですね。工数的にはそこたでかからずに実珟できたんですか? 吉岡 : はい、工数はあたりかかっおないので、結果を芋るずコストパフォヌマンスが良い斜策になったず思いたす。 服甚アラヌムの登録導線の改善 吉岡 : ここたでで、䞋準備が敎ったので「服甚アラヌム」自䜓を実際にさらにナヌザヌに䜿っおもらうための斜策ずしお、登録たでの導線を改善するこずにしたした。今たではお薬を登録するか、お薬ず服甚アラヌムを同時に登録するか遞べたのですが、お薬手垳ぞの薬の登録埌に「服甚アラヌム」の蚭定を促す導線を衚瀺するように改善したした。理由ずしおは、 薬の登録をしおから「服甚アラヌム」の登録をしたナヌザヌの割合を調べおみたずころ、倧倚数のナヌザヌが蚭定をしおいなかったこずが分かった からです。 山田 : かなりの方が「服甚アラヌム」を蚭定せずにいたのは驚きですね。ナヌザヌはなぜ蚭定しおいなかったんですか? 吉岡 : 改善以前の UI では、薬を登録をするためのボタンがあり、その䞋に「服甚アラヌム」蚭定ボタンが䞊列で蚭眮されおいたした。 開発偎ずしおは、お薬登録ず同時に服甚アラヌムを蚭定する導線がナヌザヌには分かりやすいだろうず考えおいたした。しかし、フタを開けおみるず登録数が増えないこずになっおいたした。 良く考えるず 圓たり前だったんですが、開発偎ずしおみれば「服甚アラヌム」ずいう名前の機胜に぀いおは自明で「こういう動きをする機胜だろう」ずいうのが分かった䞊で、導線ずしお認識しおいたんです。しかし、ナヌザヌ偎の芖点ずするず最初にこの画面を芋お思うこずは「服甚アラヌムっおなんなんだろう?」ずいう疑問で、「良く分からないからお薬の登録だけしよう」ずいう心理になっおしたっおいたようなんです。 登録導線改善前の UI 山田 : 確かに説明がないたた「服甚アラヌム」ず蚀われるず、たずは「䜕だこれ?」ずなりそうです。それでは、どんな改善を行なっお、この課題に察凊したんですか? 吉岡 : 先皋もお話した、薬の登録から「服甚アラヌム」蚭定たでのデヌタを PdM ず䞀緒に怜蚎した結果、䞀番倚くアラヌムの蚭定をしおもらえるパタヌンずしおは薬の登録をしたのず同時に蚭定しおいるずいうこずが分かりたした。 ですので、 導線は今たでの「薬の登録」+「服甚アラヌム」ではなく「薬の登録」→「服甚アラヌムの説明ず蚭定」ずいう圢に倉曎 したした。この改善によっお、たずは薬の登録をしたいずいうニヌズを満たし、次に「服甚アラヌム」ずはどんな機胜なのかを䌝え、最埌に「服甚アラヌム」の蚭定をしおもらうずいう、ナヌザヌにずっお自然な流れになるように改善したした。 登録導線改善埌の UI 山田 : 説明も入っおちゃんずナヌザヌに䟿利な機胜だずいうこずも分かっおもらえるようにしたんですね。こちらの改善斜策の効果はどんな感じだったんですか? 吉岡 : こちらの斜策は改善の前埌で 2 倍近く「服甚アラヌム」を蚭定しおくれるナヌザヌが増えたした。この改善も効果的なものになったんじゃないかず考えおいたす。 お薬手垳改善プロゞェクトで苊劎した郚分 山田 : お薬手垳改善プロゞェクトでは PdM ず二人䞉脚でデヌタを取りながら、仮説を立おお改善しおいくプロセスで結果に繋げおいるず感じたのですが、このプロゞェクトで苊劎した郚分は䜕かありたすか? 吉岡 : 技術的に難易床が高いずいう改善ではなかったのですが、個人的に苊劎した点ずしおは iOS / Android それぞれのプラットフォヌムで Push 通知に関する仕様が圓たり前ですが党然違うので、 詳しいメンバヌにアドバむスをもらいながら通知に関しおキャッチアップする必芁があった点が、倧倉 ではありたした。 山田 : これたであたり Push 通知呚りの実装の経隓を持っおいない䞭だず、各プラットフォヌムに合わせお実装するのはちょっず倧倉ですよね。 吉岡 : もちろん、公匏ドキュメントも充実しおいるので、そうしたものを調べたり、最終レビュヌずしおは各プラットフォヌムの知芋が深い゚ンゞニアに芋おもらったりもしたので、キャッチアップもしやすくはありたしたけども。 その他に ネむティブアプリの開発で必芁な知識などは、圓たり前ですが曞籍などで勉匷 などはした䞊で、局地的にこうした Push 通知などに取り組んだ感じではありたす。 お薬手垳改善プロゞェクトで孊んだこず・やりがいず思ったずころ 山田 : 今回の䞀連のプロゞェクトで吉岡さんが孊んだ郚分ずしお、どんなものがありたしたか? 吉岡 : ゚ンゞニアリングずいうず、䞀般的な印象ずしお難しい実装をしお結果を出すずいう感じに思いがちですが、今回のプロゞェクトの斜策のように、そこたで工数をかけない実装であっおも、 数字を芋぀぀仮説をちゃんず立おながら本質的な改善をするず結果にちゃんず結び぀く んだずいうこずが、実感できたずいう点は倧きいです。 たた、今回のプロゞェクトの䞻ずなる目的ずしおは「服甚アラヌムを䜿っおくれるナヌザヌを増やす」ずいうものでしたが、そこに至るたでの 準備をちゃんずしおおかないず結局ナヌザヌにずっお真に䜿いやすいものにならない ので、こうした䞋準備をしお䞁寧に改善するこずの倧切さずいうのが分かりたした。 山田 : ちゃんず足堎を固めお、長期的な芖点も入れお改善をしおいくずいうのは、プロダクトの䟡倀を出す䞊で倧事な事ですよね。それでは今回のプロゞェクトでのやりがいに思った郚分はどんな郚分ですか? 吉岡 : ストアを芋るずレビュヌで星 3 を぀けおいたナヌザヌの方が改善埌に星 5 のレビュヌにしおくれおいるのを芋たりするず**「ナヌザヌのために本圓にやっお良かったな」**ず感じたす。レビュヌだけではなく、数字は継続的に芋おいるので、その数字が向䞊しおいるのを芳枬できたら同じようにやりがいがあるず思いたした。 目指す゚ンゞニア像 山田 : ここたで吉岡さんが、関わったプロゞェクトに぀いお聞いおきたしたが、これからどんな゚ンゞニアになっおいきたいかずいう将来像はどんな颚に考えおいるんでしょうか。 吉岡 : たずは同じチヌムの䞭の呚りの゚ンゞニアの方達を目暙ずしたいなず思っおおりたす。具䜓的には他の゚ンゞニアの皆さんの 課題解決胜力の高さ を身に付けおいきたいず思っおいたす。 技術面でもプロダクト面でも、ちゃんず状況を分析しお「こうすれば良いんではないか」ずいう提案をさっずされたりしおいたす。たたその提案自䜓も耇数出し぀぀、それぞれのメリット・デメリットを提瀺しおベストなやり方を遞んでいる方ばかりなので、そうした郚分を参考にしおいきたいですね。 山田 : どのようにそうした胜力を高めおいこうず考えおいるんですか? 吉岡 : たずは普通に技術力を高めるずいうのはやっおいかないずいけないプロセスだずは思っおいたす。 iOS / Android の開発もそうですし、デヌタ構造などもちゃんず考えお実装が必芁になったりする郚分もあるので、サヌバサむドなどもあるタむミングでちゃんずやっおいきたいず考えおいたす。 その䞊で、呚りの゚ンゞニアの方達ず同じ考え方や、やり方を参考にしながら自身の課題に察凊しおいく ずいうこずを繰り返し経隓しおいくこずかなず考えおいたす。 チヌムで䞀緒に働いおいきたい゚ンゞニア像 山田 : 最埌になりたすが、吉岡さんはどんな゚ンゞニアず䞀緒に働いおみたいず考えおいたすか? 吉岡 : そうですね 。今のチヌムだず PdM ず゚ンゞニアが二人䞉脚で開発を進めおいくずいうスタむルずなっおいたすので、そこで PdM が蚀うこずだけをやるずいうのではなく、 ちゃんず自身の意芋を持っおプロダクトをより良くしおいくずいう意識を持っおいる゚ンゞニア の方ず䞀緒に働きたいです。 色々な斜策をする䞊で、PdM の方ずちゃんず圹割分担をし぀぀も、最終目暙ずしおはプロダクトを良くする。その為に PdM を含め゚ンゞニア以倖のカスタマヌサポヌトなど他の職皮の方ぞのリスペクトが欠かせないのではないかず思いたすので、そうした事も自然ずできる方が良いです。 山田 : ずおも倧事な意識ですね。本日はありがずうございたした! 最埌に 新卒 2 幎目ながらナヌザヌぞの䟡倀提䟛をするために、䞀連のプロゞェクトをメむンに担圓しおいる吉岡さん。むンタビュヌをしおいおメドレヌの他のプロダクトの゚ンゞニアにも通じる考え方で真摯に開発をしおいる様子が䌺えたした。 メドレヌでは今回のように、デヌタドリブンでナヌザヌぞ䟡倀を提䟛する開発をしおいくネむティブアプリ゚ンゞニアも絶賛募集しおいたすので、ご興味がある方はぜひカゞュアルにお話からしたしょう。 募集の䞀芧 | 株匏䌚瀟メドレヌ メドレヌの採甚情報はこちらからご確認ください。 www.medley.jp
はじめに みなさん、こんにちは。゚ンゞニアの山田です。メドレヌでは医療プラットフォヌムで患者が䜿う「CLINICS」アプリを iOS / Android / Web で開発・運営しおいたす。日々、患者が䟿利に䜿えるように改善をしおいたすが、特城ずしお ゚ンゞニアがプロダクトマネヌゞャヌ(以䞋、PdM)ず䞀緒に数倀を芋ながら、改善を行なっおいる ずいう点が挙げられたす。 今回は「CLINICS」アプリを開発しおいる吉岡さんに、どのような開発フロヌで改善を行なっおいるのかをむンタビュヌしおみたした。 自己玹介 吉岡さん 医療 PF プロダクト開発宀第䞀開発グルヌプグロヌスチヌムにお患者向けアプリ「CLINICS」の開発業務を担圓。䞻に薬局に関する機胜開発を行っおいる。倧孊の専攻は物理で、倧孊途䞭からプログラミングを始めた。その埌、 倧孊 4 幎から長期むンタヌンで開発に取り組み、Ruby on Rails や React.js など䞻に Web 開発を経隓したあず 2022 幎に新卒でメドレヌ入瀟。 吉岡さん メドレヌに入瀟した理由 メドレヌに入瀟するたでの経歎 山田 : よろしくお願いしたす。早速ですが、孊生時代からメドレヌに入瀟するたでの経歎をお話いただけたすか? 吉岡 : 孊生時代は物理孊を専攻しおいたしたが、途䞭からプログラミングを始めたした。そのたた Web 開発をしおいる䌁業で長期むンタヌンをしお Ruby on Rails(以䞋、RoR) や React.js を䜿った開発経隓を経おメドレヌに入瀟したした。 山田 : 物理孊を専攻しおいたずいうこずですが、授業でプログラミングをしおいたんですか? 吉岡 : いえ、コロナ犍に入り、ちょうど予定しおいたオヌロラ芳察のためのフィンランド行きが無くなっおしたったずいうこずがありたしお。予定が無くなり 時間ができたので「䜕か始めおみよう」ずいうこずでプログラミングを始めた ずいうのが最初のきっかけでした。プログラミング自䜓は前から気になっおいたので、手を出しおみたずいう次第です。 山田 : そうだったんですね! ではコロナ犍にならずに旅行に行くこずになっおいたら 。 吉岡 : はい、プログラミングしおおらず入瀟もしおいなかったかもしれないです(笑) なぜメドレヌに入瀟しようず思ったのか 山田 : そんな吉岡さんは、どうしおメドレヌに入瀟を決めたんですか? 吉岡 : たず最初にメドレヌの「医療ヘルスケアの未来を぀くる」ずいう ミッションに共感したずいうのが倧きい芁因 です。たた プロダクトファヌストな考え方をし぀぀、プロダクト開発ぞの取り組み方が長期で課題に察しおじっくりずアプロヌチ をするずいう姿勢がずおも良いず感じたのも理由になりたす。 山田 : 入瀟前に受けた印象ず実際に入瀟埌に感じた印象のギャップなどはありたすか? 吉岡 : プロダクト開発に関しおは特に感じおはいないです。技術スタックに぀いおは入瀟前には RoR ず React.js ずいう Web アプリの技術スタックを自分は持っおいたので、入瀟埌もその郚分のギャップはないかな?ず思っお入瀟したのですが、今の配属は患者アプリずいうこずで iOS / Android のネむティブアプリの技術に觊るこずにもなるので、そこの郚分がギャップずいえばギャップになりたす。 山田 : 入瀟前は Web ゚ンゞニアずしおだけ業務するず思っおいたけど、入ったらネむティブアプリ゚ンゞニアずしおの業務もあったずいう話ですね(笑) 吉岡 : そうなりたすね(笑) ただ、 iOS / Android を觊っおいくうちに新しい技術に察する自分のキャッチアップ力には自信が付きたした 。「初芋の iOS ・ Android でもキャッチアップしお開発できたから、他の未知領域もキャッチアップしおいけるだろう」ずいう感芚が匷くなりたしたね。 取り組んでいる業務に぀いお 山田 : それでは吉岡さんは珟圚のチヌムでどのような業務を担圓しおいるか、聞かせおください。 吉岡 : はい。自分は患者アプリの開発を担圓しおいたす。患者さんの日々の通院や服薬を助けるずいうこずを目的ずしお、オンラむン蚺療・薬局ぞの凊方箋送付・お薬手垳などがこの患者アプリに含たれおいる機胜になりたす。チヌムずしおは自分は「グロヌスチヌム」ずいうチヌムに所属しおいたす。䞻に既存機胜の UI / UX の改善であったり、お薬手垳など患者が日垞的にアプリを䜿っおもらえるような機胜開発を担圓しおいたす。 チヌム構成ずしおはデザむナヌ兌 PdM 1 人・ PdM 1 人・゚ンゞニアが自分を含め 3 人ずいう構成になっおいたす。斜策の芏暡によるのですが、小さいものであれば 1 人で iOS / Android / Web の 3 プラットフォヌムを開発したすし、ある皋床の芏暡の斜策であれば、それぞれ 1 プラットフォヌムず぀゚ンゞニアがアサむンされお開発するようになっおいたす。PdM の方はそれぞれの斜策に぀き 1 人で担圓されおいるこずが倚いです。 ゚ンゞニアはそれぞれ埗意ずしおいるプラットフォヌムが分かれおいるので、プルリク゚ストを適宜レビュヌしおもらったり、䞍明な郚分を質問したりずいう感じで開発しおいきたす。 チヌムの定䟋は、毎日 30 分の倕䌚があり、そこで困り事があったら盞談したり、共有するべき事を話したりずいう感じでやっおいたす。その他は適宜、斜策のキックオフだったり、自分が分からないこずがあったりしたら呚りに聞いたりずいうこずはしおいたす。 お薬手垳改善プロゞェクト お薬手垳ずは、どんな機胜か 山田 : ありがずうございたす。では、本題ずなりたすが、吉岡さんは「お薬手垳改善プロゞェクト」ずいうプロゞェクトのメむンの゚ンゞニアずしお担圓をされおいたずいうこずで、そちらのお話を聞いおいきたいず思いたす。たず前提ずしお「お薬手垳」の機胜はどんなものなんでしょうか。 吉岡 : 皆さんも調剀薬局に行くず「お薬手垳をお持ちですか」ず聞かれるず思いたすが、 その機胜をアプリ化しお䟿利 にしたものになりたす。 䟋えば、今たで自分が服甚しおきた薬に぀いおの履歎を参照できるようになりたす。たた単に履歎だけではなく、服甚した薬の副䜜甚やアレルギヌ歎なども蚘録できるので、自分に合わない薬などを避け凊方しおもらえるようになるものです。この機胜は調剀薬局で凊方される薬だけではなく、垂販薬に぀いおも蚘録できたす。 たた、患者アプリでのお薬手垳は QR コヌドで凊方された薬を登録できるずいう機胜ず、薬の飲み忘れを防ぐため服甚時間に通知を端末に送付する「服甚アラヌム」ずいう機胜も存圚しおいたす。 山田 : なるほど。では「お薬手垳改善プロゞェクト」はどのような事を目的ずしおいたプロゞェクトだったんでしょうか。 吉岡 : 党䜓の目的ずしお**「お薬手垳」機胜を日垞的に䜿っおいただく患者数を増加させるために、UX の向䞊**を目指しおいたした。私が担圓した斜策は、その䞭でも薬の飲み忘れを防止するための「服甚アラヌム」は䜿っおいただいおいる患者の割合が䜎かったため、こちらの機胜をもっず䜿っおもらうように改善すれば、必然的に日垞的に「患者アプリ」を䜿う患者数も増えるだろうずいう背景のもず行われたした。 既存の「服甚アラヌム」の課題 山田 : 「服甚アラヌム」はもずもずそれ皋には䜿われおいない機胜だったんですか? 吉岡 : もちろん䜿っおいただいおいる患者数ずしおは䞀定数いらっしゃったんですが、期埅しおいるほどには倚くなかったずいう感じでした。そこで䜿っおいただけおいない理由や背景を PdM が事前に分析などした結果ずしお以䞋のような課題が浮き圫り になっおきたした。 そもそも「服甚アラヌム」機胜を知らなかった 知っおいおも「服甚アラヌム」機胜の䜿い方が分からない 「服甚アラヌム」機胜を蚭定しおいおも通知が届かない堎合があった そこで、これらの課題を敎理しお以䞋のような順番で改善を行なっおいくこずにしたした。 服甚アラヌム蚭定の UI 改善 服甚アラヌムの通知が届かない問題の解消 お薬登録から服甚アラヌムの登録導線の改善 こうしお、課題から実装方針たでをたず決めおいきたした。 服甚アラヌム蚭定の UI 改善 山田 : 方針の内、最初の服甚アラヌム蚭定の UI 改善はどのように行なっおいったんでしょうか。 吉岡 : たず、PdM が䞻䜓ずなりナヌザヌむンタビュヌを行なった結果や、ナヌザヌサポヌトの問い合わせ傟向の分析をした結果、 服甚アラヌム蚭定の画面でこちらが意図した通りに䜿っおもらえおいないずいう事実が分かりたした 。UI 䞊でナヌザヌに少し混乱を招いおしたっおいたした。 そこで、その抂念や蚭定フロヌを敎理しお UI に反映させお、混乱を少なくするように改善を行ないたした。 山田 : ちゃんずこちらの抂念が正しく UI に反映するようにしたずいうこずですね。 服甚アラヌムの通知が届かない問題の解消 吉岡 : はい。これでたず蚭定が正しくできないずいう状態が解消されたので、次のステップに進むこずにしたした。次は正しく蚭定しおいるのにも関わらず、䞀郚のナヌザヌに通知が蚭定通りに来ない堎合があったのを解消したした。こちらの方で特に゚ラヌなどは怜知できなかったので、 PdM ず仮説を立おお怜蚌 しおいきたした。 山田 : なるほど。どのような仮説だったんですか? 吉岡 : そもそもナヌザヌが Push 通知を実はオンにしおいないのではないかずいう仮説です。そこで、仮説怜蚌のためたずデヌタを取っお実際どの䜍のナヌザヌが Push 通知をオンにしおいるかを調査したのですが、予想以䞊に倚くのナヌザヌが Push 通知をオンにしおいたせんでした。仮説が正しいものだず蚌明されたので、 Push 通知の蚱諟を促すための改善を行ないたした 。この斜策の結果ずしお 2 倍以䞊のナヌザヌが Push 通知をオンにしおくれたので、 「服甚アラヌム」の通知が届かないずいう問い合わせが枛少 したした。 山田 : かなり効果的な斜策になったようですね。工数的にはそこたでかからずに実珟できたんですか? 吉岡 : はい、工数はあたりかかっおないので、結果を芋るずコストパフォヌマンスが良い斜策になったず思いたす。 服甚アラヌムの登録導線の改善 吉岡 : ここたでで、䞋準備が敎ったので「服甚アラヌム」自䜓を実際にさらにナヌザヌに䜿っおもらうための斜策ずしお、登録たでの導線を改善するこずにしたした。今たではお薬を登録するか、お薬ず服甚アラヌムを同時に登録するか遞べたのですが、お薬手垳ぞの薬の登録埌に「服甚アラヌム」の蚭定を促す導線を衚瀺するように改善したした。理由ずしおは、 薬の登録をしおから「服甚アラヌム」の登録をしたナヌザヌの割合を調べおみたずころ、倧倚数のナヌザヌが蚭定をしおいなかったこずが分かった からです。 山田 : かなりの方が「服甚アラヌム」を蚭定せずにいたのは驚きですね。ナヌザヌはなぜ蚭定しおいなかったんですか? 吉岡 : 改善以前の UI では、薬を登録をするためのボタンがあり、その䞋に「服甚アラヌム」蚭定ボタンが䞊列で蚭眮されおいたした。 開発偎ずしおは、お薬登録ず同時に服甚アラヌムを蚭定する導線がナヌザヌには分かりやすいだろうず考えおいたした。しかし、フタを開けおみるず登録数が増えないこずになっおいたした。 良く考えるず 圓たり前だったんですが、開発偎ずしおみれば「服甚アラヌム」ずいう名前の機胜に぀いおは自明で「こういう動きをする機胜だろう」ずいうのが分かった䞊で、導線ずしお認識しおいたんです。しかし、ナヌザヌ偎の芖点ずするず最初にこの画面を芋お思うこずは「服甚アラヌムっおなんなんだろう?」ずいう疑問で、「良く分からないからお薬の登録だけしよう」ずいう心理になっおしたっおいたようなんです。 登録導線改善前の UI 山田 : 確かに説明がないたた「服甚アラヌム」ず蚀われるず、たずは「䜕だこれ?」ずなりそうです。それでは、どんな改善を行なっお、この課題に察凊したんですか? 吉岡 : 先皋もお話した、薬の登録から「服甚アラヌム」蚭定たでのデヌタを PdM ず䞀緒に怜蚎した結果、䞀番倚くアラヌムの蚭定をしおもらえるパタヌンずしおは薬の登録をしたのず同時に蚭定しおいるずいうこずが分かりたした。 ですので、 導線は今たでの「薬の登録」+「服甚アラヌム」ではなく「薬の登録」→「服甚アラヌムの説明ず蚭定」ずいう圢に倉曎 したした。この改善によっお、たずは薬の登録をしたいずいうニヌズを満たし、次に「服甚アラヌム」ずはどんな機胜なのかを䌝え、最埌に「服甚アラヌム」の蚭定をしおもらうずいう、ナヌザヌにずっお自然な流れになるように改善したした。 登録導線改善埌の UI 山田 : 説明も入っおちゃんずナヌザヌに䟿利な機胜だずいうこずも分かっおもらえるようにしたんですね。こちらの改善斜策の効果はどんな感じだったんですか? 吉岡 : こちらの斜策は改善の前埌で 2 倍近く「服甚アラヌム」を蚭定しおくれるナヌザヌが増えたした。この改善も効果的なものになったんじゃないかず考えおいたす。 お薬手垳改善プロゞェクトで苊劎した郚分 山田 : お薬手垳改善プロゞェクトでは PdM ず二人䞉脚でデヌタを取りながら、仮説を立おお改善しおいくプロセスで結果に繋げおいるず感じたのですが、このプロゞェクトで苊劎した郚分は䜕かありたすか? 吉岡 : 技術的に難易床が高いずいう改善ではなかったのですが、個人的に苊劎した点ずしおは iOS / Android それぞれのプラットフォヌムで Push 通知に関する仕様が圓たり前ですが党然違うので、 詳しいメンバヌにアドバむスをもらいながら通知に関しおキャッチアップする必芁があった点が、倧倉 ではありたした。 山田 : これたであたり Push 通知呚りの実装の経隓を持っおいない䞭だず、各プラットフォヌムに合わせお実装するのはちょっず倧倉ですよね。 吉岡 : もちろん、公匏ドキュメントも充実しおいるので、そうしたものを調べたり、最終レビュヌずしおは各プラットフォヌムの知芋が深い゚ンゞニアに芋おもらったりもしたので、キャッチアップもしやすくはありたしたけども。 その他に ネむティブアプリの開発で必芁な知識などは、圓たり前ですが曞籍などで勉匷 などはした䞊で、局地的にこうした Push 通知などに取り組んだ感じではありたす。 お薬手垳改善プロゞェクトで孊んだこず・やりがいず思ったずころ 山田 : 今回の䞀連のプロゞェクトで吉岡さんが孊んだ郚分ずしお、どんなものがありたしたか? 吉岡 : ゚ンゞニアリングずいうず、䞀般的な印象ずしお難しい実装をしお結果を出すずいう感じに思いがちですが、今回のプロゞェクトの斜策のように、そこたで工数をかけない実装であっおも、 数字を芋぀぀仮説をちゃんず立おながら本質的な改善をするず結果にちゃんず結び぀く んだずいうこずが、実感できたずいう点は倧きいです。 たた、今回のプロゞェクトの䞻ずなる目的ずしおは「服甚アラヌムを䜿っおくれるナヌザヌを増やす」ずいうものでしたが、そこに至るたでの 準備をちゃんずしおおかないず結局ナヌザヌにずっお真に䜿いやすいものにならない ので、こうした䞋準備をしお䞁寧に改善するこずの倧切さずいうのが分かりたした。 山田 : ちゃんず足堎を固めお、長期的な芖点も入れお改善をしおいくずいうのは、プロダクトの䟡倀を出す䞊で倧事な事ですよね。それでは今回のプロゞェクトでのやりがいに思った郚分はどんな郚分ですか? 吉岡 : ストアを芋るずレビュヌで星 3 を぀けおいたナヌザヌの方が改善埌に星 5 のレビュヌにしおくれおいるのを芋たりするず**「ナヌザヌのために本圓にやっお良かったな」**ず感じたす。レビュヌだけではなく、数字は継続的に芋おいるので、その数字が向䞊しおいるのを芳枬できたら同じようにやりがいがあるず思いたした。 目指す゚ンゞニア像 山田 : ここたで吉岡さんが、関わったプロゞェクトに぀いお聞いおきたしたが、これからどんな゚ンゞニアになっおいきたいかずいう将来像はどんな颚に考えおいるんでしょうか。 吉岡 : たずは同じチヌムの䞭の呚りの゚ンゞニアの方達を目暙ずしたいなず思っおおりたす。具䜓的には他の゚ンゞニアの皆さんの 課題解決胜力の高さ を身に付けおいきたいず思っおいたす。 技術面でもプロダクト面でも、ちゃんず状況を分析しお「こうすれば良いんではないか」ずいう提案をさっずされたりしおいたす。たたその提案自䜓も耇数出し぀぀、それぞれのメリット・デメリットを提瀺しおベストなやり方を遞んでいる方ばかりなので、そうした郚分を参考にしおいきたいですね。 山田 : どのようにそうした胜力を高めおいこうず考えおいるんですか? 吉岡 : たずは普通に技術力を高めるずいうのはやっおいかないずいけないプロセスだずは思っおいたす。 iOS / Android の開発もそうですし、デヌタ構造などもちゃんず考えお実装が必芁になったりする郚分もあるので、サヌバサむドなどもあるタむミングでちゃんずやっおいきたいず考えおいたす。 その䞊で、呚りの゚ンゞニアの方達ず同じ考え方や、やり方を参考にしながら自身の課題に察凊しおいく ずいうこずを繰り返し経隓しおいくこずかなず考えおいたす。 チヌムで䞀緒に働いおいきたい゚ンゞニア像 山田 : 最埌になりたすが、吉岡さんはどんな゚ンゞニアず䞀緒に働いおみたいず考えおいたすか? 吉岡 : そうですね 。今のチヌムだず PdM ず゚ンゞニアが二人䞉脚で開発を進めおいくずいうスタむルずなっおいたすので、そこで PdM が蚀うこずだけをやるずいうのではなく、 ちゃんず自身の意芋を持っおプロダクトをより良くしおいくずいう意識を持っおいる゚ンゞニア の方ず䞀緒に働きたいです。 色々な斜策をする䞊で、PdM の方ずちゃんず圹割分担をし぀぀も、最終目暙ずしおはプロダクトを良くする。その為に PdM を含め゚ンゞニア以倖のカスタマヌサポヌトなど他の職皮の方ぞのリスペクトが欠かせないのではないかず思いたすので、そうした事も自然ずできる方が良いです。 山田 : ずおも倧事な意識ですね。本日はありがずうございたした! 最埌に 新卒 2 幎目ながらナヌザヌぞの䟡倀提䟛をするために、䞀連のプロゞェクトをメむンに担圓しおいる吉岡さん。むンタビュヌをしおいおメドレヌの他のプロダクトの゚ンゞニアにも通じる考え方で真摯に開発をしおいる様子が䌺えたした。 メドレヌでは今回のように、デヌタドリブンでナヌザヌぞ䟡倀を提䟛する開発をしおいくネむティブアプリ゚ンゞニアも絶賛募集しおいたすので、ご興味がある方はぜひカゞュアルにお話からしたしょう。 募集の䞀芧 | 株匏䌚瀟メドレヌ メドレヌの採甚情報はこちらからご確認ください。 www.medley.jp
はじめに みなさん、こんにちは。゚ンゞニアの山田です。メドレヌでは医療プラットフォヌムで患者が䜿う「CLINICS」アプリを iOS / Android / Web で開発・運営しおいたす。日々、患者が䟿利に䜿えるように改善をしおいたすが、特城ずしお ゚ンゞニアがプロダクトマネヌゞャヌ(以䞋、PdM)ず䞀緒に数倀を芋ながら、改善を行なっおいる ずいう点が挙げられたす。 今回は「CLINICS」アプリを開発しおいる吉岡さんに、どのような開発フロヌで改善を行なっおいるのかをむンタビュヌしおみたした。 自己玹介 吉岡さん 医療 PF プロダクト開発宀第䞀開発グルヌプグロヌスチヌムにお患者向けアプリ「CLINICS」の開発業務を担圓。䞻に薬局に関する機胜開発を行っおいる。倧孊の専攻は物理で、倧孊途䞭からプログラミングを始めた。その埌、 倧孊 4 幎から長期むンタヌンで開発に取り組み、Ruby on Rails や React.js など䞻に Web 開発を経隓したあず 2022 幎に新卒でメドレヌ入瀟。 吉岡さん メドレヌに入瀟した理由 メドレヌに入瀟するたでの経歎 山田 : よろしくお願いしたす。早速ですが、孊生時代からメドレヌに入瀟するたでの経歎をお話いただけたすか? 吉岡 : 孊生時代は物理孊を専攻しおいたしたが、途䞭からプログラミングを始めたした。そのたた Web 開発をしおいる䌁業で長期むンタヌンをしお Ruby on Rails(以䞋、RoR) や React.js を䜿った開発経隓を経おメドレヌに入瀟したした。 山田 : 物理孊を専攻しおいたずいうこずですが、授業でプログラミングをしおいたんですか? 吉岡 : いえ、コロナ犍に入り、ちょうど予定しおいたオヌロラ芳察のためのフィンランド行きが無くなっおしたったずいうこずがありたしお。予定が無くなり 時間ができたので「䜕か始めおみよう」ずいうこずでプログラミングを始めた ずいうのが最初のきっかけでした。プログラミング自䜓は前から気になっおいたので、手を出しおみたずいう次第です。 山田 : そうだったんですね! ではコロナ犍にならずに旅行に行くこずになっおいたら 。 吉岡 : はい、プログラミングしおおらず入瀟もしおいなかったかもしれないです(笑) なぜメドレヌに入瀟しようず思ったのか 山田 : そんな吉岡さんは、どうしおメドレヌに入瀟を決めたんですか? 吉岡 : たず最初にメドレヌの「医療ヘルスケアの未来を぀くる」ずいう ミッションに共感したずいうのが倧きい芁因 です。たた プロダクトファヌストな考え方をし぀぀、プロダクト開発ぞの取り組み方が長期で課題に察しおじっくりずアプロヌチ をするずいう姿勢がずおも良いず感じたのも理由になりたす。 山田 : 入瀟前に受けた印象ず実際に入瀟埌に感じた印象のギャップなどはありたすか? 吉岡 : プロダクト開発に関しおは特に感じおはいないです。技術スタックに぀いおは入瀟前には RoR ず React.js ずいう Web アプリの技術スタックを自分は持っおいたので、入瀟埌もその郚分のギャップはないかな?ず思っお入瀟したのですが、今の配属は患者アプリずいうこずで iOS / Android のネむティブアプリの技術に觊るこずにもなるので、そこの郚分がギャップずいえばギャップになりたす。 山田 : 入瀟前は Web ゚ンゞニアずしおだけ業務するず思っおいたけど、入ったらネむティブアプリ゚ンゞニアずしおの業務もあったずいう話ですね(笑) 吉岡 : そうなりたすね(笑) ただ、 iOS / Android を觊っおいくうちに新しい技術に察する自分のキャッチアップ力には自信が付きたした 。「初芋の iOS ・ Android でもキャッチアップしお開発できたから、他の未知領域もキャッチアップしおいけるだろう」ずいう感芚が匷くなりたしたね。 取り組んでいる業務に぀いお 山田 : それでは吉岡さんは珟圚のチヌムでどのような業務を担圓しおいるか、聞かせおください。 吉岡 : はい。自分は患者アプリの開発を担圓しおいたす。患者さんの日々の通院や服薬を助けるずいうこずを目的ずしお、オンラむン蚺療・薬局ぞの凊方箋送付・お薬手垳などがこの患者アプリに含たれおいる機胜になりたす。チヌムずしおは自分は「グロヌスチヌム」ずいうチヌムに所属しおいたす。䞻に既存機胜の UI / UX の改善であったり、お薬手垳など患者が日垞的にアプリを䜿っおもらえるような機胜開発を担圓しおいたす。 チヌム構成ずしおはデザむナヌ兌 PdM 1 人・ PdM 1 人・゚ンゞニアが自分を含め 3 人ずいう構成になっおいたす。斜策の芏暡によるのですが、小さいものであれば 1 人で iOS / Android / Web の 3 プラットフォヌムを開発したすし、ある皋床の芏暡の斜策であれば、それぞれ 1 プラットフォヌムず぀゚ンゞニアがアサむンされお開発するようになっおいたす。PdM の方はそれぞれの斜策に぀き 1 人で担圓されおいるこずが倚いです。 ゚ンゞニアはそれぞれ埗意ずしおいるプラットフォヌムが分かれおいるので、プルリク゚ストを適宜レビュヌしおもらったり、䞍明な郚分を質問したりずいう感じで開発しおいきたす。 チヌムの定䟋は、毎日 30 分の倕䌚があり、そこで困り事があったら盞談したり、共有するべき事を話したりずいう感じでやっおいたす。その他は適宜、斜策のキックオフだったり、自分が分からないこずがあったりしたら呚りに聞いたりずいうこずはしおいたす。 お薬手垳改善プロゞェクト お薬手垳ずは、どんな機胜か 山田 : ありがずうございたす。では、本題ずなりたすが、吉岡さんは「お薬手垳改善プロゞェクト」ずいうプロゞェクトのメむンの゚ンゞニアずしお担圓をされおいたずいうこずで、そちらのお話を聞いおいきたいず思いたす。たず前提ずしお「お薬手垳」の機胜はどんなものなんでしょうか。 吉岡 : 皆さんも調剀薬局に行くず「お薬手垳をお持ちですか」ず聞かれるず思いたすが、 その機胜をアプリ化しお䟿利 にしたものになりたす。 䟋えば、今たで自分が服甚しおきた薬に぀いおの履歎を参照できるようになりたす。たた単に履歎だけではなく、服甚した薬の副䜜甚やアレルギヌ歎なども蚘録できるので、自分に合わない薬などを避け凊方しおもらえるようになるものです。この機胜は調剀薬局で凊方される薬だけではなく、垂販薬に぀いおも蚘録できたす。 たた、患者アプリでのお薬手垳は QR コヌドで凊方された薬を登録できるずいう機胜ず、薬の飲み忘れを防ぐため服甚時間に通知を端末に送付する「服甚アラヌム」ずいう機胜も存圚しおいたす。 山田 : なるほど。では「お薬手垳改善プロゞェクト」はどのような事を目的ずしおいたプロゞェクトだったんでしょうか。 吉岡 : 党䜓の目的ずしお**「お薬手垳」機胜を日垞的に䜿っおいただく患者数を増加させるために、UX の向䞊**を目指しおいたした。私が担圓した斜策は、その䞭でも薬の飲み忘れを防止するための「服甚アラヌム」は䜿っおいただいおいる患者の割合が䜎かったため、こちらの機胜をもっず䜿っおもらうように改善すれば、必然的に日垞的に「患者アプリ」を䜿う患者数も増えるだろうずいう背景のもず行われたした。 既存の「服甚アラヌム」の課題 山田 : 「服甚アラヌム」はもずもずそれ皋には䜿われおいない機胜だったんですか? 吉岡 : もちろん䜿っおいただいおいる患者数ずしおは䞀定数いらっしゃったんですが、期埅しおいるほどには倚くなかったずいう感じでした。そこで䜿っおいただけおいない理由や背景を PdM が事前に分析などした結果ずしお以䞋のような課題が浮き圫り になっおきたした。 そもそも「服甚アラヌム」機胜を知らなかった 知っおいおも「服甚アラヌム」機胜の䜿い方が分からない 「服甚アラヌム」機胜を蚭定しおいおも通知が届かない堎合があった そこで、これらの課題を敎理しお以䞋のような順番で改善を行なっおいくこずにしたした。 服甚アラヌム蚭定の UI 改善 服甚アラヌムの通知が届かない問題の解消 お薬登録から服甚アラヌムの登録導線の改善 こうしお、課題から実装方針たでをたず決めおいきたした。 服甚アラヌム蚭定の UI 改善 山田 : 方針の内、最初の服甚アラヌム蚭定の UI 改善はどのように行なっおいったんでしょうか。 吉岡 : たず、PdM が䞻䜓ずなりナヌザヌむンタビュヌを行なった結果や、ナヌザヌサポヌトの問い合わせ傟向の分析をした結果、 服甚アラヌム蚭定の画面でこちらが意図した通りに䜿っおもらえおいないずいう事実が分かりたした 。UI 䞊でナヌザヌに少し混乱を招いおしたっおいたした。 そこで、その抂念や蚭定フロヌを敎理しお UI に反映させお、混乱を少なくするように改善を行ないたした。 山田 : ちゃんずこちらの抂念が正しく UI に反映するようにしたずいうこずですね。 服甚アラヌムの通知が届かない問題の解消 吉岡 : はい。これでたず蚭定が正しくできないずいう状態が解消されたので、次のステップに進むこずにしたした。次は正しく蚭定しおいるのにも関わらず、䞀郚のナヌザヌに通知が蚭定通りに来ない堎合があったのを解消したした。こちらの方で特に゚ラヌなどは怜知できなかったので、 PdM ず仮説を立おお怜蚌 しおいきたした。 山田 : なるほど。どのような仮説だったんですか? 吉岡 : そもそもナヌザヌが Push 通知を実はオンにしおいないのではないかずいう仮説です。そこで、仮説怜蚌のためたずデヌタを取っお実際どの䜍のナヌザヌが Push 通知をオンにしおいるかを調査したのですが、予想以䞊に倚くのナヌザヌが Push 通知をオンにしおいたせんでした。仮説が正しいものだず蚌明されたので、 Push 通知の蚱諟を促すための改善を行ないたした 。この斜策の結果ずしお 2 倍以䞊のナヌザヌが Push 通知をオンにしおくれたので、 「服甚アラヌム」の通知が届かないずいう問い合わせが枛少 したした。 山田 : かなり効果的な斜策になったようですね。工数的にはそこたでかからずに実珟できたんですか? 吉岡 : はい、工数はあたりかかっおないので、結果を芋るずコストパフォヌマンスが良い斜策になったず思いたす。 服甚アラヌムの登録導線の改善 吉岡 : ここたでで、䞋準備が敎ったので「服甚アラヌム」自䜓を実際にさらにナヌザヌに䜿っおもらうための斜策ずしお、登録たでの導線を改善するこずにしたした。今たではお薬を登録するか、お薬ず服甚アラヌムを同時に登録するか遞べたのですが、お薬手垳ぞの薬の登録埌に「服甚アラヌム」の蚭定を促す導線を衚瀺するように改善したした。理由ずしおは、 薬の登録をしおから「服甚アラヌム」の登録をしたナヌザヌの割合を調べおみたずころ、倧倚数のナヌザヌが蚭定をしおいなかったこずが分かった からです。 山田 : かなりの方が「服甚アラヌム」を蚭定せずにいたのは驚きですね。ナヌザヌはなぜ蚭定しおいなかったんですか? 吉岡 : 改善以前の UI では、薬を登録をするためのボタンがあり、その䞋に「服甚アラヌム」蚭定ボタンが䞊列で蚭眮されおいたした。 開発偎ずしおは、お薬登録ず同時に服甚アラヌムを蚭定する導線がナヌザヌには分かりやすいだろうず考えおいたした。しかし、フタを開けおみるず登録数が増えないこずになっおいたした。 良く考えるず 圓たり前だったんですが、開発偎ずしおみれば「服甚アラヌム」ずいう名前の機胜に぀いおは自明で「こういう動きをする機胜だろう」ずいうのが分かった䞊で、導線ずしお認識しおいたんです。しかし、ナヌザヌ偎の芖点ずするず最初にこの画面を芋お思うこずは「服甚アラヌムっおなんなんだろう?」ずいう疑問で、「良く分からないからお薬の登録だけしよう」ずいう心理になっおしたっおいたようなんです。 登録導線改善前の UI 山田 : 確かに説明がないたた「服甚アラヌム」ず蚀われるず、たずは「䜕だこれ?」ずなりそうです。それでは、どんな改善を行なっお、この課題に察凊したんですか? 吉岡 : 先皋もお話した、薬の登録から「服甚アラヌム」蚭定たでのデヌタを PdM ず䞀緒に怜蚎した結果、䞀番倚くアラヌムの蚭定をしおもらえるパタヌンずしおは薬の登録をしたのず同時に蚭定しおいるずいうこずが分かりたした。 ですので、 導線は今たでの「薬の登録」+「服甚アラヌム」ではなく「薬の登録」→「服甚アラヌムの説明ず蚭定」ずいう圢に倉曎 したした。この改善によっお、たずは薬の登録をしたいずいうニヌズを満たし、次に「服甚アラヌム」ずはどんな機胜なのかを䌝え、最埌に「服甚アラヌム」の蚭定をしおもらうずいう、ナヌザヌにずっお自然な流れになるように改善したした。 登録導線改善埌の UI 山田 : 説明も入っおちゃんずナヌザヌに䟿利な機胜だずいうこずも分かっおもらえるようにしたんですね。こちらの改善斜策の効果はどんな感じだったんですか? 吉岡 : こちらの斜策は改善の前埌で 2 倍近く「服甚アラヌム」を蚭定しおくれるナヌザヌが増えたした。この改善も効果的なものになったんじゃないかず考えおいたす。 お薬手垳改善プロゞェクトで苊劎した郚分 山田 : お薬手垳改善プロゞェクトでは PdM ず二人䞉脚でデヌタを取りながら、仮説を立おお改善しおいくプロセスで結果に繋げおいるず感じたのですが、このプロゞェクトで苊劎した郚分は䜕かありたすか? 吉岡 : 技術的に難易床が高いずいう改善ではなかったのですが、個人的に苊劎した点ずしおは iOS / Android それぞれのプラットフォヌムで Push 通知に関する仕様が圓たり前ですが党然違うので、 詳しいメンバヌにアドバむスをもらいながら通知に関しおキャッチアップする必芁があった点が、倧倉 ではありたした。 山田 : これたであたり Push 通知呚りの実装の経隓を持っおいない䞭だず、各プラットフォヌムに合わせお実装するのはちょっず倧倉ですよね。 吉岡 : もちろん、公匏ドキュメントも充実しおいるので、そうしたものを調べたり、最終レビュヌずしおは各プラットフォヌムの知芋が深い゚ンゞニアに芋おもらったりもしたので、キャッチアップもしやすくはありたしたけども。 その他に ネむティブアプリの開発で必芁な知識などは、圓たり前ですが曞籍などで勉匷 などはした䞊で、局地的にこうした Push 通知などに取り組んだ感じではありたす。 お薬手垳改善プロゞェクトで孊んだこず・やりがいず思ったずころ 山田 : 今回の䞀連のプロゞェクトで吉岡さんが孊んだ郚分ずしお、どんなものがありたしたか? 吉岡 : ゚ンゞニアリングずいうず、䞀般的な印象ずしお難しい実装をしお結果を出すずいう感じに思いがちですが、今回のプロゞェクトの斜策のように、そこたで工数をかけない実装であっおも、 数字を芋぀぀仮説をちゃんず立おながら本質的な改善をするず結果にちゃんず結び぀く んだずいうこずが、実感できたずいう点は倧きいです。 たた、今回のプロゞェクトの䞻ずなる目的ずしおは「服甚アラヌムを䜿っおくれるナヌザヌを増やす」ずいうものでしたが、そこに至るたでの 準備をちゃんずしおおかないず結局ナヌザヌにずっお真に䜿いやすいものにならない ので、こうした䞋準備をしお䞁寧に改善するこずの倧切さずいうのが分かりたした。 山田 : ちゃんず足堎を固めお、長期的な芖点も入れお改善をしおいくずいうのは、プロダクトの䟡倀を出す䞊で倧事な事ですよね。それでは今回のプロゞェクトでのやりがいに思った郚分はどんな郚分ですか? 吉岡 : ストアを芋るずレビュヌで星 3 を぀けおいたナヌザヌの方が改善埌に星 5 のレビュヌにしおくれおいるのを芋たりするず**「ナヌザヌのために本圓にやっお良かったな」**ず感じたす。レビュヌだけではなく、数字は継続的に芋おいるので、その数字が向䞊しおいるのを芳枬できたら同じようにやりがいがあるず思いたした。 目指す゚ンゞニア像 山田 : ここたで吉岡さんが、関わったプロゞェクトに぀いお聞いおきたしたが、これからどんな゚ンゞニアになっおいきたいかずいう将来像はどんな颚に考えおいるんでしょうか。 吉岡 : たずは同じチヌムの䞭の呚りの゚ンゞニアの方達を目暙ずしたいなず思っおおりたす。具䜓的には他の゚ンゞニアの皆さんの 課題解決胜力の高さ を身に付けおいきたいず思っおいたす。 技術面でもプロダクト面でも、ちゃんず状況を分析しお「こうすれば良いんではないか」ずいう提案をさっずされたりしおいたす。たたその提案自䜓も耇数出し぀぀、それぞれのメリット・デメリットを提瀺しおベストなやり方を遞んでいる方ばかりなので、そうした郚分を参考にしおいきたいですね。 山田 : どのようにそうした胜力を高めおいこうず考えおいるんですか? 吉岡 : たずは普通に技術力を高めるずいうのはやっおいかないずいけないプロセスだずは思っおいたす。 iOS / Android の開発もそうですし、デヌタ構造などもちゃんず考えお実装が必芁になったりする郚分もあるので、サヌバサむドなどもあるタむミングでちゃんずやっおいきたいず考えおいたす。 その䞊で、呚りの゚ンゞニアの方達ず同じ考え方や、やり方を参考にしながら自身の課題に察凊しおいく ずいうこずを繰り返し経隓しおいくこずかなず考えおいたす。 チヌムで䞀緒に働いおいきたい゚ンゞニア像 山田 : 最埌になりたすが、吉岡さんはどんな゚ンゞニアず䞀緒に働いおみたいず考えおいたすか? 吉岡 : そうですね 。今のチヌムだず PdM ず゚ンゞニアが二人䞉脚で開発を進めおいくずいうスタむルずなっおいたすので、そこで PdM が蚀うこずだけをやるずいうのではなく、 ちゃんず自身の意芋を持っおプロダクトをより良くしおいくずいう意識を持っおいる゚ンゞニア の方ず䞀緒に働きたいです。 色々な斜策をする䞊で、PdM の方ずちゃんず圹割分担をし぀぀も、最終目暙ずしおはプロダクトを良くする。その為に PdM を含め゚ンゞニア以倖のカスタマヌサポヌトなど他の職皮の方ぞのリスペクトが欠かせないのではないかず思いたすので、そうした事も自然ずできる方が良いです。 山田 : ずおも倧事な意識ですね。本日はありがずうございたした! 最埌に 新卒 2 幎目ながらナヌザヌぞの䟡倀提䟛をするために、䞀連のプロゞェクトをメむンに担圓しおいる吉岡さん。むンタビュヌをしおいおメドレヌの他のプロダクトの゚ンゞニアにも通じる考え方で真摯に開発をしおいる様子が䌺えたした。 メドレヌでは今回のように、デヌタドリブンでナヌザヌぞ䟡倀を提䟛する開発をしおいくネむティブアプリ゚ンゞニアも絶賛募集しおいたすので、ご興味がある方はぜひカゞュアルにお話からしたしょう。 募集の䞀芧 | 株匏䌚瀟メドレヌ メドレヌの採甚情報はこちらからご確認ください。 www.medley.jp
はじめに みなさん、こんにちは。゚ンゞニアの山田です。メドレヌでは医療プラットフォヌムで患者が䜿う「CLINICS」アプリを iOS / Android / Web で開発・運営しおいたす。日々、患者が䟿利に䜿えるように改善をしおいたすが、特城ずしお ゚ンゞニアがプロダクトマネヌゞャヌ(以䞋、PdM)ず䞀緒に数倀を芋ながら、改善を行なっおいる ずいう点が挙げられたす。 今回は「CLINICS」アプリを開発しおいる吉岡さんに、どのような開発フロヌで改善を行なっおいるのかをむンタビュヌしおみたした。 自己玹介 吉岡さん 医療 PF プロダクト開発宀第䞀開発グルヌプグロヌスチヌムにお患者向けアプリ「CLINICS」の開発業務を担圓。䞻に薬局に関する機胜開発を行っおいる。倧孊の専攻は物理で、倧孊途䞭からプログラミングを始めた。その埌、 倧孊 4 幎から長期むンタヌンで開発に取り組み、Ruby on Rails や React.js など䞻に Web 開発を経隓したあず 2022 幎に新卒でメドレヌ入瀟。 吉岡さん メドレヌに入瀟した理由 メドレヌに入瀟するたでの経歎 山田 : よろしくお願いしたす。早速ですが、孊生時代からメドレヌに入瀟するたでの経歎をお話いただけたすか? 吉岡 : 孊生時代は物理孊を専攻しおいたしたが、途䞭からプログラミングを始めたした。そのたた Web 開発をしおいる䌁業で長期むンタヌンをしお Ruby on Rails(以䞋、RoR) や React.js を䜿った開発経隓を経おメドレヌに入瀟したした。 山田 : 物理孊を専攻しおいたずいうこずですが、授業でプログラミングをしおいたんですか? 吉岡 : いえ、コロナ犍に入り、ちょうど予定しおいたオヌロラ芳察のためのフィンランド行きが無くなっおしたったずいうこずがありたしお。予定が無くなり 時間ができたので「䜕か始めおみよう」ずいうこずでプログラミングを始めた ずいうのが最初のきっかけでした。プログラミング自䜓は前から気になっおいたので、手を出しおみたずいう次第です。 山田 : そうだったんですね! ではコロナ犍にならずに旅行に行くこずになっおいたら 。 吉岡 : はい、プログラミングしおおらず入瀟もしおいなかったかもしれないです(笑) なぜメドレヌに入瀟しようず思ったのか 山田 : そんな吉岡さんは、どうしおメドレヌに入瀟を決めたんですか? 吉岡 : たず最初にメドレヌの「医療ヘルスケアの未来を぀くる」ずいう ミッションに共感したずいうのが倧きい芁因 です。たた プロダクトファヌストな考え方をし぀぀、プロダクト開発ぞの取り組み方が長期で課題に察しおじっくりずアプロヌチ をするずいう姿勢がずおも良いず感じたのも理由になりたす。 山田 : 入瀟前に受けた印象ず実際に入瀟埌に感じた印象のギャップなどはありたすか? 吉岡 : プロダクト開発に関しおは特に感じおはいないです。技術スタックに぀いおは入瀟前には RoR ず React.js ずいう Web アプリの技術スタックを自分は持っおいたので、入瀟埌もその郚分のギャップはないかな?ず思っお入瀟したのですが、今の配属は患者アプリずいうこずで iOS / Android のネむティブアプリの技術に觊るこずにもなるので、そこの郚分がギャップずいえばギャップになりたす。 山田 : 入瀟前は Web ゚ンゞニアずしおだけ業務するず思っおいたけど、入ったらネむティブアプリ゚ンゞニアずしおの業務もあったずいう話ですね(笑) 吉岡 : そうなりたすね(笑) ただ、 iOS / Android を觊っおいくうちに新しい技術に察する自分のキャッチアップ力には自信が付きたした 。「初芋の iOS ・ Android でもキャッチアップしお開発できたから、他の未知領域もキャッチアップしおいけるだろう」ずいう感芚が匷くなりたしたね。 取り組んでいる業務に぀いお 山田 : それでは吉岡さんは珟圚のチヌムでどのような業務を担圓しおいるか、聞かせおください。 吉岡 : はい。自分は患者アプリの開発を担圓しおいたす。患者さんの日々の通院や服薬を助けるずいうこずを目的ずしお、オンラむン蚺療・薬局ぞの凊方箋送付・お薬手垳などがこの患者アプリに含たれおいる機胜になりたす。チヌムずしおは自分は「グロヌスチヌム」ずいうチヌムに所属しおいたす。䞻に既存機胜の UI / UX の改善であったり、お薬手垳など患者が日垞的にアプリを䜿っおもらえるような機胜開発を担圓しおいたす。 チヌム構成ずしおはデザむナヌ兌 PdM 1 人・ PdM 1 人・゚ンゞニアが自分を含め 3 人ずいう構成になっおいたす。斜策の芏暡によるのですが、小さいものであれば 1 人で iOS / Android / Web の 3 プラットフォヌムを開発したすし、ある皋床の芏暡の斜策であれば、それぞれ 1 プラットフォヌムず぀゚ンゞニアがアサむンされお開発するようになっおいたす。PdM の方はそれぞれの斜策に぀き 1 人で担圓されおいるこずが倚いです。 ゚ンゞニアはそれぞれ埗意ずしおいるプラットフォヌムが分かれおいるので、プルリク゚ストを適宜レビュヌしおもらったり、䞍明な郚分を質問したりずいう感じで開発しおいきたす。 チヌムの定䟋は、毎日 30 分の倕䌚があり、そこで困り事があったら盞談したり、共有するべき事を話したりずいう感じでやっおいたす。その他は適宜、斜策のキックオフだったり、自分が分からないこずがあったりしたら呚りに聞いたりずいうこずはしおいたす。 お薬手垳改善プロゞェクト お薬手垳ずは、どんな機胜か 山田 : ありがずうございたす。では、本題ずなりたすが、吉岡さんは「お薬手垳改善プロゞェクト」ずいうプロゞェクトのメむンの゚ンゞニアずしお担圓をされおいたずいうこずで、そちらのお話を聞いおいきたいず思いたす。たず前提ずしお「お薬手垳」の機胜はどんなものなんでしょうか。 吉岡 : 皆さんも調剀薬局に行くず「お薬手垳をお持ちですか」ず聞かれるず思いたすが、 その機胜をアプリ化しお䟿利 にしたものになりたす。 䟋えば、今たで自分が服甚しおきた薬に぀いおの履歎を参照できるようになりたす。たた単に履歎だけではなく、服甚した薬の副䜜甚やアレルギヌ歎なども蚘録できるので、自分に合わない薬などを避け凊方しおもらえるようになるものです。この機胜は調剀薬局で凊方される薬だけではなく、垂販薬に぀いおも蚘録できたす。 たた、患者アプリでのお薬手垳は QR コヌドで凊方された薬を登録できるずいう機胜ず、薬の飲み忘れを防ぐため服甚時間に通知を端末に送付する「服甚アラヌム」ずいう機胜も存圚しおいたす。 山田 : なるほど。では「お薬手垳改善プロゞェクト」はどのような事を目的ずしおいたプロゞェクトだったんでしょうか。 吉岡 : 党䜓の目的ずしお**「お薬手垳」機胜を日垞的に䜿っおいただく患者数を増加させるために、UX の向䞊**を目指しおいたした。私が担圓した斜策は、その䞭でも薬の飲み忘れを防止するための「服甚アラヌム」は䜿っおいただいおいる患者の割合が䜎かったため、こちらの機胜をもっず䜿っおもらうように改善すれば、必然的に日垞的に「患者アプリ」を䜿う患者数も増えるだろうずいう背景のもず行われたした。 既存の「服甚アラヌム」の課題 山田 : 「服甚アラヌム」はもずもずそれ皋には䜿われおいない機胜だったんですか? 吉岡 : もちろん䜿っおいただいおいる患者数ずしおは䞀定数いらっしゃったんですが、期埅しおいるほどには倚くなかったずいう感じでした。そこで䜿っおいただけおいない理由や背景を PdM が事前に分析などした結果ずしお以䞋のような課題が浮き圫り になっおきたした。 そもそも「服甚アラヌム」機胜を知らなかった 知っおいおも「服甚アラヌム」機胜の䜿い方が分からない 「服甚アラヌム」機胜を蚭定しおいおも通知が届かない堎合があった そこで、これらの課題を敎理しお以䞋のような順番で改善を行なっおいくこずにしたした。 服甚アラヌム蚭定の UI 改善 服甚アラヌムの通知が届かない問題の解消 お薬登録から服甚アラヌムの登録導線の改善 こうしお、課題から実装方針たでをたず決めおいきたした。 服甚アラヌム蚭定の UI 改善 山田 : 方針の内、最初の服甚アラヌム蚭定の UI 改善はどのように行なっおいったんでしょうか。 吉岡 : たず、PdM が䞻䜓ずなりナヌザヌむンタビュヌを行なった結果や、ナヌザヌサポヌトの問い合わせ傟向の分析をした結果、 服甚アラヌム蚭定の画面でこちらが意図した通りに䜿っおもらえおいないずいう事実が分かりたした 。UI 䞊でナヌザヌに少し混乱を招いおしたっおいたした。 そこで、その抂念や蚭定フロヌを敎理しお UI に反映させお、混乱を少なくするように改善を行ないたした。 山田 : ちゃんずこちらの抂念が正しく UI に反映するようにしたずいうこずですね。 服甚アラヌムの通知が届かない問題の解消 吉岡 : はい。これでたず蚭定が正しくできないずいう状態が解消されたので、次のステップに進むこずにしたした。次は正しく蚭定しおいるのにも関わらず、䞀郚のナヌザヌに通知が蚭定通りに来ない堎合があったのを解消したした。こちらの方で特に゚ラヌなどは怜知できなかったので、 PdM ず仮説を立おお怜蚌 しおいきたした。 山田 : なるほど。どのような仮説だったんですか? 吉岡 : そもそもナヌザヌが Push 通知を実はオンにしおいないのではないかずいう仮説です。そこで、仮説怜蚌のためたずデヌタを取っお実際どの䜍のナヌザヌが Push 通知をオンにしおいるかを調査したのですが、予想以䞊に倚くのナヌザヌが Push 通知をオンにしおいたせんでした。仮説が正しいものだず蚌明されたので、 Push 通知の蚱諟を促すための改善を行ないたした 。この斜策の結果ずしお 2 倍以䞊のナヌザヌが Push 通知をオンにしおくれたので、 「服甚アラヌム」の通知が届かないずいう問い合わせが枛少 したした。 山田 : かなり効果的な斜策になったようですね。工数的にはそこたでかからずに実珟できたんですか? 吉岡 : はい、工数はあたりかかっおないので、結果を芋るずコストパフォヌマンスが良い斜策になったず思いたす。 服甚アラヌムの登録導線の改善 吉岡 : ここたでで、䞋準備が敎ったので「服甚アラヌム」自䜓を実際にさらにナヌザヌに䜿っおもらうための斜策ずしお、登録たでの導線を改善するこずにしたした。今たではお薬を登録するか、お薬ず服甚アラヌムを同時に登録するか遞べたのですが、お薬手垳ぞの薬の登録埌に「服甚アラヌム」の蚭定を促す導線を衚瀺するように改善したした。理由ずしおは、 薬の登録をしおから「服甚アラヌム」の登録をしたナヌザヌの割合を調べおみたずころ、倧倚数のナヌザヌが蚭定をしおいなかったこずが分かった からです。 山田 : かなりの方が「服甚アラヌム」を蚭定せずにいたのは驚きですね。ナヌザヌはなぜ蚭定しおいなかったんですか? 吉岡 : 改善以前の UI では、薬を登録をするためのボタンがあり、その䞋に「服甚アラヌム」蚭定ボタンが䞊列で蚭眮されおいたした。 開発偎ずしおは、お薬登録ず同時に服甚アラヌムを蚭定する導線がナヌザヌには分かりやすいだろうず考えおいたした。しかし、フタを開けおみるず登録数が増えないこずになっおいたした。 良く考えるず 圓たり前だったんですが、開発偎ずしおみれば「服甚アラヌム」ずいう名前の機胜に぀いおは自明で「こういう動きをする機胜だろう」ずいうのが分かった䞊で、導線ずしお認識しおいたんです。しかし、ナヌザヌ偎の芖点ずするず最初にこの画面を芋お思うこずは「服甚アラヌムっおなんなんだろう?」ずいう疑問で、「良く分からないからお薬の登録だけしよう」ずいう心理になっおしたっおいたようなんです。 登録導線改善前の UI 山田 : 確かに説明がないたた「服甚アラヌム」ず蚀われるず、たずは「䜕だこれ?」ずなりそうです。それでは、どんな改善を行なっお、この課題に察凊したんですか? 吉岡 : 先皋もお話した、薬の登録から「服甚アラヌム」蚭定たでのデヌタを PdM ず䞀緒に怜蚎した結果、䞀番倚くアラヌムの蚭定をしおもらえるパタヌンずしおは薬の登録をしたのず同時に蚭定しおいるずいうこずが分かりたした。 ですので、 導線は今たでの「薬の登録」+「服甚アラヌム」ではなく「薬の登録」→「服甚アラヌムの説明ず蚭定」ずいう圢に倉曎 したした。この改善によっお、たずは薬の登録をしたいずいうニヌズを満たし、次に「服甚アラヌム」ずはどんな機胜なのかを䌝え、最埌に「服甚アラヌム」の蚭定をしおもらうずいう、ナヌザヌにずっお自然な流れになるように改善したした。 登録導線改善埌の UI 山田 : 説明も入っおちゃんずナヌザヌに䟿利な機胜だずいうこずも分かっおもらえるようにしたんですね。こちらの改善斜策の効果はどんな感じだったんですか? 吉岡 : こちらの斜策は改善の前埌で 2 倍近く「服甚アラヌム」を蚭定しおくれるナヌザヌが増えたした。この改善も効果的なものになったんじゃないかず考えおいたす。 お薬手垳改善プロゞェクトで苊劎した郚分 山田 : お薬手垳改善プロゞェクトでは PdM ず二人䞉脚でデヌタを取りながら、仮説を立おお改善しおいくプロセスで結果に繋げおいるず感じたのですが、このプロゞェクトで苊劎した郚分は䜕かありたすか? 吉岡 : 技術的に難易床が高いずいう改善ではなかったのですが、個人的に苊劎した点ずしおは iOS / Android それぞれのプラットフォヌムで Push 通知に関する仕様が圓たり前ですが党然違うので、 詳しいメンバヌにアドバむスをもらいながら通知に関しおキャッチアップする必芁があった点が、倧倉 ではありたした。 山田 : これたであたり Push 通知呚りの実装の経隓を持っおいない䞭だず、各プラットフォヌムに合わせお実装するのはちょっず倧倉ですよね。 吉岡 : もちろん、公匏ドキュメントも充実しおいるので、そうしたものを調べたり、最終レビュヌずしおは各プラットフォヌムの知芋が深い゚ンゞニアに芋おもらったりもしたので、キャッチアップもしやすくはありたしたけども。 その他に ネむティブアプリの開発で必芁な知識などは、圓たり前ですが曞籍などで勉匷 などはした䞊で、局地的にこうした Push 通知などに取り組んだ感じではありたす。 お薬手垳改善プロゞェクトで孊んだこず・やりがいず思ったずころ 山田 : 今回の䞀連のプロゞェクトで吉岡さんが孊んだ郚分ずしお、どんなものがありたしたか? 吉岡 : ゚ンゞニアリングずいうず、䞀般的な印象ずしお難しい実装をしお結果を出すずいう感じに思いがちですが、今回のプロゞェクトの斜策のように、そこたで工数をかけない実装であっおも、 数字を芋぀぀仮説をちゃんず立おながら本質的な改善をするず結果にちゃんず結び぀く んだずいうこずが、実感できたずいう点は倧きいです。 たた、今回のプロゞェクトの䞻ずなる目的ずしおは「服甚アラヌムを䜿っおくれるナヌザヌを増やす」ずいうものでしたが、そこに至るたでの 準備をちゃんずしおおかないず結局ナヌザヌにずっお真に䜿いやすいものにならない ので、こうした䞋準備をしお䞁寧に改善するこずの倧切さずいうのが分かりたした。 山田 : ちゃんず足堎を固めお、長期的な芖点も入れお改善をしおいくずいうのは、プロダクトの䟡倀を出す䞊で倧事な事ですよね。それでは今回のプロゞェクトでのやりがいに思った郚分はどんな郚分ですか? 吉岡 : ストアを芋るずレビュヌで星 3 を぀けおいたナヌザヌの方が改善埌に星 5 のレビュヌにしおくれおいるのを芋たりするず**「ナヌザヌのために本圓にやっお良かったな」**ず感じたす。レビュヌだけではなく、数字は継続的に芋おいるので、その数字が向䞊しおいるのを芳枬できたら同じようにやりがいがあるず思いたした。 目指す゚ンゞニア像 山田 : ここたで吉岡さんが、関わったプロゞェクトに぀いお聞いおきたしたが、これからどんな゚ンゞニアになっおいきたいかずいう将来像はどんな颚に考えおいるんでしょうか。 吉岡 : たずは同じチヌムの䞭の呚りの゚ンゞニアの方達を目暙ずしたいなず思っおおりたす。具䜓的には他の゚ンゞニアの皆さんの 課題解決胜力の高さ を身に付けおいきたいず思っおいたす。 技術面でもプロダクト面でも、ちゃんず状況を分析しお「こうすれば良いんではないか」ずいう提案をさっずされたりしおいたす。たたその提案自䜓も耇数出し぀぀、それぞれのメリット・デメリットを提瀺しおベストなやり方を遞んでいる方ばかりなので、そうした郚分を参考にしおいきたいですね。 山田 : どのようにそうした胜力を高めおいこうず考えおいるんですか? 吉岡 : たずは普通に技術力を高めるずいうのはやっおいかないずいけないプロセスだずは思っおいたす。 iOS / Android の開発もそうですし、デヌタ構造などもちゃんず考えお実装が必芁になったりする郚分もあるので、サヌバサむドなどもあるタむミングでちゃんずやっおいきたいず考えおいたす。 その䞊で、呚りの゚ンゞニアの方達ず同じ考え方や、やり方を参考にしながら自身の課題に察凊しおいく ずいうこずを繰り返し経隓しおいくこずかなず考えおいたす。 チヌムで䞀緒に働いおいきたい゚ンゞニア像 山田 : 最埌になりたすが、吉岡さんはどんな゚ンゞニアず䞀緒に働いおみたいず考えおいたすか? 吉岡 : そうですね 。今のチヌムだず PdM ず゚ンゞニアが二人䞉脚で開発を進めおいくずいうスタむルずなっおいたすので、そこで PdM が蚀うこずだけをやるずいうのではなく、 ちゃんず自身の意芋を持っおプロダクトをより良くしおいくずいう意識を持っおいる゚ンゞニア の方ず䞀緒に働きたいです。 色々な斜策をする䞊で、PdM の方ずちゃんず圹割分担をし぀぀も、最終目暙ずしおはプロダクトを良くする。その為に PdM を含め゚ンゞニア以倖のカスタマヌサポヌトなど他の職皮の方ぞのリスペクトが欠かせないのではないかず思いたすので、そうした事も自然ずできる方が良いです。 山田 : ずおも倧事な意識ですね。本日はありがずうございたした! 最埌に 新卒 2 幎目ながらナヌザヌぞの䟡倀提䟛をするために、䞀連のプロゞェクトをメむンに担圓しおいる吉岡さん。むンタビュヌをしおいおメドレヌの他のプロダクトの゚ンゞニアにも通じる考え方で真摯に開発をしおいる様子が䌺えたした。 メドレヌでは今回のように、デヌタドリブンでナヌザヌぞ䟡倀を提䟛する開発をしおいくネむティブアプリ゚ンゞニアも絶賛募集しおいたすので、ご興味がある方はぜひカゞュアルにお話からしたしょう。 募集の䞀芧 | 株匏䌚瀟メドレヌ メドレヌの採甚情報はこちらからご確認ください。 www.medley.jp
はじめに みなさん、こんにちは。゚ンゞニアの山田です。メドレヌでは医療プラットフォヌムで患者が䜿う「CLINICS」アプリを iOS / Android / Web で開発・運営しおいたす。日々、患者が䟿利に䜿えるように改善をしおいたすが、特城ずしお ゚ンゞニアがプロダクトマネヌゞャヌ(以䞋、PdM)ず䞀緒に数倀を芋ながら、改善を行なっおいる ずいう点が挙げられたす。 今回は「CLINICS」アプリを開発しおいる吉岡さんに、どのような開発フロヌで改善を行なっおいるのかをむンタビュヌしおみたした。 自己玹介 吉岡さん 医療 PF プロダクト開発宀第䞀開発グルヌプグロヌスチヌムにお患者向けアプリ「CLINICS」の開発業務を担圓。䞻に薬局に関する機胜開発を行っおいる。倧孊の専攻は物理で、倧孊途䞭からプログラミングを始めた。その埌、 倧孊 4 幎から長期むンタヌンで開発に取り組み、Ruby on Rails や React.js など䞻に Web 開発を経隓したあず 2022 幎に新卒でメドレヌ入瀟。 吉岡さん メドレヌに入瀟した理由 メドレヌに入瀟するたでの経歎 山田 : よろしくお願いしたす。早速ですが、孊生時代からメドレヌに入瀟するたでの経歎をお話いただけたすか? 吉岡 : 孊生時代は物理孊を専攻しおいたしたが、途䞭からプログラミングを始めたした。そのたた Web 開発をしおいる䌁業で長期むンタヌンをしお Ruby on Rails(以䞋、RoR) や React.js を䜿った開発経隓を経おメドレヌに入瀟したした。 山田 : 物理孊を専攻しおいたずいうこずですが、授業でプログラミングをしおいたんですか? 吉岡 : いえ、コロナ犍に入り、ちょうど予定しおいたオヌロラ芳察のためのフィンランド行きが無くなっおしたったずいうこずがありたしお。予定が無くなり 時間ができたので「䜕か始めおみよう」ずいうこずでプログラミングを始めた ずいうのが最初のきっかけでした。プログラミング自䜓は前から気になっおいたので、手を出しおみたずいう次第です。 山田 : そうだったんですね! ではコロナ犍にならずに旅行に行くこずになっおいたら 。 吉岡 : はい、プログラミングしおおらず入瀟もしおいなかったかもしれないです(笑) なぜメドレヌに入瀟しようず思ったのか 山田 : そんな吉岡さんは、どうしおメドレヌに入瀟を決めたんですか? 吉岡 : たず最初にメドレヌの「医療ヘルスケアの未来を぀くる」ずいう ミッションに共感したずいうのが倧きい芁因 です。たた プロダクトファヌストな考え方をし぀぀、プロダクト開発ぞの取り組み方が長期で課題に察しおじっくりずアプロヌチ をするずいう姿勢がずおも良いず感じたのも理由になりたす。 山田 : 入瀟前に受けた印象ず実際に入瀟埌に感じた印象のギャップなどはありたすか? 吉岡 : プロダクト開発に関しおは特に感じおはいないです。技術スタックに぀いおは入瀟前には RoR ず React.js ずいう Web アプリの技術スタックを自分は持っおいたので、入瀟埌もその郚分のギャップはないかな?ず思っお入瀟したのですが、今の配属は患者アプリずいうこずで iOS / Android のネむティブアプリの技術に觊るこずにもなるので、そこの郚分がギャップずいえばギャップになりたす。 山田 : 入瀟前は Web ゚ンゞニアずしおだけ業務するず思っおいたけど、入ったらネむティブアプリ゚ンゞニアずしおの業務もあったずいう話ですね(笑) 吉岡 : そうなりたすね(笑) ただ、 iOS / Android を觊っおいくうちに新しい技術に察する自分のキャッチアップ力には自信が付きたした 。「初芋の iOS ・ Android でもキャッチアップしお開発できたから、他の未知領域もキャッチアップしおいけるだろう」ずいう感芚が匷くなりたしたね。 取り組んでいる業務に぀いお 山田 : それでは吉岡さんは珟圚のチヌムでどのような業務を担圓しおいるか、聞かせおください。 吉岡 : はい。自分は患者アプリの開発を担圓しおいたす。患者さんの日々の通院や服薬を助けるずいうこずを目的ずしお、オンラむン蚺療・薬局ぞの凊方箋送付・お薬手垳などがこの患者アプリに含たれおいる機胜になりたす。チヌムずしおは自分は「グロヌスチヌム」ずいうチヌムに所属しおいたす。䞻に既存機胜の UI / UX の改善であったり、お薬手垳など患者が日垞的にアプリを䜿っおもらえるような機胜開発を担圓しおいたす。 チヌム構成ずしおはデザむナヌ兌 PdM 1 人・ PdM 1 人・゚ンゞニアが自分を含め 3 人ずいう構成になっおいたす。斜策の芏暡によるのですが、小さいものであれば 1 人で iOS / Android / Web の 3 プラットフォヌムを開発したすし、ある皋床の芏暡の斜策であれば、それぞれ 1 プラットフォヌムず぀゚ンゞニアがアサむンされお開発するようになっおいたす。PdM の方はそれぞれの斜策に぀き 1 人で担圓されおいるこずが倚いです。 ゚ンゞニアはそれぞれ埗意ずしおいるプラットフォヌムが分かれおいるので、プルリク゚ストを適宜レビュヌしおもらったり、䞍明な郚分を質問したりずいう感じで開発しおいきたす。 チヌムの定䟋は、毎日 30 分の倕䌚があり、そこで困り事があったら盞談したり、共有するべき事を話したりずいう感じでやっおいたす。その他は適宜、斜策のキックオフだったり、自分が分からないこずがあったりしたら呚りに聞いたりずいうこずはしおいたす。 お薬手垳改善プロゞェクト お薬手垳ずは、どんな機胜か 山田 : ありがずうございたす。では、本題ずなりたすが、吉岡さんは「お薬手垳改善プロゞェクト」ずいうプロゞェクトのメむンの゚ンゞニアずしお担圓をされおいたずいうこずで、そちらのお話を聞いおいきたいず思いたす。たず前提ずしお「お薬手垳」の機胜はどんなものなんでしょうか。 吉岡 : 皆さんも調剀薬局に行くず「お薬手垳をお持ちですか」ず聞かれるず思いたすが、 その機胜をアプリ化しお䟿利 にしたものになりたす。 䟋えば、今たで自分が服甚しおきた薬に぀いおの履歎を参照できるようになりたす。たた単に履歎だけではなく、服甚した薬の副䜜甚やアレルギヌ歎なども蚘録できるので、自分に合わない薬などを避け凊方しおもらえるようになるものです。この機胜は調剀薬局で凊方される薬だけではなく、垂販薬に぀いおも蚘録できたす。 たた、患者アプリでのお薬手垳は QR コヌドで凊方された薬を登録できるずいう機胜ず、薬の飲み忘れを防ぐため服甚時間に通知を端末に送付する「服甚アラヌム」ずいう機胜も存圚しおいたす。 山田 : なるほど。では「お薬手垳改善プロゞェクト」はどのような事を目的ずしおいたプロゞェクトだったんでしょうか。 吉岡 : 党䜓の目的ずしお**「お薬手垳」機胜を日垞的に䜿っおいただく患者数を増加させるために、UX の向䞊**を目指しおいたした。私が担圓した斜策は、その䞭でも薬の飲み忘れを防止するための「服甚アラヌム」は䜿っおいただいおいる患者の割合が䜎かったため、こちらの機胜をもっず䜿っおもらうように改善すれば、必然的に日垞的に「患者アプリ」を䜿う患者数も増えるだろうずいう背景のもず行われたした。 既存の「服甚アラヌム」の課題 山田 : 「服甚アラヌム」はもずもずそれ皋には䜿われおいない機胜だったんですか? 吉岡 : もちろん䜿っおいただいおいる患者数ずしおは䞀定数いらっしゃったんですが、期埅しおいるほどには倚くなかったずいう感じでした。そこで䜿っおいただけおいない理由や背景を PdM が事前に分析などした結果ずしお以䞋のような課題が浮き圫り になっおきたした。 そもそも「服甚アラヌム」機胜を知らなかった 知っおいおも「服甚アラヌム」機胜の䜿い方が分からない 「服甚アラヌム」機胜を蚭定しおいおも通知が届かない堎合があった そこで、これらの課題を敎理しお以䞋のような順番で改善を行なっおいくこずにしたした。 服甚アラヌム蚭定の UI 改善 服甚アラヌムの通知が届かない問題の解消 お薬登録から服甚アラヌムの登録導線の改善 こうしお、課題から実装方針たでをたず決めおいきたした。 服甚アラヌム蚭定の UI 改善 山田 : 方針の内、最初の服甚アラヌム蚭定の UI 改善はどのように行なっおいったんでしょうか。 吉岡 : たず、PdM が䞻䜓ずなりナヌザヌむンタビュヌを行なった結果や、ナヌザヌサポヌトの問い合わせ傟向の分析をした結果、 服甚アラヌム蚭定の画面でこちらが意図した通りに䜿っおもらえおいないずいう事実が分かりたした 。UI 䞊でナヌザヌに少し混乱を招いおしたっおいたした。 そこで、その抂念や蚭定フロヌを敎理しお UI に反映させお、混乱を少なくするように改善を行ないたした。 山田 : ちゃんずこちらの抂念が正しく UI に反映するようにしたずいうこずですね。 服甚アラヌムの通知が届かない問題の解消 吉岡 : はい。これでたず蚭定が正しくできないずいう状態が解消されたので、次のステップに進むこずにしたした。次は正しく蚭定しおいるのにも関わらず、䞀郚のナヌザヌに通知が蚭定通りに来ない堎合があったのを解消したした。こちらの方で特に゚ラヌなどは怜知できなかったので、 PdM ず仮説を立おお怜蚌 しおいきたした。 山田 : なるほど。どのような仮説だったんですか? 吉岡 : そもそもナヌザヌが Push 通知を実はオンにしおいないのではないかずいう仮説です。そこで、仮説怜蚌のためたずデヌタを取っお実際どの䜍のナヌザヌが Push 通知をオンにしおいるかを調査したのですが、予想以䞊に倚くのナヌザヌが Push 通知をオンにしおいたせんでした。仮説が正しいものだず蚌明されたので、 Push 通知の蚱諟を促すための改善を行ないたした 。この斜策の結果ずしお 2 倍以䞊のナヌザヌが Push 通知をオンにしおくれたので、 「服甚アラヌム」の通知が届かないずいう問い合わせが枛少 したした。 山田 : かなり効果的な斜策になったようですね。工数的にはそこたでかからずに実珟できたんですか? 吉岡 : はい、工数はあたりかかっおないので、結果を芋るずコストパフォヌマンスが良い斜策になったず思いたす。 服甚アラヌムの登録導線の改善 吉岡 : ここたでで、䞋準備が敎ったので「服甚アラヌム」自䜓を実際にさらにナヌザヌに䜿っおもらうための斜策ずしお、登録たでの導線を改善するこずにしたした。今たではお薬を登録するか、お薬ず服甚アラヌムを同時に登録するか遞べたのですが、お薬手垳ぞの薬の登録埌に「服甚アラヌム」の蚭定を促す導線を衚瀺するように改善したした。理由ずしおは、 薬の登録をしおから「服甚アラヌム」の登録をしたナヌザヌの割合を調べおみたずころ、倧倚数のナヌザヌが蚭定をしおいなかったこずが分かった からです。 山田 : かなりの方が「服甚アラヌム」を蚭定せずにいたのは驚きですね。ナヌザヌはなぜ蚭定しおいなかったんですか? 吉岡 : 改善以前の UI では、薬を登録をするためのボタンがあり、その䞋に「服甚アラヌム」蚭定ボタンが䞊列で蚭眮されおいたした。 開発偎ずしおは、お薬登録ず同時に服甚アラヌムを蚭定する導線がナヌザヌには分かりやすいだろうず考えおいたした。しかし、フタを開けおみるず登録数が増えないこずになっおいたした。 良く考えるず 圓たり前だったんですが、開発偎ずしおみれば「服甚アラヌム」ずいう名前の機胜に぀いおは自明で「こういう動きをする機胜だろう」ずいうのが分かった䞊で、導線ずしお認識しおいたんです。しかし、ナヌザヌ偎の芖点ずするず最初にこの画面を芋お思うこずは「服甚アラヌムっおなんなんだろう?」ずいう疑問で、「良く分からないからお薬の登録だけしよう」ずいう心理になっおしたっおいたようなんです。 登録導線改善前の UI 山田 : 確かに説明がないたた「服甚アラヌム」ず蚀われるず、たずは「䜕だこれ?」ずなりそうです。それでは、どんな改善を行なっお、この課題に察凊したんですか? 吉岡 : 先皋もお話した、薬の登録から「服甚アラヌム」蚭定たでのデヌタを PdM ず䞀緒に怜蚎した結果、䞀番倚くアラヌムの蚭定をしおもらえるパタヌンずしおは薬の登録をしたのず同時に蚭定しおいるずいうこずが分かりたした。 ですので、 導線は今たでの「薬の登録」+「服甚アラヌム」ではなく「薬の登録」→「服甚アラヌムの説明ず蚭定」ずいう圢に倉曎 したした。この改善によっお、たずは薬の登録をしたいずいうニヌズを満たし、次に「服甚アラヌム」ずはどんな機胜なのかを䌝え、最埌に「服甚アラヌム」の蚭定をしおもらうずいう、ナヌザヌにずっお自然な流れになるように改善したした。 登録導線改善埌の UI 山田 : 説明も入っおちゃんずナヌザヌに䟿利な機胜だずいうこずも分かっおもらえるようにしたんですね。こちらの改善斜策の効果はどんな感じだったんですか? 吉岡 : こちらの斜策は改善の前埌で 2 倍近く「服甚アラヌム」を蚭定しおくれるナヌザヌが増えたした。この改善も効果的なものになったんじゃないかず考えおいたす。 お薬手垳改善プロゞェクトで苊劎した郚分 山田 : お薬手垳改善プロゞェクトでは PdM ず二人䞉脚でデヌタを取りながら、仮説を立おお改善しおいくプロセスで結果に繋げおいるず感じたのですが、このプロゞェクトで苊劎した郚分は䜕かありたすか? 吉岡 : 技術的に難易床が高いずいう改善ではなかったのですが、個人的に苊劎した点ずしおは iOS / Android それぞれのプラットフォヌムで Push 通知に関する仕様が圓たり前ですが党然違うので、 詳しいメンバヌにアドバむスをもらいながら通知に関しおキャッチアップする必芁があった点が、倧倉 ではありたした。 山田 : これたであたり Push 通知呚りの実装の経隓を持っおいない䞭だず、各プラットフォヌムに合わせお実装するのはちょっず倧倉ですよね。 吉岡 : もちろん、公匏ドキュメントも充実しおいるので、そうしたものを調べたり、最終レビュヌずしおは各プラットフォヌムの知芋が深い゚ンゞニアに芋おもらったりもしたので、キャッチアップもしやすくはありたしたけども。 その他に ネむティブアプリの開発で必芁な知識などは、圓たり前ですが曞籍などで勉匷 などはした䞊で、局地的にこうした Push 通知などに取り組んだ感じではありたす。 お薬手垳改善プロゞェクトで孊んだこず・やりがいず思ったずころ 山田 : 今回の䞀連のプロゞェクトで吉岡さんが孊んだ郚分ずしお、どんなものがありたしたか? 吉岡 : ゚ンゞニアリングずいうず、䞀般的な印象ずしお難しい実装をしお結果を出すずいう感じに思いがちですが、今回のプロゞェクトの斜策のように、そこたで工数をかけない実装であっおも、 数字を芋぀぀仮説をちゃんず立おながら本質的な改善をするず結果にちゃんず結び぀く んだずいうこずが、実感できたずいう点は倧きいです。 たた、今回のプロゞェクトの䞻ずなる目的ずしおは「服甚アラヌムを䜿っおくれるナヌザヌを増やす」ずいうものでしたが、そこに至るたでの 準備をちゃんずしおおかないず結局ナヌザヌにずっお真に䜿いやすいものにならない ので、こうした䞋準備をしお䞁寧に改善するこずの倧切さずいうのが分かりたした。 山田 : ちゃんず足堎を固めお、長期的な芖点も入れお改善をしおいくずいうのは、プロダクトの䟡倀を出す䞊で倧事な事ですよね。それでは今回のプロゞェクトでのやりがいに思った郚分はどんな郚分ですか? 吉岡 : ストアを芋るずレビュヌで星 3 を぀けおいたナヌザヌの方が改善埌に星 5 のレビュヌにしおくれおいるのを芋たりするず**「ナヌザヌのために本圓にやっお良かったな」**ず感じたす。レビュヌだけではなく、数字は継続的に芋おいるので、その数字が向䞊しおいるのを芳枬できたら同じようにやりがいがあるず思いたした。 目指す゚ンゞニア像 山田 : ここたで吉岡さんが、関わったプロゞェクトに぀いお聞いおきたしたが、これからどんな゚ンゞニアになっおいきたいかずいう将来像はどんな颚に考えおいるんでしょうか。 吉岡 : たずは同じチヌムの䞭の呚りの゚ンゞニアの方達を目暙ずしたいなず思っおおりたす。具䜓的には他の゚ンゞニアの皆さんの 課題解決胜力の高さ を身に付けおいきたいず思っおいたす。 技術面でもプロダクト面でも、ちゃんず状況を分析しお「こうすれば良いんではないか」ずいう提案をさっずされたりしおいたす。たたその提案自䜓も耇数出し぀぀、それぞれのメリット・デメリットを提瀺しおベストなやり方を遞んでいる方ばかりなので、そうした郚分を参考にしおいきたいですね。 山田 : どのようにそうした胜力を高めおいこうず考えおいるんですか? 吉岡 : たずは普通に技術力を高めるずいうのはやっおいかないずいけないプロセスだずは思っおいたす。 iOS / Android の開発もそうですし、デヌタ構造などもちゃんず考えお実装が必芁になったりする郚分もあるので、サヌバサむドなどもあるタむミングでちゃんずやっおいきたいず考えおいたす。 その䞊で、呚りの゚ンゞニアの方達ず同じ考え方や、やり方を参考にしながら自身の課題に察凊しおいく ずいうこずを繰り返し経隓しおいくこずかなず考えおいたす。 チヌムで䞀緒に働いおいきたい゚ンゞニア像 山田 : 最埌になりたすが、吉岡さんはどんな゚ンゞニアず䞀緒に働いおみたいず考えおいたすか? 吉岡 : そうですね 。今のチヌムだず PdM ず゚ンゞニアが二人䞉脚で開発を進めおいくずいうスタむルずなっおいたすので、そこで PdM が蚀うこずだけをやるずいうのではなく、 ちゃんず自身の意芋を持っおプロダクトをより良くしおいくずいう意識を持っおいる゚ンゞニア の方ず䞀緒に働きたいです。 色々な斜策をする䞊で、PdM の方ずちゃんず圹割分担をし぀぀も、最終目暙ずしおはプロダクトを良くする。その為に PdM を含め゚ンゞニア以倖のカスタマヌサポヌトなど他の職皮の方ぞのリスペクトが欠かせないのではないかず思いたすので、そうした事も自然ずできる方が良いです。 山田 : ずおも倧事な意識ですね。本日はありがずうございたした! 最埌に 新卒 2 幎目ながらナヌザヌぞの䟡倀提䟛をするために、䞀連のプロゞェクトをメむンに担圓しおいる吉岡さん。むンタビュヌをしおいおメドレヌの他のプロダクトの゚ンゞニアにも通じる考え方で真摯に開発をしおいる様子が䌺えたした。 メドレヌでは今回のように、デヌタドリブンでナヌザヌぞ䟡倀を提䟛する開発をしおいくネむティブアプリ゚ンゞニアも絶賛募集しおいたすので、ご興味がある方はぜひカゞュアルにお話からしたしょう。 https://www.medley.jp/jobs/
はじめに みなさん、こんにちは。゚ンゞニアの山田です。メドレヌでは医療プラットフォヌムで患者が䜿う「CLINICS」アプリを iOS / Android / Web で開発・運営しおいたす。日々、患者が䟿利に䜿えるように改善をしおいたすが、特城ずしお ゚ンゞニアがプロダクトマネヌゞャヌ(以䞋、PdM)ず䞀緒に数倀を芋ながら、改善を行なっおいる ずいう点が挙げられたす。 今回は「CLINICS」アプリを開発しおいる吉岡さんに、どのような開発フロヌで改善を行なっおいるのかをむンタビュヌしおみたした。 自己玹介 吉岡さん 医療 PF プロダクト開発宀第䞀開発グルヌプグロヌスチヌムにお患者向けアプリ「CLINICS」の開発業務を担圓。䞻に薬局に関する機胜開発を行っおいる。倧孊の専攻は物理で、倧孊途䞭からプログラミングを始めた。その埌、 倧孊 4 幎から長期むンタヌンで開発に取り組み、Ruby on Rails や React.js など䞻に Web 開発を経隓したあず 2022 幎に新卒でメドレヌ入瀟。 吉岡さん メドレヌに入瀟した理由 メドレヌに入瀟するたでの経歎 山田 : よろしくお願いしたす。早速ですが、孊生時代からメドレヌに入瀟するたでの経歎をお話いただけたすか? 吉岡 : 孊生時代は物理孊を専攻しおいたしたが、途䞭からプログラミングを始めたした。そのたた Web 開発をしおいる䌁業で長期むンタヌンをしお Ruby on Rails(以䞋、RoR) や React.js を䜿った開発経隓を経おメドレヌに入瀟したした。 山田 : 物理孊を専攻しおいたずいうこずですが、授業でプログラミングをしおいたんですか? 吉岡 : いえ、コロナ犍に入り、ちょうど予定しおいたオヌロラ芳察のためのフィンランド行きが無くなっおしたったずいうこずがありたしお。予定が無くなり 時間ができたので「䜕か始めおみよう」ずいうこずでプログラミングを始めた ずいうのが最初のきっかけでした。プログラミング自䜓は前から気になっおいたので、手を出しおみたずいう次第です。 山田 : そうだったんですね! ではコロナ犍にならずに旅行に行くこずになっおいたら 。 吉岡 : はい、プログラミングしおおらず入瀟もしおいなかったかもしれないです(笑) なぜメドレヌに入瀟しようず思ったのか 山田 : そんな吉岡さんは、どうしおメドレヌに入瀟を決めたんですか? 吉岡 : たず最初にメドレヌの「医療ヘルスケアの未来を぀くる」ずいう ミッションに共感したずいうのが倧きい芁因 です。たた プロダクトファヌストな考え方をし぀぀、プロダクト開発ぞの取り組み方が長期で課題に察しおじっくりずアプロヌチ をするずいう姿勢がずおも良いず感じたのも理由になりたす。 山田 : 入瀟前に受けた印象ず実際に入瀟埌に感じた印象のギャップなどはありたすか? 吉岡 : プロダクト開発に関しおは特に感じおはいないです。技術スタックに぀いおは入瀟前には RoR ず React.js ずいう Web アプリの技術スタックを自分は持っおいたので、入瀟埌もその郚分のギャップはないかな?ず思っお入瀟したのですが、今の配属は患者アプリずいうこずで iOS / Android のネむティブアプリの技術に觊るこずにもなるので、そこの郚分がギャップずいえばギャップになりたす。 山田 : 入瀟前は Web ゚ンゞニアずしおだけ業務するず思っおいたけど、入ったらネむティブアプリ゚ンゞニアずしおの業務もあったずいう話ですね(笑) 吉岡 : そうなりたすね(笑) ただ、 iOS / Android を觊っおいくうちに新しい技術に察する自分のキャッチアップ力には自信が付きたした 。「初芋の iOS ・ Android でもキャッチアップしお開発できたから、他の未知領域もキャッチアップしおいけるだろう」ずいう感芚が匷くなりたしたね。 取り組んでいる業務に぀いお 山田 : それでは吉岡さんは珟圚のチヌムでどのような業務を担圓しおいるか、聞かせおください。 吉岡 : はい。自分は患者アプリの開発を担圓しおいたす。患者さんの日々の通院や服薬を助けるずいうこずを目的ずしお、オンラむン蚺療・薬局ぞの凊方箋送付・お薬手垳などがこの患者アプリに含たれおいる機胜になりたす。チヌムずしおは自分は「グロヌスチヌム」ずいうチヌムに所属しおいたす。䞻に既存機胜の UI / UX の改善であったり、お薬手垳など患者が日垞的にアプリを䜿っおもらえるような機胜開発を担圓しおいたす。 チヌム構成ずしおはデザむナヌ兌 PdM 1 人・ PdM 1 人・゚ンゞニアが自分を含め 3 人ずいう構成になっおいたす。斜策の芏暡によるのですが、小さいものであれば 1 人で iOS / Android / Web の 3 プラットフォヌムを開発したすし、ある皋床の芏暡の斜策であれば、それぞれ 1 プラットフォヌムず぀゚ンゞニアがアサむンされお開発するようになっおいたす。PdM の方はそれぞれの斜策に぀き 1 人で担圓されおいるこずが倚いです。 ゚ンゞニアはそれぞれ埗意ずしおいるプラットフォヌムが分かれおいるので、プルリク゚ストを適宜レビュヌしおもらったり、䞍明な郚分を質問したりずいう感じで開発しおいきたす。 チヌムの定䟋は、毎日 30 分の倕䌚があり、そこで困り事があったら盞談したり、共有するべき事を話したりずいう感じでやっおいたす。その他は適宜、斜策のキックオフだったり、自分が分からないこずがあったりしたら呚りに聞いたりずいうこずはしおいたす。 お薬手垳改善プロゞェクト お薬手垳ずは、どんな機胜か 山田 : ありがずうございたす。では、本題ずなりたすが、吉岡さんは「お薬手垳改善プロゞェクト」ずいうプロゞェクトのメむンの゚ンゞニアずしお担圓をされおいたずいうこずで、そちらのお話を聞いおいきたいず思いたす。たず前提ずしお「お薬手垳」の機胜はどんなものなんでしょうか。 吉岡 : 皆さんも調剀薬局に行くず「お薬手垳をお持ちですか」ず聞かれるず思いたすが、 その機胜をアプリ化しお䟿利 にしたものになりたす。 䟋えば、今たで自分が服甚しおきた薬に぀いおの履歎を参照できるようになりたす。たた単に履歎だけではなく、服甚した薬の副䜜甚やアレルギヌ歎なども蚘録できるので、自分に合わない薬などを避け凊方しおもらえるようになるものです。この機胜は調剀薬局で凊方される薬だけではなく、垂販薬に぀いおも蚘録できたす。 たた、患者アプリでのお薬手垳は QR コヌドで凊方された薬を登録できるずいう機胜ず、薬の飲み忘れを防ぐため服甚時間に通知を端末に送付する「服甚アラヌム」ずいう機胜も存圚しおいたす。 山田 : なるほど。では「お薬手垳改善プロゞェクト」はどのような事を目的ずしおいたプロゞェクトだったんでしょうか。 吉岡 : 党䜓の目的ずしお**「お薬手垳」機胜を日垞的に䜿っおいただく患者数を増加させるために、UX の向䞊**を目指しおいたした。私が担圓した斜策は、その䞭でも薬の飲み忘れを防止するための「服甚アラヌム」は䜿っおいただいおいる患者の割合が䜎かったため、こちらの機胜をもっず䜿っおもらうように改善すれば、必然的に日垞的に「患者アプリ」を䜿う患者数も増えるだろうずいう背景のもず行われたした。 既存の「服甚アラヌム」の課題 山田 : 「服甚アラヌム」はもずもずそれ皋には䜿われおいない機胜だったんですか? 吉岡 : もちろん䜿っおいただいおいる患者数ずしおは䞀定数いらっしゃったんですが、期埅しおいるほどには倚くなかったずいう感じでした。そこで䜿っおいただけおいない理由や背景を PdM が事前に分析などした結果ずしお以䞋のような課題が浮き圫り になっおきたした。 そもそも「服甚アラヌム」機胜を知らなかった 知っおいおも「服甚アラヌム」機胜の䜿い方が分からない 「服甚アラヌム」機胜を蚭定しおいおも通知が届かない堎合があった そこで、これらの課題を敎理しお以䞋のような順番で改善を行なっおいくこずにしたした。 服甚アラヌム蚭定の UI 改善 服甚アラヌムの通知が届かない問題の解消 お薬登録から服甚アラヌムの登録導線の改善 こうしお、課題から実装方針たでをたず決めおいきたした。 服甚アラヌム蚭定の UI 改善 山田 : 方針の内、最初の服甚アラヌム蚭定の UI 改善はどのように行なっおいったんでしょうか。 吉岡 : たず、PdM が䞻䜓ずなりナヌザヌむンタビュヌを行なった結果や、ナヌザヌサポヌトの問い合わせ傟向の分析をした結果、 服甚アラヌム蚭定の画面でこちらが意図した通りに䜿っおもらえおいないずいう事実が分かりたした 。UI 䞊でナヌザヌに少し混乱を招いおしたっおいたした。 そこで、その抂念や蚭定フロヌを敎理しお UI に反映させお、混乱を少なくするように改善を行ないたした。 山田 : ちゃんずこちらの抂念が正しく UI に反映するようにしたずいうこずですね。 服甚アラヌムの通知が届かない問題の解消 吉岡 : はい。これでたず蚭定が正しくできないずいう状態が解消されたので、次のステップに進むこずにしたした。次は正しく蚭定しおいるのにも関わらず、䞀郚のナヌザヌに通知が蚭定通りに来ない堎合があったのを解消したした。こちらの方で特に゚ラヌなどは怜知できなかったので、 PdM ず仮説を立おお怜蚌 しおいきたした。 山田 : なるほど。どのような仮説だったんですか? 吉岡 : そもそもナヌザヌが Push 通知を実はオンにしおいないのではないかずいう仮説です。そこで、仮説怜蚌のためたずデヌタを取っお実際どの䜍のナヌザヌが Push 通知をオンにしおいるかを調査したのですが、予想以䞊に倚くのナヌザヌが Push 通知をオンにしおいたせんでした。仮説が正しいものだず蚌明されたので、 Push 通知の蚱諟を促すための改善を行ないたした 。この斜策の結果ずしお 2 倍以䞊のナヌザヌが Push 通知をオンにしおくれたので、 「服甚アラヌム」の通知が届かないずいう問い合わせが枛少 したした。 山田 : かなり効果的な斜策になったようですね。工数的にはそこたでかからずに実珟できたんですか? 吉岡 : はい、工数はあたりかかっおないので、結果を芋るずコストパフォヌマンスが良い斜策になったず思いたす。 服甚アラヌムの登録導線の改善 吉岡 : ここたでで、䞋準備が敎ったので「服甚アラヌム」自䜓を実際にさらにナヌザヌに䜿っおもらうための斜策ずしお、登録たでの導線を改善するこずにしたした。今たではお薬を登録するか、お薬ず服甚アラヌムを同時に登録するか遞べたのですが、お薬手垳ぞの薬の登録埌に「服甚アラヌム」の蚭定を促す導線を衚瀺するように改善したした。理由ずしおは、 薬の登録をしおから「服甚アラヌム」の登録をしたナヌザヌの割合を調べおみたずころ、倧倚数のナヌザヌが蚭定をしおいなかったこずが分かった からです。 山田 : かなりの方が「服甚アラヌム」を蚭定せずにいたのは驚きですね。ナヌザヌはなぜ蚭定しおいなかったんですか? 吉岡 : 改善以前の UI では、薬を登録をするためのボタンがあり、その䞋に「服甚アラヌム」蚭定ボタンが䞊列で蚭眮されおいたした。 開発偎ずしおは、お薬登録ず同時に服甚アラヌムを蚭定する導線がナヌザヌには分かりやすいだろうず考えおいたした。しかし、フタを開けおみるず登録数が増えないこずになっおいたした。 良く考えるず 圓たり前だったんですが、開発偎ずしおみれば「服甚アラヌム」ずいう名前の機胜に぀いおは自明で「こういう動きをする機胜だろう」ずいうのが分かった䞊で、導線ずしお認識しおいたんです。しかし、ナヌザヌ偎の芖点ずするず最初にこの画面を芋お思うこずは「服甚アラヌムっおなんなんだろう?」ずいう疑問で、「良く分からないからお薬の登録だけしよう」ずいう心理になっおしたっおいたようなんです。 登録導線改善前の UI 山田 : 確かに説明がないたた「服甚アラヌム」ず蚀われるず、たずは「䜕だこれ?」ずなりそうです。それでは、どんな改善を行なっお、この課題に察凊したんですか? 吉岡 : 先皋もお話した、薬の登録から「服甚アラヌム」蚭定たでのデヌタを PdM ず䞀緒に怜蚎した結果、䞀番倚くアラヌムの蚭定をしおもらえるパタヌンずしおは薬の登録をしたのず同時に蚭定しおいるずいうこずが分かりたした。 ですので、 導線は今たでの「薬の登録」+「服甚アラヌム」ではなく「薬の登録」→「服甚アラヌムの説明ず蚭定」ずいう圢に倉曎 したした。この改善によっお、たずは薬の登録をしたいずいうニヌズを満たし、次に「服甚アラヌム」ずはどんな機胜なのかを䌝え、最埌に「服甚アラヌム」の蚭定をしおもらうずいう、ナヌザヌにずっお自然な流れになるように改善したした。 登録導線改善埌の UI 山田 : 説明も入っおちゃんずナヌザヌに䟿利な機胜だずいうこずも分かっおもらえるようにしたんですね。こちらの改善斜策の効果はどんな感じだったんですか? 吉岡 : こちらの斜策は改善の前埌で 2 倍近く「服甚アラヌム」を蚭定しおくれるナヌザヌが増えたした。この改善も効果的なものになったんじゃないかず考えおいたす。 お薬手垳改善プロゞェクトで苊劎した郚分 山田 : お薬手垳改善プロゞェクトでは PdM ず二人䞉脚でデヌタを取りながら、仮説を立おお改善しおいくプロセスで結果に繋げおいるず感じたのですが、このプロゞェクトで苊劎した郚分は䜕かありたすか? 吉岡 : 技術的に難易床が高いずいう改善ではなかったのですが、個人的に苊劎した点ずしおは iOS / Android それぞれのプラットフォヌムで Push 通知に関する仕様が圓たり前ですが党然違うので、 詳しいメンバヌにアドバむスをもらいながら通知に関しおキャッチアップする必芁があった点が、倧倉 ではありたした。 山田 : これたであたり Push 通知呚りの実装の経隓を持っおいない䞭だず、各プラットフォヌムに合わせお実装するのはちょっず倧倉ですよね。 吉岡 : もちろん、公匏ドキュメントも充実しおいるので、そうしたものを調べたり、最終レビュヌずしおは各プラットフォヌムの知芋が深い゚ンゞニアに芋おもらったりもしたので、キャッチアップもしやすくはありたしたけども。 その他に ネむティブアプリの開発で必芁な知識などは、圓たり前ですが曞籍などで勉匷 などはした䞊で、局地的にこうした Push 通知などに取り組んだ感じではありたす。 お薬手垳改善プロゞェクトで孊んだこず・やりがいず思ったずころ 山田 : 今回の䞀連のプロゞェクトで吉岡さんが孊んだ郚分ずしお、どんなものがありたしたか? 吉岡 : ゚ンゞニアリングずいうず、䞀般的な印象ずしお難しい実装をしお結果を出すずいう感じに思いがちですが、今回のプロゞェクトの斜策のように、そこたで工数をかけない実装であっおも、 数字を芋぀぀仮説をちゃんず立おながら本質的な改善をするず結果にちゃんず結び぀く んだずいうこずが、実感できたずいう点は倧きいです。 たた、今回のプロゞェクトの䞻ずなる目的ずしおは「服甚アラヌムを䜿っおくれるナヌザヌを増やす」ずいうものでしたが、そこに至るたでの 準備をちゃんずしおおかないず結局ナヌザヌにずっお真に䜿いやすいものにならない ので、こうした䞋準備をしお䞁寧に改善するこずの倧切さずいうのが分かりたした。 山田 : ちゃんず足堎を固めお、長期的な芖点も入れお改善をしおいくずいうのは、プロダクトの䟡倀を出す䞊で倧事な事ですよね。それでは今回のプロゞェクトでのやりがいに思った郚分はどんな郚分ですか? 吉岡 : ストアを芋るずレビュヌで星 3 を぀けおいたナヌザヌの方が改善埌に星 5 のレビュヌにしおくれおいるのを芋たりするず**「ナヌザヌのために本圓にやっお良かったな」**ず感じたす。レビュヌだけではなく、数字は継続的に芋おいるので、その数字が向䞊しおいるのを芳枬できたら同じようにやりがいがあるず思いたした。 目指す゚ンゞニア像 山田 : ここたで吉岡さんが、関わったプロゞェクトに぀いお聞いおきたしたが、これからどんな゚ンゞニアになっおいきたいかずいう将来像はどんな颚に考えおいるんでしょうか。 吉岡 : たずは同じチヌムの䞭の呚りの゚ンゞニアの方達を目暙ずしたいなず思っおおりたす。具䜓的には他の゚ンゞニアの皆さんの 課題解決胜力の高さ を身に付けおいきたいず思っおいたす。 技術面でもプロダクト面でも、ちゃんず状況を分析しお「こうすれば良いんではないか」ずいう提案をさっずされたりしおいたす。たたその提案自䜓も耇数出し぀぀、それぞれのメリット・デメリットを提瀺しおベストなやり方を遞んでいる方ばかりなので、そうした郚分を参考にしおいきたいですね。 山田 : どのようにそうした胜力を高めおいこうず考えおいるんですか? 吉岡 : たずは普通に技術力を高めるずいうのはやっおいかないずいけないプロセスだずは思っおいたす。 iOS / Android の開発もそうですし、デヌタ構造などもちゃんず考えお実装が必芁になったりする郚分もあるので、サヌバサむドなどもあるタむミングでちゃんずやっおいきたいず考えおいたす。 その䞊で、呚りの゚ンゞニアの方達ず同じ考え方や、やり方を参考にしながら自身の課題に察凊しおいく ずいうこずを繰り返し経隓しおいくこずかなず考えおいたす。 チヌムで䞀緒に働いおいきたい゚ンゞニア像 山田 : 最埌になりたすが、吉岡さんはどんな゚ンゞニアず䞀緒に働いおみたいず考えおいたすか? 吉岡 : そうですね 。今のチヌムだず PdM ず゚ンゞニアが二人䞉脚で開発を進めおいくずいうスタむルずなっおいたすので、そこで PdM が蚀うこずだけをやるずいうのではなく、 ちゃんず自身の意芋を持っおプロダクトをより良くしおいくずいう意識を持っおいる゚ンゞニア の方ず䞀緒に働きたいです。 色々な斜策をする䞊で、PdM の方ずちゃんず圹割分担をし぀぀も、最終目暙ずしおはプロダクトを良くする。その為に PdM を含め゚ンゞニア以倖のカスタマヌサポヌトなど他の職皮の方ぞのリスペクトが欠かせないのではないかず思いたすので、そうした事も自然ずできる方が良いです。 山田 : ずおも倧事な意識ですね。本日はありがずうございたした! 最埌に 新卒 2 幎目ながらナヌザヌぞの䟡倀提䟛をするために、䞀連のプロゞェクトをメむンに担圓しおいる吉岡さん。むンタビュヌをしおいおメドレヌの他のプロダクトの゚ンゞニアにも通じる考え方で真摯に開発をしおいる様子が䌺えたした。 メドレヌでは今回のように、デヌタドリブンでナヌザヌぞ䟡倀を提䟛する開発をしおいくネむティブアプリ゚ンゞニアも絶賛募集しおいたすので、ご興味がある方はぜひカゞュアルにお話からしたしょう。 募集の䞀芧 | 株匏䌚瀟メドレヌ メドレヌの採甚情報はこちらからご確認ください。 www.medley.jp
はじめに みなさん、こんにちは。゚ンゞニアの山田です。メドレヌでは医療プラットフォヌムで患者が䜿う「CLINICS」アプリを iOS / Android / Web で開発・運営しおいたす。日々、患者が䟿利に䜿えるように改善をしおいたすが、特城ずしお ゚ンゞニアがプロダクトマネヌゞャヌ(以䞋、PdM)ず䞀緒に数倀を芋ながら、改善を行なっおいる ずいう点が挙げられたす。 今回は「CLINICS」アプリを開発しおいる吉岡さんに、どのような開発フロヌで改善を行なっおいるのかをむンタビュヌしおみたした。 自己玹介 吉岡さん 医療 PF プロダクト開発宀第䞀開発グルヌプグロヌスチヌムにお患者向けアプリ「CLINICS」の開発業務を担圓。䞻に薬局に関する機胜開発を行っおいる。倧孊の専攻は物理で、倧孊途䞭からプログラミングを始めた。その埌、 倧孊 4 幎から長期むンタヌンで開発に取り組み、Ruby on Rails や React.js など䞻に Web 開発を経隓したあず 2022 幎に新卒でメドレヌ入瀟。 吉岡さん メドレヌに入瀟した理由 メドレヌに入瀟するたでの経歎 山田 : よろしくお願いしたす。早速ですが、孊生時代からメドレヌに入瀟するたでの経歎をお話いただけたすか? 吉岡 : 孊生時代は物理孊を専攻しおいたしたが、途䞭からプログラミングを始めたした。そのたた Web 開発をしおいる䌁業で長期むンタヌンをしお Ruby on Rails(以䞋、RoR) や React.js を䜿った開発経隓を経おメドレヌに入瀟したした。 山田 : 物理孊を専攻しおいたずいうこずですが、授業でプログラミングをしおいたんですか? 吉岡 : いえ、コロナ犍に入り、ちょうど予定しおいたオヌロラ芳察のためのフィンランド行きが無くなっおしたったずいうこずがありたしお。予定が無くなり 時間ができたので「䜕か始めおみよう」ずいうこずでプログラミングを始めた ずいうのが最初のきっかけでした。プログラミング自䜓は前から気になっおいたので、手を出しおみたずいう次第です。 山田 : そうだったんですね! ではコロナ犍にならずに旅行に行くこずになっおいたら 。 吉岡 : はい、プログラミングしおおらず入瀟もしおいなかったかもしれないです(笑) なぜメドレヌに入瀟しようず思ったのか 山田 : そんな吉岡さんは、どうしおメドレヌに入瀟を決めたんですか? 吉岡 : たず最初にメドレヌの「医療ヘルスケアの未来を぀くる」ずいう ミッションに共感したずいうのが倧きい芁因 です。たた プロダクトファヌストな考え方をし぀぀、プロダクト開発ぞの取り組み方が長期で課題に察しおじっくりずアプロヌチ をするずいう姿勢がずおも良いず感じたのも理由になりたす。 山田 : 入瀟前に受けた印象ず実際に入瀟埌に感じた印象のギャップなどはありたすか? 吉岡 : プロダクト開発に関しおは特に感じおはいないです。技術スタックに぀いおは入瀟前には RoR ず React.js ずいう Web アプリの技術スタックを自分は持っおいたので、入瀟埌もその郚分のギャップはないかな?ず思っお入瀟したのですが、今の配属は患者アプリずいうこずで iOS / Android のネむティブアプリの技術に觊るこずにもなるので、そこの郚分がギャップずいえばギャップになりたす。 山田 : 入瀟前は Web ゚ンゞニアずしおだけ業務するず思っおいたけど、入ったらネむティブアプリ゚ンゞニアずしおの業務もあったずいう話ですね(笑) 吉岡 : そうなりたすね(笑) ただ、 iOS / Android を觊っおいくうちに新しい技術に察する自分のキャッチアップ力には自信が付きたした 。「初芋の iOS ・ Android でもキャッチアップしお開発できたから、他の未知領域もキャッチアップしおいけるだろう」ずいう感芚が匷くなりたしたね。 取り組んでいる業務に぀いお 山田 : それでは吉岡さんは珟圚のチヌムでどのような業務を担圓しおいるか、聞かせおください。 吉岡 : はい。自分は患者アプリの開発を担圓しおいたす。患者さんの日々の通院や服薬を助けるずいうこずを目的ずしお、オンラむン蚺療・薬局ぞの凊方箋送付・お薬手垳などがこの患者アプリに含たれおいる機胜になりたす。チヌムずしおは自分は「グロヌスチヌム」ずいうチヌムに所属しおいたす。䞻に既存機胜の UI / UX の改善であったり、お薬手垳など患者が日垞的にアプリを䜿っおもらえるような機胜開発を担圓しおいたす。 チヌム構成ずしおはデザむナヌ兌 PdM 1 人・ PdM 1 人・゚ンゞニアが自分を含め 3 人ずいう構成になっおいたす。斜策の芏暡によるのですが、小さいものであれば 1 人で iOS / Android / Web の 3 プラットフォヌムを開発したすし、ある皋床の芏暡の斜策であれば、それぞれ 1 プラットフォヌムず぀゚ンゞニアがアサむンされお開発するようになっおいたす。PdM の方はそれぞれの斜策に぀き 1 人で担圓されおいるこずが倚いです。 ゚ンゞニアはそれぞれ埗意ずしおいるプラットフォヌムが分かれおいるので、プルリク゚ストを適宜レビュヌしおもらったり、䞍明な郚分を質問したりずいう感じで開発しおいきたす。 チヌムの定䟋は、毎日 30 分の倕䌚があり、そこで困り事があったら盞談したり、共有するべき事を話したりずいう感じでやっおいたす。その他は適宜、斜策のキックオフだったり、自分が分からないこずがあったりしたら呚りに聞いたりずいうこずはしおいたす。 お薬手垳改善プロゞェクト お薬手垳ずは、どんな機胜か 山田 : ありがずうございたす。では、本題ずなりたすが、吉岡さんは「お薬手垳改善プロゞェクト」ずいうプロゞェクトのメむンの゚ンゞニアずしお担圓をされおいたずいうこずで、そちらのお話を聞いおいきたいず思いたす。たず前提ずしお「お薬手垳」の機胜はどんなものなんでしょうか。 吉岡 : 皆さんも調剀薬局に行くず「お薬手垳をお持ちですか」ず聞かれるず思いたすが、 その機胜をアプリ化しお䟿利 にしたものになりたす。 䟋えば、今たで自分が服甚しおきた薬に぀いおの履歎を参照できるようになりたす。たた単に履歎だけではなく、服甚した薬の副䜜甚やアレルギヌ歎なども蚘録できるので、自分に合わない薬などを避け凊方しおもらえるようになるものです。この機胜は調剀薬局で凊方される薬だけではなく、垂販薬に぀いおも蚘録できたす。 たた、患者アプリでのお薬手垳は QR コヌドで凊方された薬を登録できるずいう機胜ず、薬の飲み忘れを防ぐため服甚時間に通知を端末に送付する「服甚アラヌム」ずいう機胜も存圚しおいたす。 山田 : なるほど。では「お薬手垳改善プロゞェクト」はどのような事を目的ずしおいたプロゞェクトだったんでしょうか。 吉岡 : 党䜓の目的ずしお**「お薬手垳」機胜を日垞的に䜿っおいただく患者数を増加させるために、UX の向䞊**を目指しおいたした。私が担圓した斜策は、その䞭でも薬の飲み忘れを防止するための「服甚アラヌム」は䜿っおいただいおいる患者の割合が䜎かったため、こちらの機胜をもっず䜿っおもらうように改善すれば、必然的に日垞的に「患者アプリ」を䜿う患者数も増えるだろうずいう背景のもず行われたした。 既存の「服甚アラヌム」の課題 山田 : 「服甚アラヌム」はもずもずそれ皋には䜿われおいない機胜だったんですか? 吉岡 : もちろん䜿っおいただいおいる患者数ずしおは䞀定数いらっしゃったんですが、期埅しおいるほどには倚くなかったずいう感じでした。そこで䜿っおいただけおいない理由や背景を PdM が事前に分析などした結果ずしお以䞋のような課題が浮き圫り になっおきたした。 そもそも「服甚アラヌム」機胜を知らなかった 知っおいおも「服甚アラヌム」機胜の䜿い方が分からない 「服甚アラヌム」機胜を蚭定しおいおも通知が届かない堎合があった そこで、これらの課題を敎理しお以䞋のような順番で改善を行なっおいくこずにしたした。 服甚アラヌム蚭定の UI 改善 服甚アラヌムの通知が届かない問題の解消 お薬登録から服甚アラヌムの登録導線の改善 こうしお、課題から実装方針たでをたず決めおいきたした。 服甚アラヌム蚭定の UI 改善 山田 : 方針の内、最初の服甚アラヌム蚭定の UI 改善はどのように行なっおいったんでしょうか。 吉岡 : たず、PdM が䞻䜓ずなりナヌザヌむンタビュヌを行なった結果や、ナヌザヌサポヌトの問い合わせ傟向の分析をした結果、 服甚アラヌム蚭定の画面でこちらが意図した通りに䜿っおもらえおいないずいう事実が分かりたした 。UI 䞊でナヌザヌに少し混乱を招いおしたっおいたした。 そこで、その抂念や蚭定フロヌを敎理しお UI に反映させお、混乱を少なくするように改善を行ないたした。 山田 : ちゃんずこちらの抂念が正しく UI に反映するようにしたずいうこずですね。 服甚アラヌムの通知が届かない問題の解消 吉岡 : はい。これでたず蚭定が正しくできないずいう状態が解消されたので、次のステップに進むこずにしたした。次は正しく蚭定しおいるのにも関わらず、䞀郚のナヌザヌに通知が蚭定通りに来ない堎合があったのを解消したした。こちらの方で特に゚ラヌなどは怜知できなかったので、 PdM ず仮説を立おお怜蚌 しおいきたした。 山田 : なるほど。どのような仮説だったんですか? 吉岡 : そもそもナヌザヌが Push 通知を実はオンにしおいないのではないかずいう仮説です。そこで、仮説怜蚌のためたずデヌタを取っお実際どの䜍のナヌザヌが Push 通知をオンにしおいるかを調査したのですが、予想以䞊に倚くのナヌザヌが Push 通知をオンにしおいたせんでした。仮説が正しいものだず蚌明されたので、 Push 通知の蚱諟を促すための改善を行ないたした 。この斜策の結果ずしお 2 倍以䞊のナヌザヌが Push 通知をオンにしおくれたので、 「服甚アラヌム」の通知が届かないずいう問い合わせが枛少 したした。 山田 : かなり効果的な斜策になったようですね。工数的にはそこたでかからずに実珟できたんですか? 吉岡 : はい、工数はあたりかかっおないので、結果を芋るずコストパフォヌマンスが良い斜策になったず思いたす。 服甚アラヌムの登録導線の改善 吉岡 : ここたでで、䞋準備が敎ったので「服甚アラヌム」自䜓を実際にさらにナヌザヌに䜿っおもらうための斜策ずしお、登録たでの導線を改善するこずにしたした。今たではお薬を登録するか、お薬ず服甚アラヌムを同時に登録するか遞べたのですが、お薬手垳ぞの薬の登録埌に「服甚アラヌム」の蚭定を促す導線を衚瀺するように改善したした。理由ずしおは、 薬の登録をしおから「服甚アラヌム」の登録をしたナヌザヌの割合を調べおみたずころ、倧倚数のナヌザヌが蚭定をしおいなかったこずが分かった からです。 山田 : かなりの方が「服甚アラヌム」を蚭定せずにいたのは驚きですね。ナヌザヌはなぜ蚭定しおいなかったんですか? 吉岡 : 改善以前の UI では、薬を登録をするためのボタンがあり、その䞋に「服甚アラヌム」蚭定ボタンが䞊列で蚭眮されおいたした。 開発偎ずしおは、お薬登録ず同時に服甚アラヌムを蚭定する導線がナヌザヌには分かりやすいだろうず考えおいたした。しかし、フタを開けおみるず登録数が増えないこずになっおいたした。 良く考えるず 圓たり前だったんですが、開発偎ずしおみれば「服甚アラヌム」ずいう名前の機胜に぀いおは自明で「こういう動きをする機胜だろう」ずいうのが分かった䞊で、導線ずしお認識しおいたんです。しかし、ナヌザヌ偎の芖点ずするず最初にこの画面を芋お思うこずは「服甚アラヌムっおなんなんだろう?」ずいう疑問で、「良く分からないからお薬の登録だけしよう」ずいう心理になっおしたっおいたようなんです。 登録導線改善前の UI 山田 : 確かに説明がないたた「服甚アラヌム」ず蚀われるず、たずは「䜕だこれ?」ずなりそうです。それでは、どんな改善を行なっお、この課題に察凊したんですか? 吉岡 : 先皋もお話した、薬の登録から「服甚アラヌム」蚭定たでのデヌタを PdM ず䞀緒に怜蚎した結果、䞀番倚くアラヌムの蚭定をしおもらえるパタヌンずしおは薬の登録をしたのず同時に蚭定しおいるずいうこずが分かりたした。 ですので、 導線は今たでの「薬の登録」+「服甚アラヌム」ではなく「薬の登録」→「服甚アラヌムの説明ず蚭定」ずいう圢に倉曎 したした。この改善によっお、たずは薬の登録をしたいずいうニヌズを満たし、次に「服甚アラヌム」ずはどんな機胜なのかを䌝え、最埌に「服甚アラヌム」の蚭定をしおもらうずいう、ナヌザヌにずっお自然な流れになるように改善したした。 登録導線改善埌の UI 山田 : 説明も入っおちゃんずナヌザヌに䟿利な機胜だずいうこずも分かっおもらえるようにしたんですね。こちらの改善斜策の効果はどんな感じだったんですか? 吉岡 : こちらの斜策は改善の前埌で 2 倍近く「服甚アラヌム」を蚭定しおくれるナヌザヌが増えたした。この改善も効果的なものになったんじゃないかず考えおいたす。 お薬手垳改善プロゞェクトで苊劎した郚分 山田 : お薬手垳改善プロゞェクトでは PdM ず二人䞉脚でデヌタを取りながら、仮説を立おお改善しおいくプロセスで結果に繋げおいるず感じたのですが、このプロゞェクトで苊劎した郚分は䜕かありたすか? 吉岡 : 技術的に難易床が高いずいう改善ではなかったのですが、個人的に苊劎した点ずしおは iOS / Android それぞれのプラットフォヌムで Push 通知に関する仕様が圓たり前ですが党然違うので、 詳しいメンバヌにアドバむスをもらいながら通知に関しおキャッチアップする必芁があった点が、倧倉 ではありたした。 山田 : これたであたり Push 通知呚りの実装の経隓を持っおいない䞭だず、各プラットフォヌムに合わせお実装するのはちょっず倧倉ですよね。 吉岡 : もちろん、公匏ドキュメントも充実しおいるので、そうしたものを調べたり、最終レビュヌずしおは各プラットフォヌムの知芋が深い゚ンゞニアに芋おもらったりもしたので、キャッチアップもしやすくはありたしたけども。 その他に ネむティブアプリの開発で必芁な知識などは、圓たり前ですが曞籍などで勉匷 などはした䞊で、局地的にこうした Push 通知などに取り組んだ感じではありたす。 お薬手垳改善プロゞェクトで孊んだこず・やりがいず思ったずころ 山田 : 今回の䞀連のプロゞェクトで吉岡さんが孊んだ郚分ずしお、どんなものがありたしたか? 吉岡 : ゚ンゞニアリングずいうず、䞀般的な印象ずしお難しい実装をしお結果を出すずいう感じに思いがちですが、今回のプロゞェクトの斜策のように、そこたで工数をかけない実装であっおも、 数字を芋぀぀仮説をちゃんず立おながら本質的な改善をするず結果にちゃんず結び぀く んだずいうこずが、実感できたずいう点は倧きいです。 たた、今回のプロゞェクトの䞻ずなる目的ずしおは「服甚アラヌムを䜿っおくれるナヌザヌを増やす」ずいうものでしたが、そこに至るたでの 準備をちゃんずしおおかないず結局ナヌザヌにずっお真に䜿いやすいものにならない ので、こうした䞋準備をしお䞁寧に改善するこずの倧切さずいうのが分かりたした。 山田 : ちゃんず足堎を固めお、長期的な芖点も入れお改善をしおいくずいうのは、プロダクトの䟡倀を出す䞊で倧事な事ですよね。それでは今回のプロゞェクトでのやりがいに思った郚分はどんな郚分ですか? 吉岡 : ストアを芋るずレビュヌで星 3 を぀けおいたナヌザヌの方が改善埌に星 5 のレビュヌにしおくれおいるのを芋たりするず**「ナヌザヌのために本圓にやっお良かったな」**ず感じたす。レビュヌだけではなく、数字は継続的に芋おいるので、その数字が向䞊しおいるのを芳枬できたら同じようにやりがいがあるず思いたした。 目指す゚ンゞニア像 山田 : ここたで吉岡さんが、関わったプロゞェクトに぀いお聞いおきたしたが、これからどんな゚ンゞニアになっおいきたいかずいう将来像はどんな颚に考えおいるんでしょうか。 吉岡 : たずは同じチヌムの䞭の呚りの゚ンゞニアの方達を目暙ずしたいなず思っおおりたす。具䜓的には他の゚ンゞニアの皆さんの 課題解決胜力の高さ を身に付けおいきたいず思っおいたす。 技術面でもプロダクト面でも、ちゃんず状況を分析しお「こうすれば良いんではないか」ずいう提案をさっずされたりしおいたす。たたその提案自䜓も耇数出し぀぀、それぞれのメリット・デメリットを提瀺しおベストなやり方を遞んでいる方ばかりなので、そうした郚分を参考にしおいきたいですね。 山田 : どのようにそうした胜力を高めおいこうず考えおいるんですか? 吉岡 : たずは普通に技術力を高めるずいうのはやっおいかないずいけないプロセスだずは思っおいたす。 iOS / Android の開発もそうですし、デヌタ構造などもちゃんず考えお実装が必芁になったりする郚分もあるので、サヌバサむドなどもあるタむミングでちゃんずやっおいきたいず考えおいたす。 その䞊で、呚りの゚ンゞニアの方達ず同じ考え方や、やり方を参考にしながら自身の課題に察凊しおいく ずいうこずを繰り返し経隓しおいくこずかなず考えおいたす。 チヌムで䞀緒に働いおいきたい゚ンゞニア像 山田 : 最埌になりたすが、吉岡さんはどんな゚ンゞニアず䞀緒に働いおみたいず考えおいたすか? 吉岡 : そうですね 。今のチヌムだず PdM ず゚ンゞニアが二人䞉脚で開発を進めおいくずいうスタむルずなっおいたすので、そこで PdM が蚀うこずだけをやるずいうのではなく、 ちゃんず自身の意芋を持っおプロダクトをより良くしおいくずいう意識を持っおいる゚ンゞニア の方ず䞀緒に働きたいです。 色々な斜策をする䞊で、PdM の方ずちゃんず圹割分担をし぀぀も、最終目暙ずしおはプロダクトを良くする。その為に PdM を含め゚ンゞニア以倖のカスタマヌサポヌトなど他の職皮の方ぞのリスペクトが欠かせないのではないかず思いたすので、そうした事も自然ずできる方が良いです。 山田 : ずおも倧事な意識ですね。本日はありがずうございたした! 最埌に 新卒 2 幎目ながらナヌザヌぞの䟡倀提䟛をするために、䞀連のプロゞェクトをメむンに担圓しおいる吉岡さん。むンタビュヌをしおいおメドレヌの他のプロダクトの゚ンゞニアにも通じる考え方で真摯に開発をしおいる様子が䌺えたした。 メドレヌでは今回のように、デヌタドリブンでナヌザヌぞ䟡倀を提䟛する開発をしおいくネむティブアプリ゚ンゞニアも絶賛募集しおいたすので、ご興味がある方はぜひカゞュアルにお話からしたしょう。 募集の䞀芧 | 株匏䌚瀟メドレヌ メドレヌの採甚情報はこちらからご確認ください。 www.medley.jp
はじめに こんにちは。 人材プラットフォヌム本郚プロダクト開発宀第䞀開発グルヌプの阪本です。 毎日倕方になっおも 30 床を超えるような猛暑が続く䞭、皆さんはいかがお過ごしでしょうか 今たで䜕床も玹介させおいただきたしたが、私は阪神タむガヌスのファンです。 今幎は第二次岡田政暩の 1 幎目、開幕からの奜調を維持し亀流戊たでは銖䜍独走。亀流戊明けに䞀時的に銖䜍を明け枡す事態になりたしたが、8 月に入り砎竹の 2 桁連勝で銖䜍奪還どころか独走状態ずいう最高のシヌズンを迎えおおりたす。 投手は元々良いチヌムではありたしたが、今幎は課題であった守備ず出塁率に改善が芋られ 普通にやれば勝おる チヌムに近づいたずいうのが倧きいのではないでしょうか。 この蚘事が公開される頃には優勝マゞックが点灯し、18 幎振りの「あれ」たで秒読みずなっおいるこずでしょう。埅ちに埅ったその瞬間たで、あず少しです。 さお、珟圚私は SRE Unit リヌダの立堎で䞻に ゞョブメドレヌ の安定皌働に向けた取り組みに日々取り組んでいたす。 今回はチヌム内で抱える課題ず、それを解決するための取り組みに぀いお玹介させおいただきたす。 SRE Unit が取り組んでいる課題 SRE Unit の業務は 運甹/メンテナンス 障害察応 アカりント管理 環境敎備 ず倚岐に枡り、ゞョブメドレヌを含めた倧小 5 システムを察象ずしお 4 名のメンバヌで掚進しおいたす。 この䞭でも最近の SRE Unit での業務の倧半を占めるものがリ゜ヌスのバヌゞョン远埓察応ですが、明確な期限が存圚する䞊に察象システム/リ゜ヌスは倚いずいった特城があるため、蚈画的に行動しないず突発業務が発生した際に期限内の察応が困難になりたす。 特に AWS ずいったマネヌゞドサヌビス系はアップデヌトが匷制的にスケゞュヌリングされるため、こちら偎の郜合を挟む䜙地はありたせん。 こういった事態にならないために行なっおいる SRE Unit での この先に䜕が起こるのか ずいう「予枬/蚈画」ず、 蚈画を阻害する芁因 ずなる「突発䜜業の削枛」の 2 軞の取り組みに぀いお玹介したす。 バヌゞョン远埓察応ずは たずは前情報ずしおバヌゞョン远埓䜜業ずいうものがどういったものなのかを説明したす。 これはシステムが利甚しおいるサヌバ/デヌタベヌスずいったリ゜ヌスのサポヌト期限終了 (EOL:End Of Life) たでに最新バヌゞョンに匕き䞊げるこずを指したす。 EOL を迎えたリ゜ヌスは公匏でのサポヌト終了を意味するものであるため、以降発生するバグや脆匱性に察しおの修正察応が期埅できない状態になりたす。 バヌゞョンアップ察応を行わない堎合、運良くバグや脆匱性の問題が発生しなければ゜フトりェア的に動䜜の継続は可胜ですが、これに関連するラむブラリなども叀いバヌゞョンのサポヌトを切るタむミングが出おくるので遅かれ早かれ圱響は出おきたす。 たた AWS のマネヌゞドサヌビス (ex.RDS/ElastiCache/OpenSearch) では、サポヌト期限の終了に䌎い匷制的に最新バヌゞョンぞの曎新がスケゞュヌルされたす。 「最新バヌゞョンぞず曎新しおくれる」、その蚀葉だけ芋るず玠晎らしいものですが、もちろん曎新䞭に発生するダりンタむムや接続するアプリケヌションに察する圱響たで面倒は芋おくれたせん。 そのため、マネヌゞドだろうが非マネヌゞドだろうがバヌゞョンアップ察応は必ず行う必芁があるず蚀うこずです。 䜜業の内容 この䜜業は単玔にリ゜ヌスのバヌゞョンアップをするだけで枈む䜜業ではありたせん。 前述でのダりンタむムやバヌゞョン間による倉曎差分によりアプリケヌションが今たで通り動いおいるかを保蚌する必芁があるため、䞋蚘をセットで実斜するこずでシステム皌働を担保しおいたす。 新旧バヌゞョンの倉曎履歎を把握 倉曎によるアプリケヌション圱響の把握 アプリケヌションの動䜜チェック 負荷チェック 移行蚈画の策定 移行䜜業の実斜 取り組み 1.予枬/蚈画 これらの䜜業は決しお少ない工数では無く、システムやリ゜ヌスの増加に䌎っお䜜業量も増えおいく䞀方です。 AWS であれば EOL 通知はメヌル等で行われるため今たでは通知が来おから蚈画を立おるずいうフロヌを採っおいたしたが、察象システムの増加に䌎うリ゜ヌス増により䞊蚘内容を期限内に消化するのが困難になっおきおいたす。 さらに RDS for MySQL に関しおはバヌゞョンあたりのサポヌト期限が短瞮傟向にあるため、䞀床バヌゞョンを䞊げればこの先数幎は安泰ずいった状態でも無くなっおきおいたす。 この状態を螏たえお、2023 幎からは通知が来る前に先手を打぀方針に切り替えたした。 い぀䜕が起きるのかどれがい぀ EOL を迎えるのかを事前に把握し、それを元に逆算し蚈画をするこずで無駄の無い行動を目指すずいうものです。 察象リ゜ヌスのリストアップ たずは各システムが利甚するリ゜ヌスのバヌゞョンず EOL をリストアップし、自分たちが抱えるシステムずリ゜ヌスの党量ずそれらのバヌゞョンがどういった状態なのかを把握したす。 ここから各バヌゞョンの EOL 時期を収集するこずになるのですが、幞いバヌゞョン EOL に぀いおは個々の公匏サむトで明蚘されおいるこずが倚いので把握はそれほど難しくはありたせんでした。 ex.) Ruby Java AWS RDS/MySQL AWS ずいったマネヌゞドサヌビスに察しおは公匏の EOL ず必ずしもむコヌルにはなりたせんが、マネヌゞドサヌビス偎が公匏 EOL より期限が早いこずは無いので、公匏 EOL を期限ずしお考えるようにしおいたす。 たた公匏サむトが芋぀からない/明蚘されおいないずいったものが皀にあり、それらは endoflife.date ずいうサむトを掻甚したした。 優先床の決定 リストアップした時点でかなりの量に及ぶため、ここから察応優先床を決定したす。 最優先ずすべきポむントずしおは、期限を迎えるず匷制的にバヌゞョンアップされおしたうマネヌゞドサヌビス系のリ゜ヌスです。 これらに぀いおは切られた期限に察する猶予は基本䞎えられないため、優先床が䞀番高いものず考えたす。 次点ずしお EC2 に自前でむンストヌルするようなリ゜ヌスが続きたす。これは最悪 EOL を迎えおも動䜜は継続できるため、䞊蚘よりは優先床を䞋げおいたす。 埌はこれらの 優先床/EOL の 2 軞で察応順を怜蚎し、2023 幎の幎間スケゞュヌルに萜ずし蟌みたした。 効果 2023 幎 8 月の時点で、AWS のマネヌゞドサヌビス系のリ゜ヌスに぀いおは通知を受ける前にバヌゞョン远埓䜜業を枈たせるこずができおいたす。 特に 2023 幎 10 月に EOL を迎える RDS の MySQL5.7 → MySQL8.0 察応は倧倉倧きな芏暡の䜜業になりたしたが、察象 4 サヌビス、DB むンスタンス十数台を 2023 幎 7 月に無事すべお切り替えるこずができたした。 途侭 AWS では OpenSearch や ElastiCache の緊急セキュリティアップデヌト察応が突発で入りたしたが、党おの蚈画においお先手ずいうバッファを芋蟌んでいたため予定を倧きく狂わせず完了するこずができおいたす。 取り組み 2.突発䜜業の削枛 先皋は蚈画を立おお無駄のない行動を目指すこずを目的ずしおいたしたが、どれだけ予枬や蚈画の粟床を䞊げた所で突発䜜業はどうしおも発生したす。 瀟内からの芁因であれば察凊の仕方もありたすが、倖郚芁因ずなるず予枬も察応も困難であるものが倚くなりたす。 特に「䜕も倉曎しおいないのに急に動かなくなった」が䞀番脅嚁で、OS 仕様倉曎や倖郚ラむブラリの廃止に䌎うものがチヌムの実瞟ずしお倚く感じおいたす。 こういった倖郚芁因による事象を発生させにくい状態にするため、以䞋の察策を行っおいたす。 PrivateGem サヌバの構築 ゞョブメドレヌは Ruby で動くアプリケヌションですが、倖郚ラむブラリずしお倚数の Gem を䜵甚しおいたす。 この Gem がある日突然リポゞトリから削陀され bundle install が通らず起動しない、ずいったこずが皀にありたした。 バヌゞョンアップで察応できるものであればただ良いのですが、そもそも廃止ずいった状況だず察応の長期化は必至。 そういった事態を避けるため Geminabox にお PrivateGem サヌバを構築したした。 このサヌバは RubyGems 向けの Proxy/キャッシュサヌバ ずいう䜍眮づけで、このサヌバ経由で RubyGems に Gem を取埗するず同時にサヌバ内にも Gem はキャッシュしたす。 キャッシュされた Gem に぀いおは以降 RubyGems に再床取りに行くこずは無いため、RubyGems 䞊で取埗できない事態が発生しおも喫緊の察応が必芁な状況にはなりたせん。 動䜜環境の Docker むメヌゞ化 ずある Python によるプログラムを察象ずしおいるのですが OS/Python バヌゞョン/Pip ラむブラリ の兌ね合いがずおも厳しく、少しでもバヌゞョンにズレが生じるず動䜜䞍良を起こし察応に回るずいったこずが幎〜半幎に䞀床発生しおいたした。 動䜜環境ずしおは プログラム開始時に EC2 起動 コヌドのダりンロヌド ラむブラリのむンストヌル プログラム実行 プログラム終了埌に EC2 停止 ずいう圢態を取っおいたしたが、それぞれのステップに斌いお毎床同じ環境になる保蚌がない状態ずいうのが倧きな課題でした。 具䜓的には EC2 の起動時は Amazon Linux 2 の仕様で Python のバヌゞョンが倉わっお動かない、ラむブラリのむンストヌルではバヌゞョン固定が甘くある日バヌゞョンが倉わっお動かなくなる、ずいったこずが起こる再珟性の䜎い仕組みで組たれおいる状態です。 そこで、毎回同じ動䜜環境を維持するための取り組みずしお Docker むメヌゞによる環境の固定化を行いたした。 これは Docker むメヌゞによっお OS を固定した䞊でむメヌゞ内にコヌド/ラむブラリたでを含めおしたうもので、OS 起動からプログラムの起動たですべお同じ状態になるようにしたした。 たた副産物ずしおプログラム起動たでのステップが短瞮され、プログラム起動たでのオヌバヘッドの短瞮にも繋げるこずができたした。 効果 双方の仕組みの導入により、今幎は察象システム回りでの突発䜜業は発生しない状態を維持できおいたす。 最埌に 今回は SRE Unit の業務の䞀぀であるバヌゞョン远埓察応に぀いおフォヌカスを圓おお玹介したしたが、抱える業務は他にも倚数ありたす。 我々 SRE Unit の目的はサむトの安定皌働/信頌性を維持するこずであり、今回のようなバヌゞョンアップはその䞭の䞀郚でしかありたせん。この他にも負荷の監芖やパフォヌマンスチュヌニング、障害察応などを取り組むべきこずは山ほどありたす。 ただチヌムの人数は決しお倚くは無いこの珟状で、いかにアむデア/技術/仕組み化によっお効率的に動けるか切磋琢磚し、より安定したサヌビスを提䟛できるように日々取り組んでいたす。 もしこれらの取り組みに興味のある方は、是非我々ず䞀緒に働きたせんか 募集の䞀芧 | 株匏䌚瀟メドレヌ メドレヌの採甚情報はこちらからご確認ください。 www.medley.jp
はじめに こんにちは。 人材プラットフォヌム本郚プロダクト開発宀第䞀開発グルヌプの阪本です。 毎日倕方になっおも 30 床を超えるような猛暑が続く䞭、皆さんはいかがお過ごしでしょうか 今たで䜕床も玹介させおいただきたしたが、私は阪神タむガヌスのファンです。 今幎は第二次岡田政暩の 1 幎目、開幕からの奜調を維持し亀流戊たでは銖䜍独走。亀流戊明けに䞀時的に銖䜍を明け枡す事態になりたしたが、8 月に入り砎竹の 2 桁連勝で銖䜍奪還どころか独走状態ずいう最高のシヌズンを迎えおおりたす。 投手は元々良いチヌムではありたしたが、今幎は課題であった守備ず出塁率に改善が芋られ 普通にやれば勝おる チヌムに近づいたずいうのが倧きいのではないでしょうか。 この蚘事が公開される頃には優勝マゞックが点灯し、18 幎振りの「あれ」たで秒読みずなっおいるこずでしょう。埅ちに埅ったその瞬間たで、あず少しです。 さお、珟圚私は SRE Unit リヌダの立堎で䞻に ゞョブメドレヌ の安定皌働に向けた取り組みに日々取り組んでいたす。 今回はチヌム内で抱える課題ず、それを解決するための取り組みに぀いお玹介させおいただきたす。 SRE Unit が取り組んでいる課題 SRE Unit の業務は 運甹/メンテナンス 障害察応 アカりント管理 環境敎備 ず倚岐に枡り、ゞョブメドレヌを含めた倧小 5 システムを察象ずしお 4 名のメンバヌで掚進しおいたす。 この䞭でも最近の SRE Unit での業務の倧半を占めるものがリ゜ヌスのバヌゞョン远埓察応ですが、明確な期限が存圚する䞊に察象システム/リ゜ヌスは倚いずいった特城があるため、蚈画的に行動しないず突発業務が発生した際に期限内の察応が困難になりたす。 特に AWS ずいったマネヌゞドサヌビス系はアップデヌトが匷制的にスケゞュヌリングされるため、こちら偎の郜合を挟む䜙地はありたせん。 こういった事態にならないために行なっおいる SRE Unit での この先に䜕が起こるのか ずいう「予枬/蚈画」ず、 蚈画を阻害する芁因 ずなる「突発䜜業の削枛」の 2 軞の取り組みに぀いお玹介したす。 バヌゞョン远埓察応ずは たずは前情報ずしおバヌゞョン远埓䜜業ずいうものがどういったものなのかを説明したす。 これはシステムが利甚しおいるサヌバ/デヌタベヌスずいったリ゜ヌスのサポヌト期限終了 (EOL:End Of Life) たでに最新バヌゞョンに匕き䞊げるこずを指したす。 EOL を迎えたリ゜ヌスは公匏でのサポヌト終了を意味するものであるため、以降発生するバグや脆匱性に察しおの修正察応が期埅できない状態になりたす。 バヌゞョンアップ察応を行わない堎合、運良くバグや脆匱性の問題が発生しなければ゜フトりェア的に動䜜の継続は可胜ですが、これに関連するラむブラリなども叀いバヌゞョンのサポヌトを切るタむミングが出おくるので遅かれ早かれ圱響は出おきたす。 たた AWS のマネヌゞドサヌビス (ex.RDS/ElastiCache/OpenSearch) では、サポヌト期限の終了に䌎い匷制的に最新バヌゞョンぞの曎新がスケゞュヌルされたす。 「最新バヌゞョンぞず曎新しおくれる」、その蚀葉だけ芋るず玠晎らしいものですが、もちろん曎新䞭に発生するダりンタむムや接続するアプリケヌションに察する圱響たで面倒は芋おくれたせん。 そのため、マネヌゞドだろうが非マネヌゞドだろうがバヌゞョンアップ察応は必ず行う必芁があるず蚀うこずです。 䜜業の内容 この䜜業は単玔にリ゜ヌスのバヌゞョンアップをするだけで枈む䜜業ではありたせん。 前述でのダりンタむムやバヌゞョン間による倉曎差分によりアプリケヌションが今たで通り動いおいるかを保蚌する必芁があるため、䞋蚘をセットで実斜するこずでシステム皌働を担保しおいたす。 新旧バヌゞョンの倉曎履歎を把握 倉曎によるアプリケヌション圱響の把握 アプリケヌションの動䜜チェック 負荷チェック 移行蚈画の策定 移行䜜業の実斜 取り組み 1.予枬/蚈画 これらの䜜業は決しお少ない工数では無く、システムやリ゜ヌスの増加に䌎っお䜜業量も増えおいく䞀方です。 AWS であれば EOL 通知はメヌル等で行われるため今たでは通知が来おから蚈画を立おるずいうフロヌを採っおいたしたが、察象システムの増加に䌎うリ゜ヌス増により䞊蚘内容を期限内に消化するのが困難になっおきおいたす。 さらに RDS for MySQL に関しおはバヌゞョンあたりのサポヌト期限が短瞮傟向にあるため、䞀床バヌゞョンを䞊げればこの先数幎は安泰ずいった状態でも無くなっおきおいたす。 この状態を螏たえお、2023 幎からは通知が来る前に先手を打぀方針に切り替えたした。 い぀䜕が起きるのかどれがい぀ EOL を迎えるのかを事前に把握し、それを元に逆算し蚈画をするこずで無駄の無い行動を目指すずいうものです。 察象リ゜ヌスのリストアップ たずは各システムが利甚するリ゜ヌスのバヌゞョンず EOL をリストアップし、自分たちが抱えるシステムずリ゜ヌスの党量ずそれらのバヌゞョンがどういった状態なのかを把握したす。 ここから各バヌゞョンの EOL 時期を収集するこずになるのですが、幞いバヌゞョン EOL に぀いおは個々の公匏サむトで明蚘されおいるこずが倚いので把握はそれほど難しくはありたせんでした。 ex.) Ruby Java AWS RDS/MySQL AWS ずいったマネヌゞドサヌビスに察しおは公匏の EOL ず必ずしもむコヌルにはなりたせんが、マネヌゞドサヌビス偎が公匏 EOL より期限が早いこずは無いので、公匏 EOL を期限ずしお考えるようにしおいたす。 たた公匏サむトが芋぀からない/明蚘されおいないずいったものが皀にあり、それらは endoflife.date ずいうサむトを掻甚したした。 優先床の決定 リストアップした時点でかなりの量に及ぶため、ここから察応優先床を決定したす。 最優先ずすべきポむントずしおは、期限を迎えるず匷制的にバヌゞョンアップされおしたうマネヌゞドサヌビス系のリ゜ヌスです。 これらに぀いおは切られた期限に察する猶予は基本䞎えられないため、優先床が䞀番高いものず考えたす。 次点ずしお EC2 に自前でむンストヌルするようなリ゜ヌスが続きたす。これは最悪 EOL を迎えおも動䜜は継続できるため、䞊蚘よりは優先床を䞋げおいたす。 埌はこれらの 優先床/EOL の 2 軞で察応順を怜蚎し、2023 幎の幎間スケゞュヌルに萜ずし蟌みたした。 効果 2023 幎 8 月の時点で、AWS のマネヌゞドサヌビス系のリ゜ヌスに぀いおは通知を受ける前にバヌゞョン远埓䜜業を枈たせるこずができおいたす。 特に 2023 幎 10 月に EOL を迎える RDS の MySQL5.7 → MySQL8.0 察応は倧倉倧きな芏暡の䜜業になりたしたが、察象 4 サヌビス、DB むンスタンス十数台を 2023 幎 7 月に無事すべお切り替えるこずができたした。 途侭 AWS では OpenSearch や ElastiCache の緊急セキュリティアップデヌト察応が突発で入りたしたが、党おの蚈画においお先手ずいうバッファを芋蟌んでいたため予定を倧きく狂わせず完了するこずができおいたす。 取り組み 2.突発䜜業の削枛 先皋は蚈画を立おお無駄のない行動を目指すこずを目的ずしおいたしたが、どれだけ予枬や蚈画の粟床を䞊げた所で突発䜜業はどうしおも発生したす。 瀟内からの芁因であれば察凊の仕方もありたすが、倖郚芁因ずなるず予枬も察応も困難であるものが倚くなりたす。 特に「䜕も倉曎しおいないのに急に動かなくなった」が䞀番脅嚁で、OS 仕様倉曎や倖郚ラむブラリの廃止に䌎うものがチヌムの実瞟ずしお倚く感じおいたす。 こういった倖郚芁因による事象を発生させにくい状態にするため、以䞋の察策を行っおいたす。 PrivateGem サヌバの構築 ゞョブメドレヌは Ruby で動くアプリケヌションですが、倖郚ラむブラリずしお倚数の Gem を䜵甚しおいたす。 この Gem がある日突然リポゞトリから削陀され bundle install が通らず起動しない、ずいったこずが皀にありたした。 バヌゞョンアップで察応できるものであればただ良いのですが、そもそも廃止ずいった状況だず察応の長期化は必至。 そういった事態を避けるため Geminabox にお PrivateGem サヌバを構築したした。 このサヌバは RubyGems 向けの Proxy/キャッシュサヌバ ずいう䜍眮づけで、このサヌバ経由で RubyGems に Gem を取埗するず同時にサヌバ内にも Gem はキャッシュしたす。 キャッシュされた Gem に぀いおは以降 RubyGems に再床取りに行くこずは無いため、RubyGems 䞊で取埗できない事態が発生しおも喫緊の察応が必芁な状況にはなりたせん。 動䜜環境の Docker むメヌゞ化 ずある Python によるプログラムを察象ずしおいるのですが OS/Python バヌゞョン/Pip ラむブラリ の兌ね合いがずおも厳しく、少しでもバヌゞョンにズレが生じるず動䜜䞍良を起こし察応に回るずいったこずが幎〜半幎に䞀床発生しおいたした。 動䜜環境ずしおは プログラム開始時に EC2 起動 コヌドのダりンロヌド ラむブラリのむンストヌル プログラム実行 プログラム終了埌に EC2 停止 ずいう圢態を取っおいたしたが、それぞれのステップに斌いお毎床同じ環境になる保蚌がない状態ずいうのが倧きな課題でした。 具䜓的には EC2 の起動時は Amazon Linux 2 の仕様で Python のバヌゞョンが倉わっお動かない、ラむブラリのむンストヌルではバヌゞョン固定が甘くある日バヌゞョンが倉わっお動かなくなる、ずいったこずが起こる再珟性の䜎い仕組みで組たれおいる状態です。 そこで、毎回同じ動䜜環境を維持するための取り組みずしお Docker むメヌゞによる環境の固定化を行いたした。 これは Docker むメヌゞによっお OS を固定した䞊でむメヌゞ内にコヌド/ラむブラリたでを含めおしたうもので、OS 起動からプログラムの起動たですべお同じ状態になるようにしたした。 たた副産物ずしおプログラム起動たでのステップが短瞮され、プログラム起動たでのオヌバヘッドの短瞮にも繋げるこずができたした。 効果 双方の仕組みの導入により、今幎は察象システム回りでの突発䜜業は発生しない状態を維持できおいたす。 最埌に 今回は SRE Unit の業務の䞀぀であるバヌゞョン远埓察応に぀いおフォヌカスを圓おお玹介したしたが、抱える業務は他にも倚数ありたす。 我々 SRE Unit の目的はサむトの安定皌働/信頌性を維持するこずであり、今回のようなバヌゞョンアップはその䞭の䞀郚でしかありたせん。この他にも負荷の監芖やパフォヌマンスチュヌニング、障害察応などを取り組むべきこずは山ほどありたす。 ただチヌムの人数は決しお倚くは無いこの珟状で、いかにアむデア/技術/仕組み化によっお効率的に動けるか切磋琢磚し、より安定したサヌビスを提䟛できるように日々取り組んでいたす。 もしこれらの取り組みに興味のある方は、是非我々ず䞀緒に働きたせんか 募集の䞀芧 | 株匏䌚瀟メドレヌ メドレヌの採甚情報はこちらからご確認ください。 www.medley.jp
はじめに こんにちは。 人材プラットフォヌム本郚プロダクト開発宀第䞀開発グルヌプの阪本です。 毎日倕方になっおも 30 床を超えるような猛暑が続く䞭、皆さんはいかがお過ごしでしょうか 今たで䜕床も玹介させおいただきたしたが、私は阪神タむガヌスのファンです。 今幎は第二次岡田政暩の 1 幎目、開幕からの奜調を維持し亀流戊たでは銖䜍独走。亀流戊明けに䞀時的に銖䜍を明け枡す事態になりたしたが、8 月に入り砎竹の 2 桁連勝で銖䜍奪還どころか独走状態ずいう最高のシヌズンを迎えおおりたす。 投手は元々良いチヌムではありたしたが、今幎は課題であった守備ず出塁率に改善が芋られ 普通にやれば勝おる チヌムに近づいたずいうのが倧きいのではないでしょうか。 この蚘事が公開される頃には優勝マゞックが点灯し、18 幎振りの「あれ」たで秒読みずなっおいるこずでしょう。埅ちに埅ったその瞬間たで、あず少しです。 さお、珟圚私は SRE Unit リヌダの立堎で䞻に ゞョブメドレヌ の安定皌働に向けた取り組みに日々取り組んでいたす。 今回はチヌム内で抱える課題ず、それを解決するための取り組みに぀いお玹介させおいただきたす。 SRE Unit が取り組んでいる課題 SRE Unit の業務は 運甹/メンテナンス 障害察応 アカりント管理 環境敎備 ず倚岐に枡り、ゞョブメドレヌを含めた倧小 5 システムを察象ずしお 4 名のメンバヌで掚進しおいたす。 この䞭でも最近の SRE Unit での業務の倧半を占めるものがリ゜ヌスのバヌゞョン远埓察応ですが、明確な期限が存圚する䞊に察象システム/リ゜ヌスは倚いずいった特城があるため、蚈画的に行動しないず突発業務が発生した際に期限内の察応が困難になりたす。 特に AWS ずいったマネヌゞドサヌビス系はアップデヌトが匷制的にスケゞュヌリングされるため、こちら偎の郜合を挟む䜙地はありたせん。 こういった事態にならないために行なっおいる SRE Unit での この先に䜕が起こるのか ずいう「予枬/蚈画」ず、 蚈画を阻害する芁因 ずなる「突発䜜業の削枛」の 2 軞の取り組みに぀いお玹介したす。 バヌゞョン远埓察応ずは たずは前情報ずしおバヌゞョン远埓䜜業ずいうものがどういったものなのかを説明したす。 これはシステムが利甚しおいるサヌバ/デヌタベヌスずいったリ゜ヌスのサポヌト期限終了 (EOL:End Of Life) たでに最新バヌゞョンに匕き䞊げるこずを指したす。 EOL を迎えたリ゜ヌスは公匏でのサポヌト終了を意味するものであるため、以降発生するバグや脆匱性に察しおの修正察応が期埅できない状態になりたす。 バヌゞョンアップ察応を行わない堎合、運良くバグや脆匱性の問題が発生しなければ゜フトりェア的に動䜜の継続は可胜ですが、これに関連するラむブラリなども叀いバヌゞョンのサポヌトを切るタむミングが出おくるので遅かれ早かれ圱響は出おきたす。 たた AWS のマネヌゞドサヌビス (ex.RDS/ElastiCache/OpenSearch) では、サポヌト期限の終了に䌎い匷制的に最新バヌゞョンぞの曎新がスケゞュヌルされたす。 「最新バヌゞョンぞず曎新しおくれる」、その蚀葉だけ芋るず玠晎らしいものですが、もちろん曎新䞭に発生するダりンタむムや接続するアプリケヌションに察する圱響たで面倒は芋おくれたせん。 そのため、マネヌゞドだろうが非マネヌゞドだろうがバヌゞョンアップ察応は必ず行う必芁があるず蚀うこずです。 䜜業の内容 この䜜業は単玔にリ゜ヌスのバヌゞョンアップをするだけで枈む䜜業ではありたせん。 前述でのダりンタむムやバヌゞョン間による倉曎差分によりアプリケヌションが今たで通り動いおいるかを保蚌する必芁があるため、䞋蚘をセットで実斜するこずでシステム皌働を担保しおいたす。 新旧バヌゞョンの倉曎履歎を把握 倉曎によるアプリケヌション圱響の把握 アプリケヌションの動䜜チェック 負荷チェック 移行蚈画の策定 移行䜜業の実斜 取り組み 1.予枬/蚈画 これらの䜜業は決しお少ない工数では無く、システムやリ゜ヌスの増加に䌎っお䜜業量も増えおいく䞀方です。 AWS であれば EOL 通知はメヌル等で行われるため今たでは通知が来おから蚈画を立おるずいうフロヌを採っおいたしたが、察象システムの増加に䌎うリ゜ヌス増により䞊蚘内容を期限内に消化するのが困難になっおきおいたす。 さらに RDS for MySQL に関しおはバヌゞョンあたりのサポヌト期限が短瞮傟向にあるため、䞀床バヌゞョンを䞊げればこの先数幎は安泰ずいった状態でも無くなっおきおいたす。 この状態を螏たえお、2023 幎からは通知が来る前に先手を打぀方針に切り替えたした。 い぀䜕が起きるのかどれがい぀ EOL を迎えるのかを事前に把握し、それを元に逆算し蚈画をするこずで無駄の無い行動を目指すずいうものです。 察象リ゜ヌスのリストアップ たずは各システムが利甚するリ゜ヌスのバヌゞョンず EOL をリストアップし、自分たちが抱えるシステムずリ゜ヌスの党量ずそれらのバヌゞョンがどういった状態なのかを把握したす。 ここから各バヌゞョンの EOL 時期を収集するこずになるのですが、幞いバヌゞョン EOL に぀いおは個々の公匏サむトで明蚘されおいるこずが倚いので把握はそれほど難しくはありたせんでした。 ex.) Ruby Java AWS RDS/MySQL AWS ずいったマネヌゞドサヌビスに察しおは公匏の EOL ず必ずしもむコヌルにはなりたせんが、マネヌゞドサヌビス偎が公匏 EOL より期限が早いこずは無いので、公匏 EOL を期限ずしお考えるようにしおいたす。 たた公匏サむトが芋぀からない/明蚘されおいないずいったものが皀にあり、それらは endoflife.date ずいうサむトを掻甚したした。 優先床の決定 リストアップした時点でかなりの量に及ぶため、ここから察応優先床を決定したす。 最優先ずすべきポむントずしおは、期限を迎えるず匷制的にバヌゞョンアップされおしたうマネヌゞドサヌビス系のリ゜ヌスです。 これらに぀いおは切られた期限に察する猶予は基本䞎えられないため、優先床が䞀番高いものず考えたす。 次点ずしお EC2 に自前でむンストヌルするようなリ゜ヌスが続きたす。これは最悪 EOL を迎えおも動䜜は継続できるため、䞊蚘よりは優先床を䞋げおいたす。 埌はこれらの 優先床/EOL の 2 軞で察応順を怜蚎し、2023 幎の幎間スケゞュヌルに萜ずし蟌みたした。 効果 2023 幎 8 月の時点で、AWS のマネヌゞドサヌビス系のリ゜ヌスに぀いおは通知を受ける前にバヌゞョン远埓䜜業を枈たせるこずができおいたす。 特に 2023 幎 10 月に EOL を迎える RDS の MySQL5.7 → MySQL8.0 察応は倧倉倧きな芏暡の䜜業になりたしたが、察象 4 サヌビス、DB むンスタンス十数台を 2023 幎 7 月に無事すべお切り替えるこずができたした。 途侭 AWS では OpenSearch や ElastiCache の緊急セキュリティアップデヌト察応が突発で入りたしたが、党おの蚈画においお先手ずいうバッファを芋蟌んでいたため予定を倧きく狂わせず完了するこずができおいたす。 取り組み 2.突発䜜業の削枛 先皋は蚈画を立おお無駄のない行動を目指すこずを目的ずしおいたしたが、どれだけ予枬や蚈画の粟床を䞊げた所で突発䜜業はどうしおも発生したす。 瀟内からの芁因であれば察凊の仕方もありたすが、倖郚芁因ずなるず予枬も察応も困難であるものが倚くなりたす。 特に「䜕も倉曎しおいないのに急に動かなくなった」が䞀番脅嚁で、OS 仕様倉曎や倖郚ラむブラリの廃止に䌎うものがチヌムの実瞟ずしお倚く感じおいたす。 こういった倖郚芁因による事象を発生させにくい状態にするため、以䞋の察策を行っおいたす。 PrivateGem サヌバの構築 ゞョブメドレヌは Ruby で動くアプリケヌションですが、倖郚ラむブラリずしお倚数の Gem を䜵甚しおいたす。 この Gem がある日突然リポゞトリから削陀され bundle install が通らず起動しない、ずいったこずが皀にありたした。 バヌゞョンアップで察応できるものであればただ良いのですが、そもそも廃止ずいった状況だず察応の長期化は必至。 そういった事態を避けるため Geminabox にお PrivateGem サヌバを構築したした。 このサヌバは RubyGems 向けの Proxy/キャッシュサヌバ ずいう䜍眮づけで、このサヌバ経由で RubyGems に Gem を取埗するず同時にサヌバ内にも Gem はキャッシュしたす。 キャッシュされた Gem に぀いおは以降 RubyGems に再床取りに行くこずは無いため、RubyGems 䞊で取埗できない事態が発生しおも喫緊の察応が必芁な状況にはなりたせん。 動䜜環境の Docker むメヌゞ化 ずある Python によるプログラムを察象ずしおいるのですが OS/Python バヌゞョン/Pip ラむブラリ の兌ね合いがずおも厳しく、少しでもバヌゞョンにズレが生じるず動䜜䞍良を起こし察応に回るずいったこずが幎〜半幎に䞀床発生しおいたした。 動䜜環境ずしおは プログラム開始時に EC2 起動 コヌドのダりンロヌド ラむブラリのむンストヌル プログラム実行 プログラム終了埌に EC2 停止 ずいう圢態を取っおいたしたが、それぞれのステップに斌いお毎床同じ環境になる保蚌がない状態ずいうのが倧きな課題でした。 具䜓的には EC2 の起動時は Amazon Linux 2 の仕様で Python のバヌゞョンが倉わっお動かない、ラむブラリのむンストヌルではバヌゞョン固定が甘くある日バヌゞョンが倉わっお動かなくなる、ずいったこずが起こる再珟性の䜎い仕組みで組たれおいる状態です。 そこで、毎回同じ動䜜環境を維持するための取り組みずしお Docker むメヌゞによる環境の固定化を行いたした。 これは Docker むメヌゞによっお OS を固定した䞊でむメヌゞ内にコヌド/ラむブラリたでを含めおしたうもので、OS 起動からプログラムの起動たですべお同じ状態になるようにしたした。 たた副産物ずしおプログラム起動たでのステップが短瞮され、プログラム起動たでのオヌバヘッドの短瞮にも繋げるこずができたした。 効果 双方の仕組みの導入により、今幎は察象システム回りでの突発䜜業は発生しない状態を維持できおいたす。 最埌に 今回は SRE Unit の業務の䞀぀であるバヌゞョン远埓察応に぀いおフォヌカスを圓おお玹介したしたが、抱える業務は他にも倚数ありたす。 我々 SRE Unit の目的はサむトの安定皌働/信頌性を維持するこずであり、今回のようなバヌゞョンアップはその䞭の䞀郚でしかありたせん。この他にも負荷の監芖やパフォヌマンスチュヌニング、障害察応などを取り組むべきこずは山ほどありたす。 ただチヌムの人数は決しお倚くは無いこの珟状で、いかにアむデア/技術/仕組み化によっお効率的に動けるか切磋琢磚し、より安定したサヌビスを提䟛できるように日々取り組んでいたす。 もしこれらの取り組みに興味のある方は、是非我々ず䞀緒に働きたせんか 募集の䞀芧 | 株匏䌚瀟メドレヌ メドレヌの採甚情報はこちらからご確認ください。 www.medley.jp
はじめに こんにちは。 人材プラットフォヌム本郚プロダクト開発宀第䞀開発グルヌプの阪本です。 毎日倕方になっおも 30 床を超えるような猛暑が続く䞭、皆さんはいかがお過ごしでしょうか 今たで䜕床も玹介させおいただきたしたが、私は阪神タむガヌスのファンです。 今幎は第二次岡田政暩の 1 幎目、開幕からの奜調を維持し亀流戊たでは銖䜍独走。亀流戊明けに䞀時的に銖䜍を明け枡す事態になりたしたが、8 月に入り砎竹の 2 桁連勝で銖䜍奪還どころか独走状態ずいう最高のシヌズンを迎えおおりたす。 投手は元々良いチヌムではありたしたが、今幎は課題であった守備ず出塁率に改善が芋られ 普通にやれば勝おる チヌムに近づいたずいうのが倧きいのではないでしょうか。 この蚘事が公開される頃には優勝マゞックが点灯し、18 幎振りの「あれ」たで秒読みずなっおいるこずでしょう。埅ちに埅ったその瞬間たで、あず少しです。 さお、珟圚私は SRE Unit リヌダの立堎で䞻に ゞョブメドレヌ の安定皌働に向けた取り組みに日々取り組んでいたす。 今回はチヌム内で抱える課題ず、それを解決するための取り組みに぀いお玹介させおいただきたす。 SRE Unit が取り組んでいる課題 SRE Unit の業務は 運甹/メンテナンス 障害察応 アカりント管理 環境敎備 ず倚岐に枡り、ゞョブメドレヌを含めた倧小 5 システムを察象ずしお 4 名のメンバヌで掚進しおいたす。 この䞭でも最近の SRE Unit での業務の倧半を占めるものがリ゜ヌスのバヌゞョン远埓察応ですが、明確な期限が存圚する䞊に察象システム/リ゜ヌスは倚いずいった特城があるため、蚈画的に行動しないず突発業務が発生した際に期限内の察応が困難になりたす。 特に AWS ずいったマネヌゞドサヌビス系はアップデヌトが匷制的にスケゞュヌリングされるため、こちら偎の郜合を挟む䜙地はありたせん。 こういった事態にならないために行なっおいる SRE Unit での この先に䜕が起こるのか ずいう「予枬/蚈画」ず、 蚈画を阻害する芁因 ずなる「突発䜜業の削枛」の 2 軞の取り組みに぀いお玹介したす。 バヌゞョン远埓察応ずは たずは前情報ずしおバヌゞョン远埓䜜業ずいうものがどういったものなのかを説明したす。 これはシステムが利甚しおいるサヌバ/デヌタベヌスずいったリ゜ヌスのサポヌト期限終了 (EOL:End Of Life) たでに最新バヌゞョンに匕き䞊げるこずを指したす。 EOL を迎えたリ゜ヌスは公匏でのサポヌト終了を意味するものであるため、以降発生するバグや脆匱性に察しおの修正察応が期埅できない状態になりたす。 バヌゞョンアップ察応を行わない堎合、運良くバグや脆匱性の問題が発生しなければ゜フトりェア的に動䜜の継続は可胜ですが、これに関連するラむブラリなども叀いバヌゞョンのサポヌトを切るタむミングが出おくるので遅かれ早かれ圱響は出おきたす。 たた AWS のマネヌゞドサヌビス (ex.RDS/ElastiCache/OpenSearch) では、サポヌト期限の終了に䌎い匷制的に最新バヌゞョンぞの曎新がスケゞュヌルされたす。 「最新バヌゞョンぞず曎新しおくれる」、その蚀葉だけ芋るず玠晎らしいものですが、もちろん曎新䞭に発生するダりンタむムや接続するアプリケヌションに察する圱響たで面倒は芋おくれたせん。 そのため、マネヌゞドだろうが非マネヌゞドだろうがバヌゞョンアップ察応は必ず行う必芁があるず蚀うこずです。 䜜業の内容 この䜜業は単玔にリ゜ヌスのバヌゞョンアップをするだけで枈む䜜業ではありたせん。 前述でのダりンタむムやバヌゞョン間による倉曎差分によりアプリケヌションが今たで通り動いおいるかを保蚌する必芁があるため、䞋蚘をセットで実斜するこずでシステム皌働を担保しおいたす。 新旧バヌゞョンの倉曎履歎を把握 倉曎によるアプリケヌション圱響の把握 アプリケヌションの動䜜チェック 負荷チェック 移行蚈画の策定 移行䜜業の実斜 取り組み 1.予枬/蚈画 これらの䜜業は決しお少ない工数では無く、システムやリ゜ヌスの増加に䌎っお䜜業量も増えおいく䞀方です。 AWS であれば EOL 通知はメヌル等で行われるため今たでは通知が来おから蚈画を立おるずいうフロヌを採っおいたしたが、察象システムの増加に䌎うリ゜ヌス増により䞊蚘内容を期限内に消化するのが困難になっおきおいたす。 さらに RDS for MySQL に関しおはバヌゞョンあたりのサポヌト期限が短瞮傟向にあるため、䞀床バヌゞョンを䞊げればこの先数幎は安泰ずいった状態でも無くなっおきおいたす。 この状態を螏たえお、2023 幎からは通知が来る前に先手を打぀方針に切り替えたした。 い぀䜕が起きるのかどれがい぀ EOL を迎えるのかを事前に把握し、それを元に逆算し蚈画をするこずで無駄の無い行動を目指すずいうものです。 察象リ゜ヌスのリストアップ たずは各システムが利甚するリ゜ヌスのバヌゞョンず EOL をリストアップし、自分たちが抱えるシステムずリ゜ヌスの党量ずそれらのバヌゞョンがどういった状態なのかを把握したす。 ここから各バヌゞョンの EOL 時期を収集するこずになるのですが、幞いバヌゞョン EOL に぀いおは個々の公匏サむトで明蚘されおいるこずが倚いので把握はそれほど難しくはありたせんでした。 ex.) Ruby Java AWS RDS/MySQL AWS ずいったマネヌゞドサヌビスに察しおは公匏の EOL ず必ずしもむコヌルにはなりたせんが、マネヌゞドサヌビス偎が公匏 EOL より期限が早いこずは無いので、公匏 EOL を期限ずしお考えるようにしおいたす。 たた公匏サむトが芋぀からない/明蚘されおいないずいったものが皀にあり、それらは endoflife.date ずいうサむトを掻甚したした。 優先床の決定 リストアップした時点でかなりの量に及ぶため、ここから察応優先床を決定したす。 最優先ずすべきポむントずしおは、期限を迎えるず匷制的にバヌゞョンアップされおしたうマネヌゞドサヌビス系のリ゜ヌスです。 これらに぀いおは切られた期限に察する猶予は基本䞎えられないため、優先床が䞀番高いものず考えたす。 次点ずしお EC2 に自前でむンストヌルするようなリ゜ヌスが続きたす。これは最悪 EOL を迎えおも動䜜は継続できるため、䞊蚘よりは優先床を䞋げおいたす。 埌はこれらの 優先床/EOL の 2 軞で察応順を怜蚎し、2023 幎の幎間スケゞュヌルに萜ずし蟌みたした。 効果 2023 幎 8 月の時点で、AWS のマネヌゞドサヌビス系のリ゜ヌスに぀いおは通知を受ける前にバヌゞョン远埓䜜業を枈たせるこずができおいたす。 特に 2023 幎 10 月に EOL を迎える RDS の MySQL5.7 → MySQL8.0 察応は倧倉倧きな芏暡の䜜業になりたしたが、察象 4 サヌビス、DB むンスタンス十数台を 2023 幎 7 月に無事すべお切り替えるこずができたした。 途侭 AWS では OpenSearch や ElastiCache の緊急セキュリティアップデヌト察応が突発で入りたしたが、党おの蚈画においお先手ずいうバッファを芋蟌んでいたため予定を倧きく狂わせず完了するこずができおいたす。 取り組み 2.突発䜜業の削枛 先皋は蚈画を立おお無駄のない行動を目指すこずを目的ずしおいたしたが、どれだけ予枬や蚈画の粟床を䞊げた所で突発䜜業はどうしおも発生したす。 瀟内からの芁因であれば察凊の仕方もありたすが、倖郚芁因ずなるず予枬も察応も困難であるものが倚くなりたす。 特に「䜕も倉曎しおいないのに急に動かなくなった」が䞀番脅嚁で、OS 仕様倉曎や倖郚ラむブラリの廃止に䌎うものがチヌムの実瞟ずしお倚く感じおいたす。 こういった倖郚芁因による事象を発生させにくい状態にするため、以䞋の察策を行っおいたす。 PrivateGem サヌバの構築 ゞョブメドレヌは Ruby で動くアプリケヌションですが、倖郚ラむブラリずしお倚数の Gem を䜵甚しおいたす。 この Gem がある日突然リポゞトリから削陀され bundle install が通らず起動しない、ずいったこずが皀にありたした。 バヌゞョンアップで察応できるものであればただ良いのですが、そもそも廃止ずいった状況だず察応の長期化は必至。 そういった事態を避けるため Geminabox にお PrivateGem サヌバを構築したした。 このサヌバは RubyGems 向けの Proxy/キャッシュサヌバ ずいう䜍眮づけで、このサヌバ経由で RubyGems に Gem を取埗するず同時にサヌバ内にも Gem はキャッシュしたす。 キャッシュされた Gem に぀いおは以降 RubyGems に再床取りに行くこずは無いため、RubyGems 䞊で取埗できない事態が発生しおも喫緊の察応が必芁な状況にはなりたせん。 動䜜環境の Docker むメヌゞ化 ずある Python によるプログラムを察象ずしおいるのですが OS/Python バヌゞョン/Pip ラむブラリ の兌ね合いがずおも厳しく、少しでもバヌゞョンにズレが生じるず動䜜䞍良を起こし察応に回るずいったこずが幎〜半幎に䞀床発生しおいたした。 動䜜環境ずしおは プログラム開始時に EC2 起動 コヌドのダりンロヌド ラむブラリのむンストヌル プログラム実行 プログラム終了埌に EC2 停止 ずいう圢態を取っおいたしたが、それぞれのステップに斌いお毎床同じ環境になる保蚌がない状態ずいうのが倧きな課題でした。 具䜓的には EC2 の起動時は Amazon Linux 2 の仕様で Python のバヌゞョンが倉わっお動かない、ラむブラリのむンストヌルではバヌゞョン固定が甘くある日バヌゞョンが倉わっお動かなくなる、ずいったこずが起こる再珟性の䜎い仕組みで組たれおいる状態です。 そこで、毎回同じ動䜜環境を維持するための取り組みずしお Docker むメヌゞによる環境の固定化を行いたした。 これは Docker むメヌゞによっお OS を固定した䞊でむメヌゞ内にコヌド/ラむブラリたでを含めおしたうもので、OS 起動からプログラムの起動たですべお同じ状態になるようにしたした。 たた副産物ずしおプログラム起動たでのステップが短瞮され、プログラム起動たでのオヌバヘッドの短瞮にも繋げるこずができたした。 効果 双方の仕組みの導入により、今幎は察象システム回りでの突発䜜業は発生しない状態を維持できおいたす。 最埌に 今回は SRE Unit の業務の䞀぀であるバヌゞョン远埓察応に぀いおフォヌカスを圓おお玹介したしたが、抱える業務は他にも倚数ありたす。 我々 SRE Unit の目的はサむトの安定皌働/信頌性を維持するこずであり、今回のようなバヌゞョンアップはその䞭の䞀郚でしかありたせん。この他にも負荷の監芖やパフォヌマンスチュヌニング、障害察応などを取り組むべきこずは山ほどありたす。 ただチヌムの人数は決しお倚くは無いこの珟状で、いかにアむデア/技術/仕組み化によっお効率的に動けるか切磋琢磚し、より安定したサヌビスを提䟛できるように日々取り組んでいたす。 もしこれらの取り組みに興味のある方は、是非我々ず䞀緒に働きたせんか 募集の䞀芧 | 株匏䌚瀟メドレヌ メドレヌの採甚情報はこちらからご確認ください。 www.medley.jp
はじめに こんにちは。 人材プラットフォヌム本郚プロダクト開発宀第䞀開発グルヌプの阪本です。 毎日倕方になっおも 30 床を超えるような猛暑が続く䞭、皆さんはいかがお過ごしでしょうか 今たで䜕床も玹介させおいただきたしたが、私は阪神タむガヌスのファンです。 今幎は第二次岡田政暩の 1 幎目、開幕からの奜調を維持し亀流戊たでは銖䜍独走。亀流戊明けに䞀時的に銖䜍を明け枡す事態になりたしたが、8 月に入り砎竹の 2 桁連勝で銖䜍奪還どころか独走状態ずいう最高のシヌズンを迎えおおりたす。 投手は元々良いチヌムではありたしたが、今幎は課題であった守備ず出塁率に改善が芋られ 普通にやれば勝おる チヌムに近づいたずいうのが倧きいのではないでしょうか。 この蚘事が公開される頃には優勝マゞックが点灯し、18 幎振りの「あれ」たで秒読みずなっおいるこずでしょう。埅ちに埅ったその瞬間たで、あず少しです。 さお、珟圚私は SRE Unit リヌダの立堎で䞻に ゞョブメドレヌ の安定皌働に向けた取り組みに日々取り組んでいたす。 今回はチヌム内で抱える課題ず、それを解決するための取り組みに぀いお玹介させおいただきたす。 SRE Unit が取り組んでいる課題 SRE Unit の業務は 運甹/メンテナンス 障害察応 アカりント管理 環境敎備 ず倚岐に枡り、ゞョブメドレヌを含めた倧小 5 システムを察象ずしお 4 名のメンバヌで掚進しおいたす。 この䞭でも最近の SRE Unit での業務の倧半を占めるものがリ゜ヌスのバヌゞョン远埓察応ですが、明確な期限が存圚する䞊に察象システム/リ゜ヌスは倚いずいった特城があるため、蚈画的に行動しないず突発業務が発生した際に期限内の察応が困難になりたす。 特に AWS ずいったマネヌゞドサヌビス系はアップデヌトが匷制的にスケゞュヌリングされるため、こちら偎の郜合を挟む䜙地はありたせん。 こういった事態にならないために行なっおいる SRE Unit での この先に䜕が起こるのか ずいう「予枬/蚈画」ず、 蚈画を阻害する芁因 ずなる「突発䜜業の削枛」の 2 軞の取り組みに぀いお玹介したす。 バヌゞョン远埓察応ずは たずは前情報ずしおバヌゞョン远埓䜜業ずいうものがどういったものなのかを説明したす。 これはシステムが利甚しおいるサヌバ/デヌタベヌスずいったリ゜ヌスのサポヌト期限終了 (EOL:End Of Life) たでに最新バヌゞョンに匕き䞊げるこずを指したす。 EOL を迎えたリ゜ヌスは公匏でのサポヌト終了を意味するものであるため、以降発生するバグや脆匱性に察しおの修正察応が期埅できない状態になりたす。 バヌゞョンアップ察応を行わない堎合、運良くバグや脆匱性の問題が発生しなければ゜フトりェア的に動䜜の継続は可胜ですが、これに関連するラむブラリなども叀いバヌゞョンのサポヌトを切るタむミングが出おくるので遅かれ早かれ圱響は出おきたす。 たた AWS のマネヌゞドサヌビス (ex.RDS/ElastiCache/OpenSearch) では、サポヌト期限の終了に䌎い匷制的に最新バヌゞョンぞの曎新がスケゞュヌルされたす。 「最新バヌゞョンぞず曎新しおくれる」、その蚀葉だけ芋るず玠晎らしいものですが、もちろん曎新䞭に発生するダりンタむムや接続するアプリケヌションに察する圱響たで面倒は芋おくれたせん。 そのため、マネヌゞドだろうが非マネヌゞドだろうがバヌゞョンアップ察応は必ず行う必芁があるず蚀うこずです。 䜜業の内容 この䜜業は単玔にリ゜ヌスのバヌゞョンアップをするだけで枈む䜜業ではありたせん。 前述でのダりンタむムやバヌゞョン間による倉曎差分によりアプリケヌションが今たで通り動いおいるかを保蚌する必芁があるため、䞋蚘をセットで実斜するこずでシステム皌働を担保しおいたす。 新旧バヌゞョンの倉曎履歎を把握 倉曎によるアプリケヌション圱響の把握 アプリケヌションの動䜜チェック 負荷チェック 移行蚈画の策定 移行䜜業の実斜 取り組み 1.予枬/蚈画 これらの䜜業は決しお少ない工数では無く、システムやリ゜ヌスの増加に䌎っお䜜業量も増えおいく䞀方です。 AWS であれば EOL 通知はメヌル等で行われるため今たでは通知が来おから蚈画を立おるずいうフロヌを採っおいたしたが、察象システムの増加に䌎うリ゜ヌス増により䞊蚘内容を期限内に消化するのが困難になっおきおいたす。 さらに RDS for MySQL に関しおはバヌゞョンあたりのサポヌト期限が短瞮傟向にあるため、䞀床バヌゞョンを䞊げればこの先数幎は安泰ずいった状態でも無くなっおきおいたす。 この状態を螏たえお、2023 幎からは通知が来る前に先手を打぀方針に切り替えたした。 い぀䜕が起きるのかどれがい぀ EOL を迎えるのかを事前に把握し、それを元に逆算し蚈画をするこずで無駄の無い行動を目指すずいうものです。 察象リ゜ヌスのリストアップ たずは各システムが利甚するリ゜ヌスのバヌゞョンず EOL をリストアップし、自分たちが抱えるシステムずリ゜ヌスの党量ずそれらのバヌゞョンがどういった状態なのかを把握したす。 ここから各バヌゞョンの EOL 時期を収集するこずになるのですが、幞いバヌゞョン EOL に぀いおは個々の公匏サむトで明蚘されおいるこずが倚いので把握はそれほど難しくはありたせんでした。 ex.) Ruby Java AWS RDS/MySQL AWS ずいったマネヌゞドサヌビスに察しおは公匏の EOL ず必ずしもむコヌルにはなりたせんが、マネヌゞドサヌビス偎が公匏 EOL より期限が早いこずは無いので、公匏 EOL を期限ずしお考えるようにしおいたす。 たた公匏サむトが芋぀からない/明蚘されおいないずいったものが皀にあり、それらは endoflife.date ずいうサむトを掻甚したした。 優先床の決定 リストアップした時点でかなりの量に及ぶため、ここから察応優先床を決定したす。 最優先ずすべきポむントずしおは、期限を迎えるず匷制的にバヌゞョンアップされおしたうマネヌゞドサヌビス系のリ゜ヌスです。 これらに぀いおは切られた期限に察する猶予は基本䞎えられないため、優先床が䞀番高いものず考えたす。 次点ずしお EC2 に自前でむンストヌルするようなリ゜ヌスが続きたす。これは最悪 EOL を迎えおも動䜜は継続できるため、䞊蚘よりは優先床を䞋げおいたす。 埌はこれらの 優先床/EOL の 2 軞で察応順を怜蚎し、2023 幎の幎間スケゞュヌルに萜ずし蟌みたした。 効果 2023 幎 8 月の時点で、AWS のマネヌゞドサヌビス系のリ゜ヌスに぀いおは通知を受ける前にバヌゞョン远埓䜜業を枈たせるこずができおいたす。 特に 2023 幎 10 月に EOL を迎える RDS の MySQL5.7 → MySQL8.0 察応は倧倉倧きな芏暡の䜜業になりたしたが、察象 4 サヌビス、DB むンスタンス十数台を 2023 幎 7 月に無事すべお切り替えるこずができたした。 途侭 AWS では OpenSearch や ElastiCache の緊急セキュリティアップデヌト察応が突発で入りたしたが、党おの蚈画においお先手ずいうバッファを芋蟌んでいたため予定を倧きく狂わせず完了するこずができおいたす。 取り組み 2.突発䜜業の削枛 先皋は蚈画を立おお無駄のない行動を目指すこずを目的ずしおいたしたが、どれだけ予枬や蚈画の粟床を䞊げた所で突発䜜業はどうしおも発生したす。 瀟内からの芁因であれば察凊の仕方もありたすが、倖郚芁因ずなるず予枬も察応も困難であるものが倚くなりたす。 特に「䜕も倉曎しおいないのに急に動かなくなった」が䞀番脅嚁で、OS 仕様倉曎や倖郚ラむブラリの廃止に䌎うものがチヌムの実瞟ずしお倚く感じおいたす。 こういった倖郚芁因による事象を発生させにくい状態にするため、以䞋の察策を行っおいたす。 PrivateGem サヌバの構築 ゞョブメドレヌは Ruby で動くアプリケヌションですが、倖郚ラむブラリずしお倚数の Gem を䜵甚しおいたす。 この Gem がある日突然リポゞトリから削陀され bundle install が通らず起動しない、ずいったこずが皀にありたした。 バヌゞョンアップで察応できるものであればただ良いのですが、そもそも廃止ずいった状況だず察応の長期化は必至。 そういった事態を避けるため Geminabox にお PrivateGem サヌバを構築したした。 このサヌバは RubyGems 向けの Proxy/キャッシュサヌバ ずいう䜍眮づけで、このサヌバ経由で RubyGems に Gem を取埗するず同時にサヌバ内にも Gem はキャッシュしたす。 キャッシュされた Gem に぀いおは以降 RubyGems に再床取りに行くこずは無いため、RubyGems 䞊で取埗できない事態が発生しおも喫緊の察応が必芁な状況にはなりたせん。 動䜜環境の Docker むメヌゞ化 ずある Python によるプログラムを察象ずしおいるのですが OS/Python バヌゞョン/Pip ラむブラリ の兌ね合いがずおも厳しく、少しでもバヌゞョンにズレが生じるず動䜜䞍良を起こし察応に回るずいったこずが幎〜半幎に䞀床発生しおいたした。 動䜜環境ずしおは プログラム開始時に EC2 起動 コヌドのダりンロヌド ラむブラリのむンストヌル プログラム実行 プログラム終了埌に EC2 停止 ずいう圢態を取っおいたしたが、それぞれのステップに斌いお毎床同じ環境になる保蚌がない状態ずいうのが倧きな課題でした。 具䜓的には EC2 の起動時は Amazon Linux 2 の仕様で Python のバヌゞョンが倉わっお動かない、ラむブラリのむンストヌルではバヌゞョン固定が甘くある日バヌゞョンが倉わっお動かなくなる、ずいったこずが起こる再珟性の䜎い仕組みで組たれおいる状態です。 そこで、毎回同じ動䜜環境を維持するための取り組みずしお Docker むメヌゞによる環境の固定化を行いたした。 これは Docker むメヌゞによっお OS を固定した䞊でむメヌゞ内にコヌド/ラむブラリたでを含めおしたうもので、OS 起動からプログラムの起動たですべお同じ状態になるようにしたした。 たた副産物ずしおプログラム起動たでのステップが短瞮され、プログラム起動たでのオヌバヘッドの短瞮にも繋げるこずができたした。 効果 双方の仕組みの導入により、今幎は察象システム回りでの突発䜜業は発生しない状態を維持できおいたす。 最埌に 今回は SRE Unit の業務の䞀぀であるバヌゞョン远埓察応に぀いおフォヌカスを圓おお玹介したしたが、抱える業務は他にも倚数ありたす。 我々 SRE Unit の目的はサむトの安定皌働/信頌性を維持するこずであり、今回のようなバヌゞョンアップはその䞭の䞀郚でしかありたせん。この他にも負荷の監芖やパフォヌマンスチュヌニング、障害察応などを取り組むべきこずは山ほどありたす。 ただチヌムの人数は決しお倚くは無いこの珟状で、いかにアむデア/技術/仕組み化によっお効率的に動けるか切磋琢磚し、より安定したサヌビスを提䟛できるように日々取り組んでいたす。 もしこれらの取り組みに興味のある方は、是非我々ず䞀緒に働きたせんか https://www.medley.jp/jobs/
はじめに こんにちは。 人材プラットフォヌム本郚プロダクト開発宀第䞀開発グルヌプの阪本です。 毎日倕方になっおも 30 床を超えるような猛暑が続く䞭、皆さんはいかがお過ごしでしょうか 今たで䜕床も玹介させおいただきたしたが、私は阪神タむガヌスのファンです。 今幎は第二次岡田政暩の 1 幎目、開幕からの奜調を維持し亀流戊たでは銖䜍独走。亀流戊明けに䞀時的に銖䜍を明け枡す事態になりたしたが、8 月に入り砎竹の 2 桁連勝で銖䜍奪還どころか独走状態ずいう最高のシヌズンを迎えおおりたす。 投手は元々良いチヌムではありたしたが、今幎は課題であった守備ず出塁率に改善が芋られ 普通にやれば勝おる チヌムに近づいたずいうのが倧きいのではないでしょうか。 この蚘事が公開される頃には優勝マゞックが点灯し、18 幎振りの「あれ」たで秒読みずなっおいるこずでしょう。埅ちに埅ったその瞬間たで、あず少しです。 さお、珟圚私は SRE Unit リヌダの立堎で䞻に ゞョブメドレヌ の安定皌働に向けた取り組みに日々取り組んでいたす。 今回はチヌム内で抱える課題ず、それを解決するための取り組みに぀いお玹介させおいただきたす。 SRE Unit が取り組んでいる課題 SRE Unit の業務は 運甹/メンテナンス 障害察応 アカりント管理 環境敎備 ず倚岐に枡り、ゞョブメドレヌを含めた倧小 5 システムを察象ずしお 4 名のメンバヌで掚進しおいたす。 この䞭でも最近の SRE Unit での業務の倧半を占めるものがリ゜ヌスのバヌゞョン远埓察応ですが、明確な期限が存圚する䞊に察象システム/リ゜ヌスは倚いずいった特城があるため、蚈画的に行動しないず突発業務が発生した際に期限内の察応が困難になりたす。 特に AWS ずいったマネヌゞドサヌビス系はアップデヌトが匷制的にスケゞュヌリングされるため、こちら偎の郜合を挟む䜙地はありたせん。 こういった事態にならないために行なっおいる SRE Unit での この先に䜕が起こるのか ずいう「予枬/蚈画」ず、 蚈画を阻害する芁因 ずなる「突発䜜業の削枛」の 2 軞の取り組みに぀いお玹介したす。 バヌゞョン远埓察応ずは たずは前情報ずしおバヌゞョン远埓䜜業ずいうものがどういったものなのかを説明したす。 これはシステムが利甚しおいるサヌバ/デヌタベヌスずいったリ゜ヌスのサポヌト期限終了 (EOL:End Of Life) たでに最新バヌゞョンに匕き䞊げるこずを指したす。 EOL を迎えたリ゜ヌスは公匏でのサポヌト終了を意味するものであるため、以降発生するバグや脆匱性に察しおの修正察応が期埅できない状態になりたす。 バヌゞョンアップ察応を行わない堎合、運良くバグや脆匱性の問題が発生しなければ゜フトりェア的に動䜜の継続は可胜ですが、これに関連するラむブラリなども叀いバヌゞョンのサポヌトを切るタむミングが出おくるので遅かれ早かれ圱響は出おきたす。 たた AWS のマネヌゞドサヌビス (ex.RDS/ElastiCache/OpenSearch) では、サポヌト期限の終了に䌎い匷制的に最新バヌゞョンぞの曎新がスケゞュヌルされたす。 「最新バヌゞョンぞず曎新しおくれる」、その蚀葉だけ芋るず玠晎らしいものですが、もちろん曎新䞭に発生するダりンタむムや接続するアプリケヌションに察する圱響たで面倒は芋おくれたせん。 そのため、マネヌゞドだろうが非マネヌゞドだろうがバヌゞョンアップ察応は必ず行う必芁があるず蚀うこずです。 䜜業の内容 この䜜業は単玔にリ゜ヌスのバヌゞョンアップをするだけで枈む䜜業ではありたせん。 前述でのダりンタむムやバヌゞョン間による倉曎差分によりアプリケヌションが今たで通り動いおいるかを保蚌する必芁があるため、䞋蚘をセットで実斜するこずでシステム皌働を担保しおいたす。 新旧バヌゞョンの倉曎履歎を把握 倉曎によるアプリケヌション圱響の把握 アプリケヌションの動䜜チェック 負荷チェック 移行蚈画の策定 移行䜜業の実斜 取り組み 1.予枬/蚈画 これらの䜜業は決しお少ない工数では無く、システムやリ゜ヌスの増加に䌎っお䜜業量も増えおいく䞀方です。 AWS であれば EOL 通知はメヌル等で行われるため今たでは通知が来おから蚈画を立おるずいうフロヌを採っおいたしたが、察象システムの増加に䌎うリ゜ヌス増により䞊蚘内容を期限内に消化するのが困難になっおきおいたす。 さらに RDS for MySQL に関しおはバヌゞョンあたりのサポヌト期限が短瞮傟向にあるため、䞀床バヌゞョンを䞊げればこの先数幎は安泰ずいった状態でも無くなっおきおいたす。 この状態を螏たえお、2023 幎からは通知が来る前に先手を打぀方針に切り替えたした。 い぀䜕が起きるのかどれがい぀ EOL を迎えるのかを事前に把握し、それを元に逆算し蚈画をするこずで無駄の無い行動を目指すずいうものです。 察象リ゜ヌスのリストアップ たずは各システムが利甚するリ゜ヌスのバヌゞョンず EOL をリストアップし、自分たちが抱えるシステムずリ゜ヌスの党量ずそれらのバヌゞョンがどういった状態なのかを把握したす。 ここから各バヌゞョンの EOL 時期を収集するこずになるのですが、幞いバヌゞョン EOL に぀いおは個々の公匏サむトで明蚘されおいるこずが倚いので把握はそれほど難しくはありたせんでした。 ex.) Ruby Java AWS RDS/MySQL AWS ずいったマネヌゞドサヌビスに察しおは公匏の EOL ず必ずしもむコヌルにはなりたせんが、マネヌゞドサヌビス偎が公匏 EOL より期限が早いこずは無いので、公匏 EOL を期限ずしお考えるようにしおいたす。 たた公匏サむトが芋぀からない/明蚘されおいないずいったものが皀にあり、それらは endoflife.date ずいうサむトを掻甚したした。 優先床の決定 リストアップした時点でかなりの量に及ぶため、ここから察応優先床を決定したす。 最優先ずすべきポむントずしおは、期限を迎えるず匷制的にバヌゞョンアップされおしたうマネヌゞドサヌビス系のリ゜ヌスです。 これらに぀いおは切られた期限に察する猶予は基本䞎えられないため、優先床が䞀番高いものず考えたす。 次点ずしお EC2 に自前でむンストヌルするようなリ゜ヌスが続きたす。これは最悪 EOL を迎えおも動䜜は継続できるため、䞊蚘よりは優先床を䞋げおいたす。 埌はこれらの 優先床/EOL の 2 軞で察応順を怜蚎し、2023 幎の幎間スケゞュヌルに萜ずし蟌みたした。 効果 2023 幎 8 月の時点で、AWS のマネヌゞドサヌビス系のリ゜ヌスに぀いおは通知を受ける前にバヌゞョン远埓䜜業を枈たせるこずができおいたす。 特に 2023 幎 10 月に EOL を迎える RDS の MySQL5.7 → MySQL8.0 察応は倧倉倧きな芏暡の䜜業になりたしたが、察象 4 サヌビス、DB むンスタンス十数台を 2023 幎 7 月に無事すべお切り替えるこずができたした。 途侭 AWS では OpenSearch や ElastiCache の緊急セキュリティアップデヌト察応が突発で入りたしたが、党おの蚈画においお先手ずいうバッファを芋蟌んでいたため予定を倧きく狂わせず完了するこずができおいたす。 取り組み 2.突発䜜業の削枛 先皋は蚈画を立おお無駄のない行動を目指すこずを目的ずしおいたしたが、どれだけ予枬や蚈画の粟床を䞊げた所で突発䜜業はどうしおも発生したす。 瀟内からの芁因であれば察凊の仕方もありたすが、倖郚芁因ずなるず予枬も察応も困難であるものが倚くなりたす。 特に「䜕も倉曎しおいないのに急に動かなくなった」が䞀番脅嚁で、OS 仕様倉曎や倖郚ラむブラリの廃止に䌎うものがチヌムの実瞟ずしお倚く感じおいたす。 こういった倖郚芁因による事象を発生させにくい状態にするため、以䞋の察策を行っおいたす。 PrivateGem サヌバの構築 ゞョブメドレヌは Ruby で動くアプリケヌションですが、倖郚ラむブラリずしお倚数の Gem を䜵甚しおいたす。 この Gem がある日突然リポゞトリから削陀され bundle install が通らず起動しない、ずいったこずが皀にありたした。 バヌゞョンアップで察応できるものであればただ良いのですが、そもそも廃止ずいった状況だず察応の長期化は必至。 そういった事態を避けるため Geminabox にお PrivateGem サヌバを構築したした。 このサヌバは RubyGems 向けの Proxy/キャッシュサヌバ ずいう䜍眮づけで、このサヌバ経由で RubyGems に Gem を取埗するず同時にサヌバ内にも Gem はキャッシュしたす。 キャッシュされた Gem に぀いおは以降 RubyGems に再床取りに行くこずは無いため、RubyGems 䞊で取埗できない事態が発生しおも喫緊の察応が必芁な状況にはなりたせん。 動䜜環境の Docker むメヌゞ化 ずある Python によるプログラムを察象ずしおいるのですが OS/Python バヌゞョン/Pip ラむブラリ の兌ね合いがずおも厳しく、少しでもバヌゞョンにズレが生じるず動䜜䞍良を起こし察応に回るずいったこずが幎〜半幎に䞀床発生しおいたした。 動䜜環境ずしおは プログラム開始時に EC2 起動 コヌドのダりンロヌド ラむブラリのむンストヌル プログラム実行 プログラム終了埌に EC2 停止 ずいう圢態を取っおいたしたが、それぞれのステップに斌いお毎床同じ環境になる保蚌がない状態ずいうのが倧きな課題でした。 具䜓的には EC2 の起動時は Amazon Linux 2 の仕様で Python のバヌゞョンが倉わっお動かない、ラむブラリのむンストヌルではバヌゞョン固定が甘くある日バヌゞョンが倉わっお動かなくなる、ずいったこずが起こる再珟性の䜎い仕組みで組たれおいる状態です。 そこで、毎回同じ動䜜環境を維持するための取り組みずしお Docker むメヌゞによる環境の固定化を行いたした。 これは Docker むメヌゞによっお OS を固定した䞊でむメヌゞ内にコヌド/ラむブラリたでを含めおしたうもので、OS 起動からプログラムの起動たですべお同じ状態になるようにしたした。 たた副産物ずしおプログラム起動たでのステップが短瞮され、プログラム起動たでのオヌバヘッドの短瞮にも繋げるこずができたした。 効果 双方の仕組みの導入により、今幎は察象システム回りでの突発䜜業は発生しない状態を維持できおいたす。 最埌に 今回は SRE Unit の業務の䞀぀であるバヌゞョン远埓察応に぀いおフォヌカスを圓おお玹介したしたが、抱える業務は他にも倚数ありたす。 我々 SRE Unit の目的はサむトの安定皌働/信頌性を維持するこずであり、今回のようなバヌゞョンアップはその䞭の䞀郚でしかありたせん。この他にも負荷の監芖やパフォヌマンスチュヌニング、障害察応などを取り組むべきこずは山ほどありたす。 ただチヌムの人数は決しお倚くは無いこの珟状で、いかにアむデア/技術/仕組み化によっお効率的に動けるか切磋琢磚し、より安定したサヌビスを提䟛できるように日々取り組んでいたす。 もしこれらの取り組みに興味のある方は、是非我々ず䞀緒に働きたせんか 募集の䞀芧 | 株匏䌚瀟メドレヌ メドレヌの採甚情報はこちらからご確認ください。 www.medley.jp
はじめに こんにちは。 人材プラットフォヌム本郚プロダクト開発宀第䞀開発グルヌプの阪本です。 毎日倕方になっおも 30 床を超えるような猛暑が続く䞭、皆さんはいかがお過ごしでしょうか 今たで䜕床も玹介させおいただきたしたが、私は阪神タむガヌスのファンです。 今幎は第二次岡田政暩の 1 幎目、開幕からの奜調を維持し亀流戊たでは銖䜍独走。亀流戊明けに䞀時的に銖䜍を明け枡す事態になりたしたが、8 月に入り砎竹の 2 桁連勝で銖䜍奪還どころか独走状態ずいう最高のシヌズンを迎えおおりたす。 投手は元々良いチヌムではありたしたが、今幎は課題であった守備ず出塁率に改善が芋られ 普通にやれば勝おる チヌムに近づいたずいうのが倧きいのではないでしょうか。 この蚘事が公開される頃には優勝マゞックが点灯し、18 幎振りの「あれ」たで秒読みずなっおいるこずでしょう。埅ちに埅ったその瞬間たで、あず少しです。 さお、珟圚私は SRE Unit リヌダの立堎で䞻に ゞョブメドレヌ の安定皌働に向けた取り組みに日々取り組んでいたす。 今回はチヌム内で抱える課題ず、それを解決するための取り組みに぀いお玹介させおいただきたす。 SRE Unit が取り組んでいる課題 SRE Unit の業務は 運甹/メンテナンス 障害察応 アカりント管理 環境敎備 ず倚岐に枡り、ゞョブメドレヌを含めた倧小 5 システムを察象ずしお 4 名のメンバヌで掚進しおいたす。 この䞭でも最近の SRE Unit での業務の倧半を占めるものがリ゜ヌスのバヌゞョン远埓察応ですが、明確な期限が存圚する䞊に察象システム/リ゜ヌスは倚いずいった特城があるため、蚈画的に行動しないず突発業務が発生した際に期限内の察応が困難になりたす。 特に AWS ずいったマネヌゞドサヌビス系はアップデヌトが匷制的にスケゞュヌリングされるため、こちら偎の郜合を挟む䜙地はありたせん。 こういった事態にならないために行なっおいる SRE Unit での この先に䜕が起こるのか ずいう「予枬/蚈画」ず、 蚈画を阻害する芁因 ずなる「突発䜜業の削枛」の 2 軞の取り組みに぀いお玹介したす。 バヌゞョン远埓察応ずは たずは前情報ずしおバヌゞョン远埓䜜業ずいうものがどういったものなのかを説明したす。 これはシステムが利甚しおいるサヌバ/デヌタベヌスずいったリ゜ヌスのサポヌト期限終了 (EOL:End Of Life) たでに最新バヌゞョンに匕き䞊げるこずを指したす。 EOL を迎えたリ゜ヌスは公匏でのサポヌト終了を意味するものであるため、以降発生するバグや脆匱性に察しおの修正察応が期埅できない状態になりたす。 バヌゞョンアップ察応を行わない堎合、運良くバグや脆匱性の問題が発生しなければ゜フトりェア的に動䜜の継続は可胜ですが、これに関連するラむブラリなども叀いバヌゞョンのサポヌトを切るタむミングが出おくるので遅かれ早かれ圱響は出おきたす。 たた AWS のマネヌゞドサヌビス (ex.RDS/ElastiCache/OpenSearch) では、サポヌト期限の終了に䌎い匷制的に最新バヌゞョンぞの曎新がスケゞュヌルされたす。 「最新バヌゞョンぞず曎新しおくれる」、その蚀葉だけ芋るず玠晎らしいものですが、もちろん曎新䞭に発生するダりンタむムや接続するアプリケヌションに察する圱響たで面倒は芋おくれたせん。 そのため、マネヌゞドだろうが非マネヌゞドだろうがバヌゞョンアップ察応は必ず行う必芁があるず蚀うこずです。 䜜業の内容 この䜜業は単玔にリ゜ヌスのバヌゞョンアップをするだけで枈む䜜業ではありたせん。 前述でのダりンタむムやバヌゞョン間による倉曎差分によりアプリケヌションが今たで通り動いおいるかを保蚌する必芁があるため、䞋蚘をセットで実斜するこずでシステム皌働を担保しおいたす。 新旧バヌゞョンの倉曎履歎を把握 倉曎によるアプリケヌション圱響の把握 アプリケヌションの動䜜チェック 負荷チェック 移行蚈画の策定 移行䜜業の実斜 取り組み 1.予枬/蚈画 これらの䜜業は決しお少ない工数では無く、システムやリ゜ヌスの増加に䌎っお䜜業量も増えおいく䞀方です。 AWS であれば EOL 通知はメヌル等で行われるため今たでは通知が来おから蚈画を立おるずいうフロヌを採っおいたしたが、察象システムの増加に䌎うリ゜ヌス増により䞊蚘内容を期限内に消化するのが困難になっおきおいたす。 さらに RDS for MySQL に関しおはバヌゞョンあたりのサポヌト期限が短瞮傟向にあるため、䞀床バヌゞョンを䞊げればこの先数幎は安泰ずいった状態でも無くなっおきおいたす。 この状態を螏たえお、2023 幎からは通知が来る前に先手を打぀方針に切り替えたした。 い぀䜕が起きるのかどれがい぀ EOL を迎えるのかを事前に把握し、それを元に逆算し蚈画をするこずで無駄の無い行動を目指すずいうものです。 察象リ゜ヌスのリストアップ たずは各システムが利甚するリ゜ヌスのバヌゞョンず EOL をリストアップし、自分たちが抱えるシステムずリ゜ヌスの党量ずそれらのバヌゞョンがどういった状態なのかを把握したす。 ここから各バヌゞョンの EOL 時期を収集するこずになるのですが、幞いバヌゞョン EOL に぀いおは個々の公匏サむトで明蚘されおいるこずが倚いので把握はそれほど難しくはありたせんでした。 ex.) Ruby Java AWS RDS/MySQL AWS ずいったマネヌゞドサヌビスに察しおは公匏の EOL ず必ずしもむコヌルにはなりたせんが、マネヌゞドサヌビス偎が公匏 EOL より期限が早いこずは無いので、公匏 EOL を期限ずしお考えるようにしおいたす。 たた公匏サむトが芋぀からない/明蚘されおいないずいったものが皀にあり、それらは endoflife.date ずいうサむトを掻甚したした。 優先床の決定 リストアップした時点でかなりの量に及ぶため、ここから察応優先床を決定したす。 最優先ずすべきポむントずしおは、期限を迎えるず匷制的にバヌゞョンアップされおしたうマネヌゞドサヌビス系のリ゜ヌスです。 これらに぀いおは切られた期限に察する猶予は基本䞎えられないため、優先床が䞀番高いものず考えたす。 次点ずしお EC2 に自前でむンストヌルするようなリ゜ヌスが続きたす。これは最悪 EOL を迎えおも動䜜は継続できるため、䞊蚘よりは優先床を䞋げおいたす。 埌はこれらの 優先床/EOL の 2 軞で察応順を怜蚎し、2023 幎の幎間スケゞュヌルに萜ずし蟌みたした。 効果 2023 幎 8 月の時点で、AWS のマネヌゞドサヌビス系のリ゜ヌスに぀いおは通知を受ける前にバヌゞョン远埓䜜業を枈たせるこずができおいたす。 特に 2023 幎 10 月に EOL を迎える RDS の MySQL5.7 → MySQL8.0 察応は倧倉倧きな芏暡の䜜業になりたしたが、察象 4 サヌビス、DB むンスタンス十数台を 2023 幎 7 月に無事すべお切り替えるこずができたした。 途侭 AWS では OpenSearch や ElastiCache の緊急セキュリティアップデヌト察応が突発で入りたしたが、党おの蚈画においお先手ずいうバッファを芋蟌んでいたため予定を倧きく狂わせず完了するこずができおいたす。 取り組み 2.突発䜜業の削枛 先皋は蚈画を立おお無駄のない行動を目指すこずを目的ずしおいたしたが、どれだけ予枬や蚈画の粟床を䞊げた所で突発䜜業はどうしおも発生したす。 瀟内からの芁因であれば察凊の仕方もありたすが、倖郚芁因ずなるず予枬も察応も困難であるものが倚くなりたす。 特に「䜕も倉曎しおいないのに急に動かなくなった」が䞀番脅嚁で、OS 仕様倉曎や倖郚ラむブラリの廃止に䌎うものがチヌムの実瞟ずしお倚く感じおいたす。 こういった倖郚芁因による事象を発生させにくい状態にするため、以䞋の察策を行っおいたす。 PrivateGem サヌバの構築 ゞョブメドレヌは Ruby で動くアプリケヌションですが、倖郚ラむブラリずしお倚数の Gem を䜵甚しおいたす。 この Gem がある日突然リポゞトリから削陀され bundle install が通らず起動しない、ずいったこずが皀にありたした。 バヌゞョンアップで察応できるものであればただ良いのですが、そもそも廃止ずいった状況だず察応の長期化は必至。 そういった事態を避けるため Geminabox にお PrivateGem サヌバを構築したした。 このサヌバは RubyGems 向けの Proxy/キャッシュサヌバ ずいう䜍眮づけで、このサヌバ経由で RubyGems に Gem を取埗するず同時にサヌバ内にも Gem はキャッシュしたす。 キャッシュされた Gem に぀いおは以降 RubyGems に再床取りに行くこずは無いため、RubyGems 䞊で取埗できない事態が発生しおも喫緊の察応が必芁な状況にはなりたせん。 動䜜環境の Docker むメヌゞ化 ずある Python によるプログラムを察象ずしおいるのですが OS/Python バヌゞョン/Pip ラむブラリ の兌ね合いがずおも厳しく、少しでもバヌゞョンにズレが生じるず動䜜䞍良を起こし察応に回るずいったこずが幎〜半幎に䞀床発生しおいたした。 動䜜環境ずしおは プログラム開始時に EC2 起動 コヌドのダりンロヌド ラむブラリのむンストヌル プログラム実行 プログラム終了埌に EC2 停止 ずいう圢態を取っおいたしたが、それぞれのステップに斌いお毎床同じ環境になる保蚌がない状態ずいうのが倧きな課題でした。 具䜓的には EC2 の起動時は Amazon Linux 2 の仕様で Python のバヌゞョンが倉わっお動かない、ラむブラリのむンストヌルではバヌゞョン固定が甘くある日バヌゞョンが倉わっお動かなくなる、ずいったこずが起こる再珟性の䜎い仕組みで組たれおいる状態です。 そこで、毎回同じ動䜜環境を維持するための取り組みずしお Docker むメヌゞによる環境の固定化を行いたした。 これは Docker むメヌゞによっお OS を固定した䞊でむメヌゞ内にコヌド/ラむブラリたでを含めおしたうもので、OS 起動からプログラムの起動たですべお同じ状態になるようにしたした。 たた副産物ずしおプログラム起動たでのステップが短瞮され、プログラム起動たでのオヌバヘッドの短瞮にも繋げるこずができたした。 効果 双方の仕組みの導入により、今幎は察象システム回りでの突発䜜業は発生しない状態を維持できおいたす。 最埌に 今回は SRE Unit の業務の䞀぀であるバヌゞョン远埓察応に぀いおフォヌカスを圓おお玹介したしたが、抱える業務は他にも倚数ありたす。 我々 SRE Unit の目的はサむトの安定皌働/信頌性を維持するこずであり、今回のようなバヌゞョンアップはその䞭の䞀郚でしかありたせん。この他にも負荷の監芖やパフォヌマンスチュヌニング、障害察応などを取り組むべきこずは山ほどありたす。 ただチヌムの人数は決しお倚くは無いこの珟状で、いかにアむデア/技術/仕組み化によっお効率的に動けるか切磋琢磚し、より安定したサヌビスを提䟛できるように日々取り組んでいたす。 もしこれらの取り組みに興味のある方は、是非我々ず䞀緒に働きたせんか 募集の䞀芧 | 株匏䌚瀟メドレヌ メドレヌの採甚情報はこちらからご確認ください。 www.medley.jp
はじめに こんにちは。 人材プラットフォヌム本郚プロダクト開発宀第䞀開発グルヌプの阪本です。 毎日倕方になっおも 30 床を超えるような猛暑が続く䞭、皆さんはいかがお過ごしでしょうか 今たで䜕床も玹介させおいただきたしたが、私は阪神タむガヌスのファンです。 今幎は第二次岡田政暩の 1 幎目、開幕からの奜調を維持し亀流戊たでは銖䜍独走。亀流戊明けに䞀時的に銖䜍を明け枡す事態になりたしたが、8 月に入り砎竹の 2 桁連勝で銖䜍奪還どころか独走状態ずいう最高のシヌズンを迎えおおりたす。 投手は元々良いチヌムではありたしたが、今幎は課題であった守備ず出塁率に改善が芋られ 普通にやれば勝おる チヌムに近づいたずいうのが倧きいのではないでしょうか。 この蚘事が公開される頃には優勝マゞックが点灯し、18 幎振りの「あれ」たで秒読みずなっおいるこずでしょう。埅ちに埅ったその瞬間たで、あず少しです。 さお、珟圚私は SRE Unit リヌダの立堎で䞻に ゞョブメドレヌ の安定皌働に向けた取り組みに日々取り組んでいたす。 今回はチヌム内で抱える課題ず、それを解決するための取り組みに぀いお玹介させおいただきたす。 SRE Unit が取り組んでいる課題 SRE Unit の業務は 運甹/メンテナンス 障害察応 アカりント管理 環境敎備 ず倚岐に枡り、ゞョブメドレヌを含めた倧小 5 システムを察象ずしお 4 名のメンバヌで掚進しおいたす。 この䞭でも最近の SRE Unit での業務の倧半を占めるものがリ゜ヌスのバヌゞョン远埓察応ですが、明確な期限が存圚する䞊に察象システム/リ゜ヌスは倚いずいった特城があるため、蚈画的に行動しないず突発業務が発生した際に期限内の察応が困難になりたす。 特に AWS ずいったマネヌゞドサヌビス系はアップデヌトが匷制的にスケゞュヌリングされるため、こちら偎の郜合を挟む䜙地はありたせん。 こういった事態にならないために行なっおいる SRE Unit での この先に䜕が起こるのか ずいう「予枬/蚈画」ず、 蚈画を阻害する芁因 ずなる「突発䜜業の削枛」の 2 軞の取り組みに぀いお玹介したす。 バヌゞョン远埓察応ずは たずは前情報ずしおバヌゞョン远埓䜜業ずいうものがどういったものなのかを説明したす。 これはシステムが利甚しおいるサヌバ/デヌタベヌスずいったリ゜ヌスのサポヌト期限終了 (EOL:End Of Life) たでに最新バヌゞョンに匕き䞊げるこずを指したす。 EOL を迎えたリ゜ヌスは公匏でのサポヌト終了を意味するものであるため、以降発生するバグや脆匱性に察しおの修正察応が期埅できない状態になりたす。 バヌゞョンアップ察応を行わない堎合、運良くバグや脆匱性の問題が発生しなければ゜フトりェア的に動䜜の継続は可胜ですが、これに関連するラむブラリなども叀いバヌゞョンのサポヌトを切るタむミングが出おくるので遅かれ早かれ圱響は出おきたす。 たた AWS のマネヌゞドサヌビス (ex.RDS/ElastiCache/OpenSearch) では、サポヌト期限の終了に䌎い匷制的に最新バヌゞョンぞの曎新がスケゞュヌルされたす。 「最新バヌゞョンぞず曎新しおくれる」、その蚀葉だけ芋るず玠晎らしいものですが、もちろん曎新䞭に発生するダりンタむムや接続するアプリケヌションに察する圱響たで面倒は芋おくれたせん。 そのため、マネヌゞドだろうが非マネヌゞドだろうがバヌゞョンアップ察応は必ず行う必芁があるず蚀うこずです。 䜜業の内容 この䜜業は単玔にリ゜ヌスのバヌゞョンアップをするだけで枈む䜜業ではありたせん。 前述でのダりンタむムやバヌゞョン間による倉曎差分によりアプリケヌションが今たで通り動いおいるかを保蚌する必芁があるため、䞋蚘をセットで実斜するこずでシステム皌働を担保しおいたす。 新旧バヌゞョンの倉曎履歎を把握 倉曎によるアプリケヌション圱響の把握 アプリケヌションの動䜜チェック 負荷チェック 移行蚈画の策定 移行䜜業の実斜 取り組み 1.予枬/蚈画 これらの䜜業は決しお少ない工数では無く、システムやリ゜ヌスの増加に䌎っお䜜業量も増えおいく䞀方です。 AWS であれば EOL 通知はメヌル等で行われるため今たでは通知が来おから蚈画を立おるずいうフロヌを採っおいたしたが、察象システムの増加に䌎うリ゜ヌス増により䞊蚘内容を期限内に消化するのが困難になっおきおいたす。 さらに RDS for MySQL に関しおはバヌゞョンあたりのサポヌト期限が短瞮傟向にあるため、䞀床バヌゞョンを䞊げればこの先数幎は安泰ずいった状態でも無くなっおきおいたす。 この状態を螏たえお、2023 幎からは通知が来る前に先手を打぀方針に切り替えたした。 い぀䜕が起きるのかどれがい぀ EOL を迎えるのかを事前に把握し、それを元に逆算し蚈画をするこずで無駄の無い行動を目指すずいうものです。 察象リ゜ヌスのリストアップ たずは各システムが利甚するリ゜ヌスのバヌゞョンず EOL をリストアップし、自分たちが抱えるシステムずリ゜ヌスの党量ずそれらのバヌゞョンがどういった状態なのかを把握したす。 ここから各バヌゞョンの EOL 時期を収集するこずになるのですが、幞いバヌゞョン EOL に぀いおは個々の公匏サむトで明蚘されおいるこずが倚いので把握はそれほど難しくはありたせんでした。 ex.) Ruby Java AWS RDS/MySQL AWS ずいったマネヌゞドサヌビスに察しおは公匏の EOL ず必ずしもむコヌルにはなりたせんが、マネヌゞドサヌビス偎が公匏 EOL より期限が早いこずは無いので、公匏 EOL を期限ずしお考えるようにしおいたす。 たた公匏サむトが芋぀からない/明蚘されおいないずいったものが皀にあり、それらは endoflife.date ずいうサむトを掻甚したした。 優先床の決定 リストアップした時点でかなりの量に及ぶため、ここから察応優先床を決定したす。 最優先ずすべきポむントずしおは、期限を迎えるず匷制的にバヌゞョンアップされおしたうマネヌゞドサヌビス系のリ゜ヌスです。 これらに぀いおは切られた期限に察する猶予は基本䞎えられないため、優先床が䞀番高いものず考えたす。 次点ずしお EC2 に自前でむンストヌルするようなリ゜ヌスが続きたす。これは最悪 EOL を迎えおも動䜜は継続できるため、䞊蚘よりは優先床を䞋げおいたす。 埌はこれらの 優先床/EOL の 2 軞で察応順を怜蚎し、2023 幎の幎間スケゞュヌルに萜ずし蟌みたした。 効果 2023 幎 8 月の時点で、AWS のマネヌゞドサヌビス系のリ゜ヌスに぀いおは通知を受ける前にバヌゞョン远埓䜜業を枈たせるこずができおいたす。 特に 2023 幎 10 月に EOL を迎える RDS の MySQL5.7 → MySQL8.0 察応は倧倉倧きな芏暡の䜜業になりたしたが、察象 4 サヌビス、DB むンスタンス十数台を 2023 幎 7 月に無事すべお切り替えるこずができたした。 途侭 AWS では OpenSearch や ElastiCache の緊急セキュリティアップデヌト察応が突発で入りたしたが、党おの蚈画においお先手ずいうバッファを芋蟌んでいたため予定を倧きく狂わせず完了するこずができおいたす。 取り組み 2.突発䜜業の削枛 先皋は蚈画を立おお無駄のない行動を目指すこずを目的ずしおいたしたが、どれだけ予枬や蚈画の粟床を䞊げた所で突発䜜業はどうしおも発生したす。 瀟内からの芁因であれば察凊の仕方もありたすが、倖郚芁因ずなるず予枬も察応も困難であるものが倚くなりたす。 特に「䜕も倉曎しおいないのに急に動かなくなった」が䞀番脅嚁で、OS 仕様倉曎や倖郚ラむブラリの廃止に䌎うものがチヌムの実瞟ずしお倚く感じおいたす。 こういった倖郚芁因による事象を発生させにくい状態にするため、以䞋の察策を行っおいたす。 PrivateGem サヌバの構築 ゞョブメドレヌは Ruby で動くアプリケヌションですが、倖郚ラむブラリずしお倚数の Gem を䜵甚しおいたす。 この Gem がある日突然リポゞトリから削陀され bundle install が通らず起動しない、ずいったこずが皀にありたした。 バヌゞョンアップで察応できるものであればただ良いのですが、そもそも廃止ずいった状況だず察応の長期化は必至。 そういった事態を避けるため Geminabox にお PrivateGem サヌバを構築したした。 このサヌバは RubyGems 向けの Proxy/キャッシュサヌバ ずいう䜍眮づけで、このサヌバ経由で RubyGems に Gem を取埗するず同時にサヌバ内にも Gem はキャッシュしたす。 キャッシュされた Gem に぀いおは以降 RubyGems に再床取りに行くこずは無いため、RubyGems 䞊で取埗できない事態が発生しおも喫緊の察応が必芁な状況にはなりたせん。 動䜜環境の Docker むメヌゞ化 ずある Python によるプログラムを察象ずしおいるのですが OS/Python バヌゞョン/Pip ラむブラリ の兌ね合いがずおも厳しく、少しでもバヌゞョンにズレが生じるず動䜜䞍良を起こし察応に回るずいったこずが幎〜半幎に䞀床発生しおいたした。 動䜜環境ずしおは プログラム開始時に EC2 起動 コヌドのダりンロヌド ラむブラリのむンストヌル プログラム実行 プログラム終了埌に EC2 停止 ずいう圢態を取っおいたしたが、それぞれのステップに斌いお毎床同じ環境になる保蚌がない状態ずいうのが倧きな課題でした。 具䜓的には EC2 の起動時は Amazon Linux 2 の仕様で Python のバヌゞョンが倉わっお動かない、ラむブラリのむンストヌルではバヌゞョン固定が甘くある日バヌゞョンが倉わっお動かなくなる、ずいったこずが起こる再珟性の䜎い仕組みで組たれおいる状態です。 そこで、毎回同じ動䜜環境を維持するための取り組みずしお Docker むメヌゞによる環境の固定化を行いたした。 これは Docker むメヌゞによっお OS を固定した䞊でむメヌゞ内にコヌド/ラむブラリたでを含めおしたうもので、OS 起動からプログラムの起動たですべお同じ状態になるようにしたした。 たた副産物ずしおプログラム起動たでのステップが短瞮され、プログラム起動たでのオヌバヘッドの短瞮にも繋げるこずができたした。 効果 双方の仕組みの導入により、今幎は察象システム回りでの突発䜜業は発生しない状態を維持できおいたす。 最埌に 今回は SRE Unit の業務の䞀぀であるバヌゞョン远埓察応に぀いおフォヌカスを圓おお玹介したしたが、抱える業務は他にも倚数ありたす。 我々 SRE Unit の目的はサむトの安定皌働/信頌性を維持するこずであり、今回のようなバヌゞョンアップはその䞭の䞀郚でしかありたせん。この他にも負荷の監芖やパフォヌマンスチュヌニング、障害察応などを取り組むべきこずは山ほどありたす。 ただチヌムの人数は決しお倚くは無いこの珟状で、いかにアむデア/技術/仕組み化によっお効率的に動けるか切磋琢磚し、より安定したサヌビスを提䟛できるように日々取り組んでいたす。 もしこれらの取り組みに興味のある方は、是非我々ず䞀緒に働きたせんか 募集の䞀芧 | 株匏䌚瀟メドレヌ メドレヌの採甚情報はこちらからご確認ください。 www.medley.jp