TECH PLAY

゚ス・゚ム・゚ス

゚ス・゚ム・゚ス の技術ブログ

å…š269ä»¶

10月29日火31日朚に北海道札幌垂で開催される「第83回 日本公衆衛生孊䌚総䌚」にお、筑波倧孊ず匊瀟Analytics & Innovation掚進郚が共同で行っおいる研究の成果が発衚されたす。 孊䌚の抂芁 日本公衆衛生孊䌚は1947幎昭和22幎に蚭立された、公衆衛生分野での䞻芁孊䌚の1぀です。䌚員数は9,000人を超え、瀟䌚医孊分野でも最倧芏暡ずなっおいたす。 䌚員は行政 倧孊等の研究・教育機関、保健・医療・介護・犏祉や職域の珟堎実践者、䌁業など倚岐にわたり、毎幎開催される孊術倧䌚総䌚には4,000人ほどが集たりたす。 倧䌚名第83回 日本公衆衛生孊䌚総䌚 䌚期2024幎10月29日(火)31日(朚) 䌚堎札幌コンベンションセンタヌ、札幌垂産業振興センタヌ 倧䌚の公匏サむト https://plaza.umin.ac.jp/jsph83/index.html 発衚の抂芁 筑波倧孊ずの共同研究では、匊瀟が提䟛する介護/障害犏祉事業者向け経営支揎サヌビス「カむポケ」の匿名化デヌタをもずに、医療ず介護を取り巻く珟状ず課題を耇数のテヌマで分析しおいたす。 今回の総䌚では、以䞋3぀の挔題が発衚されたす。 【発衚1】 挔題名 蚪問看護事業所の保険収入における利甚者の性・幎霢・芁介護床の割合による差 発衚者名 䌊藀智子1) 2)、長谷川正圊3)、富田眞玀子3)、小林秀3)、田宮菜奈子1) 2) 発衚圢匏 ポスタヌ発衚 日時 10月30日氎13:4017:00 䌚堎 札幌垂産業振興センタヌ 䜓育実習宀䜍眮番号 089 1)筑波倧孊医孊医療系 2)筑波倧孊ヘルスサ–ビス開発研究センタヌ 3)株匏䌚瀟゚ス・゚ム・゚スAnalytics & Innovation掚進郚 【発衚2】 挔題名 芁介護高霢者に察する蚪問リハビリテヌションの実斜時間ず日垞生掻掻動の関連 発衚者名 暜芋隌人1)、宇田和晃2) 3)、小宮山最2) 3)、長谷川正圊4)、富田眞玀子4)、‚小林秀4)、田宮菜奈子2) 3) 発衚圢匏 䞀般挔題口挔 日時 10月30日氎 14:5015:50 䌚堎 札幌垂産業振興センタヌ セミナヌルヌムB第23分科䌚1 1)筑波倧孊倧孊院 2)筑波倧孊医孊医療系ヘルスサヌビスリサヌチ分野 3)筑波倧孊ヘルスサヌビス開発研究センタヌ 4)株匏䌚瀟゚ス・゚ム・゚スAnalytics & Innovation掚進郚 【発衚3】 挔題名 粟神科蚪問看護を利甚する高霢者の3幎間の芁介護床掚移に関連する芁因の分析 発衚者名 青柳沙䜳1)、䌊藀智子2)、長谷川正圊4)、富田眞玀子4)、小林秀4)、 ‚山海知子2)、田宮菜奈子2) 3) 発衚圢匏 ポスタヌ発衚 日時 10月30日氎 13:4017:00 䌚堎 札幌垂産業振興センタヌ 䜓育実習宀䜍眮番号 196 1)筑波倧孊倧孊院看護科孊孊䜍プログラム 2)筑波倧孊医孊医療系 3)筑波倧孊ヘルスサヌビス開発研究センタヌ 4)株匏䌚瀟゚ス・゚ム・゚スAnalytics & Innovation掚進郚
はじめに こんにちは、゚ス・゚ム・゚スの小笠原です。以前 2぀のカむポケSREチヌムを兌務しおいる話 を玹介したしたが、珟圚はカむポケリニュヌアル偎のSREを担圓しおいたす。 今回は介護/障害犏祉事業者向け経営支揎サヌビス「カむポケ」の開発におけるSREの掻動事䟋ずしお、基盀の構成管理を抜本的に芋盎した話を玹介したす。 リニュヌアルプロゞェクトの抂芁 最初に私が関わっおいる カむポケリニュヌアルプロゞェクト に぀いお簡単に玹介したす。 このプロゞェクトは継続的な事業成長を目的ずしおサヌビスの安定性やプロダクトの優䜍性を高めるこずを目的ずした「新カむポケ」の開発プロゞェクトで、2021幎に始動したした。 アヌキテクチャから芋盎し、「拡匵性」・「スケヌラビリティ」・「開発䞊列性」をキヌワヌドにした「新アヌキテクチャ」を蚭蚈し、開発を進めおいたす。 私もこのプロゞェクトに2022幎の幎末ごろからSREずしお開発に携わっおきたした。 プロゞェクト開始時の基盀開発の方針 最初にプロゞェクト開始時の基盀開発の方針に぀いお説明したす。プロゞェクト開始圓初、開発メンバヌの䞭でむンフラを専門ずしお動くメンバヌは1人だけでありか぀、他郚眲の業務を䞀郚兌任しおいる郜合もあり、SREずしお䞀般的に期埅される仕事をすべお担うにはリ゜ヌス䞍足でした。 䞀方、アプリケヌション開発を䞻に行うチヌム以降、アプリ開発チヌムには元むンフラチヌムのメンバヌや基盀開発に知芋のある゚ンゞニアが耇数人いたこずもあり、基盀の開発・管理をアプリ開発チヌムずSREの間で以䞋のように担圓分けする方針が敷かれたした。 プロゞェクト開始時点の管理範囲 土台ずなるAWSアカりントを始め、党䜓のネットワヌク蚭蚈VPCやsubnetなどや暪断で利甚されるリ゜ヌスをSREが管理し、それ以倖のリ゜ヌスはすべおアプリ開発チヌムで面倒を芋るずいう圹割分担です。 この圹割分担を前提ずしお、技術スタックに぀いお開発チヌムの管理範囲は AWS CDK 以降、CDKを、SREチヌムの管理範囲はTerraformを採甚するこずになりたした。 技術遞定の背景 アプリ開発チヌムでCDKを採甚したのには倧きく぀理由がありたす。぀目はアプリ開発チヌムで基盀開発を䞻導しおいたメンバヌがCDKに習熟しおいたこず。぀目は䜿い慣れおいるプログラミング蚀語であるTypeScriptで開発できるこず。぀目はSecurityGroupの蚭定など基盀の詳现に぀いお抜象化されおいお基盀に詳しくない゚ンゞニアにずっお扱いやすいこずです。これらは開発速床を䞊げるうえで倧きな優䜍性になるず考えおいたした。 䞀方、SREチヌムでTerraformを採甚した理由は運甚時の现かな取り回しの良さず芏暡の拡匵に察応しやすいず刀断したためです。特にSREが担圓するレむダAWSアカりントやネットワヌク基盀などの運甚ではこの性質ず盞性が良いず考えたした。 AWS CDKずTerraformの連携ず拡匵方針に぀いお CDKずTerraformは以䞋のようにParameter Storeを介しおそれぞれの䞖界を接続させる圢で連携するこずにしたした。 CDKずTerraformの連携 リ゜ヌス間に䟝存関係があるため、以䞋の順番で構築を進めるこずになりたした。 SREがTerraformでネットワヌクリ゜ヌスを䜜成する CDKで参照したい定数をTerraformを䜿っおParameter Storeに䜜成する 開発チヌムで定数を参照しおサヌビスごずのAWSリ゜ヌスをCDKで䜜成する 䞡者の責任分界点は明確なため、あずは各チヌムがそれぞれの担圓するCDKのstackやTerraformのroot moduleを適切な粒床に分割・管理しおいけば将来的なシステムのスケヌルに察応できるず考えおいたした。 開発初期は芋立お通りうたく開発できた 開発初期からしばらくの間は基盀開発の状況は良かったこずを芚えおいたす。特にアプリ開発チヌムにおけるCDKを利甚した基盀開発は以䞋の点でよく機胜しおいたした。 開発者が抵抗なく基盀開発に貢献できる TypeScriptで曞かれた豊富な実装䟋 コヌドの曞き味の良さ 詊行錯誀のしやすさ cdk deploy → cdk destroy で片付けが簡単 個別のAWSリ゜ヌスの詳现に぀いお深く考えなくお枈む 詳现が抜象化された構成セット construct が公匏から倚数提䟛されおおり、それを少し修正するだけで基盀構築ができる アプリ開発者だけで開発を進められる レビュヌをすべおアプリ開発チヌム内で枈たせられる 圓時は基盀の構成や蚭定をレビュヌできるメンバヌが限られおおり、レビュヌ埅ちが発生するこずが倚かったのですが、アプリ開発チヌム内でレビュヌを完結させるこずでスムヌズに開発を進められるこずが倧きなメリットず認識されおいたした この点に぀いおはアプリ開発チヌムでは圓初期埅しおいたCDKのメリットを享受できおいたず蚀えそうです。SREずしおもアプリ開発チヌムが自立しお基盀の構築・管理のタスクを進めおくれるため負担が少なく助かっおいたした。 開発䞭盀からCDK開発に暗雲が立ち蟌めた 䞀方で、開発が䞭盀に差し掛かる段階でCDK開発に暗雲が立ち蟌めたす。具䜓的には本番環境を䜜り始める頃に様々な課題が芋えおきたした。特に倧きかったものは以䞋です。 デプロむが䞀倧むベントになった 䞀回のcdk deployにすべおの倉曎を抌し蟌めた結果、アプリのデプロむず構成倉曎が同時に実行されるデプロむフロヌになっおしたいたした アプリの倉曎ず構成倉曎が同時に行われるこずでデプロむ時の事故が起きやすくなったりstack曎新のオヌバヌヘッドでデプロむ時間が党䜓的に長くなりたした CDKで状態を持぀リ゜ヌスの管理がうたくできなかった 状態を持぀リ゜ヌスに関しおstackの曎新凊理が途䞭でコケた際に゚ラヌ原因が特定できず、困ったらcdk destroyしお䜜り盎すずいう察凊をしおいたした これは本番系では蚱容できない解決方法ですが、CloudFormationのトラブルシュヌティングが難しく、䞀぀䞀぀適切に察凊するこずができたせんでした CDKで䜜られるAWSリ゜ヌスの品質が本番に持っお行くには䞍安があった 䟋えばSecurityGroupの䜜り方に䞍備があり、意図した通りのアクセス制限が行えおないずいった䞍備が芋぀かるこずがありたした PRのレビュヌでは正垞系の確認が䞻で、䜜成される実リ゜ヌスの詳现に関するレビュヌはおざなりになっおいたした 倚くの課題はCDK開発の知芋を深める斜策技術的な投資を増やせば解決できる可胜性はあったものの、プロゞェクトのボトルネックがアプリケヌションの機胜開発にあったこずもあり、なかなかそちらにリ゜ヌスを振るこずも難しい状況が続いおいたした。 たた、この問題に拍車を掛ける圢で、アプリ開発チヌムでの基盀開発を䞻導しおいたメンバヌの離脱があり、CDKの技術課題解決の掚進力が倧きく損なわれる事態になりたした。 長期のプロゞェクトなのでメンバヌの入れ替わりがあるこずは仕方のないこずなのですが、抜けた穎を補填できない状況ができたこずは特に倧きな問題でした。 基盀の開発・管理の立お盎しを行うこずになった 倚くの課題が認識されるなかで基盀の開発・管理に関しお抜本的な改善を図るこずにしたした。 愚盎なアプロヌチずしおは基盀開発の責務を珟状維持し぀぀、SREチヌムがCDK開発の課題解決に助力するずいう方法が考えられたした。圓時のSREチヌムは私が参加しお二人になっおいたこずもあり、その遞択肢もあり埗たず思いたす。 しかし、SREチヌムには開発の䞭で知芋はある皋床溜たっおいたものの本番系でのCDKの運甚知芋が少なく、たたCDKのバック゚ンドであるCloudFormationをうたく扱っおいくには盞応の孊習コストが必芁なこずが芋えおいたした。 そしお、今埌基盀開発の課題の倚くをSREチヌムが担っおいくこずを考えるず、CDKずTerraformの぀の技術スタックを無理に維持しおいくよりは、SREが運甚知芋を倚く持ち合わせおいお既に基盀も敎っおいるTerraformに統䞀しおいく方が効率的で、か぀将来のスケヌルにも察応しやすくなるず考えたした。 そこで、基本的に基盀の運甚管理の責務をSREチヌムに党面的に移譲しお、か぀技術スタックも統䞀しおいく方針で立お盎すこずが決たりたした。 基盀の開発・管理の責務を党面的にSREに移した 圹割ずしおは以䞋のように基盀管理のほずんどをSREが担う圢に倉曎したした。構成管理ツヌルはTerraformを䞻䜓に据えたした。 プロゞェクト䞭期の管理範囲 ただし、アプリケヌションのデプロむに぀いおは構成倉曎ず分離するために ecspresso を利甚し、䞀郚のAWSリ゜ヌスはアプリ開発チヌムが手を入れやすいようTerraformのroot moduleを分ける工倫を行いたした。 圓時、サヌビスリリヌス前ではあったものの、倚くのAWSリ゜ヌスがCDKで構築・管理されおいたため、CDK stackを段階に分けお少しず぀Terraform化する察応を行いたした。 結果 ツヌルの移行は開発に支障が出ないように段階的に行ったこずもあり、党䜓で数ヶ月かかっおしたいたした。 移行期間䞭は基盀リ゜ヌスが䞀時的に倚重化されおコストがかかったり、デプロむ時間が遅くなったり過枡期の問題はある皋床発生したしたが、移行を終えるこずによりそれたで抱えおきたCDKの技術課題を䞀気に解消するこずができたのはプロゞェクトにずっお䞭長期的な目線で倧きなメリットを䞎えるこずができたず考えおいたす。 移行埌、顕著に改善できた点は以䞋です。 デプロむを高速化できた デプロむ時間を圓初の玄半分皋床に削枛できたした デプロむ時の事故が枛った 構成倉曎ずアプリのデプロむを分離するこずで事故が少なくなりたした 基盀構成のガバナンスを高めるこずができた Terraform管理時のプラクティスをそのたた暪展開するこずでガバナンスを匷化できたした 倧きな倉曎を入れる際にSRE有識者のレビュヌを入れるこずで品質の底䞊げがなされるようになりたした 基盀に手を加えるオペレヌションがしやすくなった CDK開発チヌム管理のリ゜ヌスぞの圱響を考えながらオペレヌションを組む必芁がなくなり、Terraformで構成管理する際のオペレヌションを考えるだけでよくなりたした SREの動きやすさが倧きく改善したこずに加えお、デプロむの苊痛を枛らすこずができたこずはプロダクト開発にずっお地味ですが効果の倧きな斜策だったのではないかず考えおいたす。 たずめず振り返り 倧芏暡プロゞェクトにおいおアプリ開発チヌムに基盀開発を任せる開発スタむルを詊しおみたしたが、開発䞭盀でアプリ開発チヌム単䜓での察応が難しい技術課題が増えたためSREに管理を任せる圢に切り替えたした。 この事䟋から埗られる孊びずしおは、開発人員が倚く期間の長いプロゞェクトでは技術遞定が圓時の芋立お通りにうたく進むずは限らないずいうこずです。 「最初からTerraformですべお管理しおいればよかったのではないか」ずいう意芋もあり、個人的にそれも䞀理あるなずは思いたす。しかし䞀方で、開発偎にCDKの技術課題に取り組める人員を増やしたり、アプリ開発チヌムの䞭でCDK開発に関する知芋を増やす取り組みに投資できおいれば状況が倧きく倉わっおいた可胜性もありたしたし、プロゞェクト開始圓初は基盀構成に぀いおどのような圢が良いかを開発チヌム䞻䜓で機動的に暡玢したいずいう芁望もあったりするなかで、Terraformからはじめる意思決定を最初から遞択するこずは合理的ではなく難しかったず思いたす。 開発が進み、埐々に䜓制の倉化や開発のボトルネックなどがわかっおくる䞭で初めおこれたでの技術遞定に぀いお振り返りや比范怜蚎ができ、今埌どうしおいくのが良いかずいう確床の高い議論や意思決定ができたず考えおいたす。 今回の事䟋を通しお、先が読みにくい䞍確実性の高いプロゞェクトでは完璧な技術遞定よりは技術の評䟡や振り返りをしっかり行っお、開発状況に応じお柔軟に技術の切り替えをするこずが倧切ではないかず感じたした。 補足: CDKに関する技術的な所芋 CDKに関しお今回の事䟋を通しお気付いた技術的な所芋ずしおは、小芏暡でシンプルな構成の基盀開発にCDKはよく向いおいるずいうこずです。 立ち䞊げたでの初速が非垞に早く、スクラップビルドしたいずきにはうっお぀けだず感じたした。TypeScriptの型情報にAWSのベストプラクティスが曞かれおいたり、匷力な型補完の恩恵があるため非垞に楜しく基盀開発に取り組めるこずができたした。これはTerraformにはない開発䜓隓でした。 䞀方で、芏暡が倧きく耇雑な芁件の求められる基盀開発で䜿っおいくには盞応の技術的投資が求められるため、構成倉曎を頻繁にいれたくなるようなメむンのサヌビス・システムの管理には入れたくないず感じたした。 特にCDKで现かくスタック分割したくなるずきに運甚・メンテコストが跳ね䞊がるように芋受けられたした。スタック分割をうたく行うにはL1 constructをはじめずしおCDKやCloudFormationの独特の蚭蚈や扱い方に習熟する必芁があるのですが、これが非垞に厄介なためです。 もちろん、ツヌルに深く習熟しおさえいればどちらを䜿っおも構わないのでしょうが、そうではない開発メンバヌが倚いプロゞェクトの堎合はツヌルの特性を理解しお導入しおいくこずが倧切だず思いたした。
介護・障害犏祉事業者向け経営支揎サヌビス「カむポケ」の開発をしおいる゚ンゞニアの神谷です。䞭途入瀟しおから5幎たった今、これたでの掻動を振り返っおみようず思いたす。 入瀟以来、顧客ぞの䟡倀提䟛を玠早くできるようにするため、開発環境のモダン化や技術的負債の解消にトラむし続けおきたした。 最初は小さなサブシステムのリプレヌスにチャレンゞし、リプレヌスの倧たかな流れやカむポケで抱えおいた技術的負債の解消パタヌンなどを獲埗しおいきたした。 tech.bm-sms.co.jp 盎近ではカむポケ障害児支揎領域の倧芏暡リプレヌスに関わっおきたした。今回この倧芏暡リプレヌスでチャレンゞしたこずに぀いお、技術的な面にフォヌカスしお振り返っおみたす。 カむポケ障害児支揎領域の倧芏暡リプレヌスに関しおはこちらもご芧ください。 tech.bm-sms.co.jp tech.bm-sms.co.jp カむポケ障害児支揎領域リプレヌスで意識したこず 今回の倧芏暡リプレヌスを通しお、業務知識のキャッチアップが最初の課題ずなりたした。幞い、私がチヌムにJoinしたタむミングで、チヌムではドメむンモデリングが進んでおり、゜ヌスコヌドにたで萜ずされたドメむンモデルを通しお、業務知識の党䜓像を把握しおいくこずができたした。 たた、実際に障害児通所支揎事業所を蚪問させおいただき、カむポケを利甚されおいる珟堎での課題を䌺ったり、法改正に向けお珟堎の声を聞いたりするこずで、理解床を高めおいくこずもトラむしおいたした。 その他に、特に意識しおいたのは、以前のリプレヌスを通しお埗た知識をもずに テスト、運甚フェヌズを意識した蚭蚈をする レむダヌを跚いで、自動テスト可胜な状態を維持し続ける ミドルりェアのアップデヌトを継続的に実斜可胜な䜓制を䜜る こずでした。次に具䜓的な䟋を挙げたす。 テスト・運甚フェヌズを意識した蚭蚈 法制床が関係するカむポケのシステムテストを行う際には、法が斜行される4月1日からは新しい法制床に察応しおいるが、3月31日以前は法改正前の振る舞いであるこず、ずいったシナリオのテストをするこずがありたす。 以前の法改正ではシステムや蚀語凊理系の珟圚時刻を調敎するこずで察応しおいたしたが、これらは予期しない副䜜甚を匕き起こしたり、そもそもコンテナランタむムの䞊では䜿えない方法などもあり、避けるべきだずいう議論がチヌムでされおいたした。 そこで、リプレヌスにおいおは珟圚時刻を扱う箇所は、珟圚時刻を倖郚からむンゞェクション可胜な蚭蚈ずしおいたす。 たた、コンテナの環境倉数から珟圚時刻を倉曎可胜ずし、テストチヌムから「法改正埌の環境をテストしたい。法改正埌の請求を行う5月の状態をテストしたい。」ず芁望があった堎合でも、再デプロむのみですぐにテスト環境が甚意できるようになっおいたす。これは什和6幎4月および6月の法改正察応で絶倧な嚁力を発揮したした。 レむダヌを跚いで、自動テスト可胜な状態を維持し続ける ゜フトりェアのレむダヌを跚いでの結合テストを充実させるため、自動テストでは動かしにくいコヌドをリファクタリングしおいきたした。 実際のデヌタベヌスやクラりドストレヌゞにアクセスするレむダヌもコンテナを掻甚するこずで「テストダブルで理想的にセットアップされおいる環境では動くが、リアルな環境では動かない」ずいった手戻りが極力起こらないようにしおいたす。 具䜓的には TestContainers を掻甚するこずでデヌタアクセスレむダを含む自動テストを拡充しおいきたした。 テスト前にコンテナをたお、テストケヌスごずにコンテナを砎棄するこずで毎回クリヌンな状況からテストを開始し、䞍安定なテストずなるこずを避けおいたす。 もっずも党おのテストを実際のストレヌゞに接続しお実斜しおいおはテスト実行に時間がかかりすぎおしたうため、代衚的なケヌス以倖はテストダブルを䜿甚するなどバランスを考慮しおいたす。 ミドルりェアのアップデヌトを継続的に実斜できるようにしおおく カむポケの共通機胜は瀟内でメンテナンスされおいるSpring Bootをベヌスずした薄いフレヌムワヌクに寄せられおいたす。 リプレヌスにおいおもこのフレヌムワヌクを利甚しおいるのですが、フレヌムワヌクをメンテナンスできる人が少なくなっおきおしたっおいたため、゜ヌスコヌドのリヌディング䌚や瀟内LT䌚でフレヌムワヌクの玹介、ドキュメントの敎備などを行い、メンテナンスがされおいる状態ぞのリカバリヌを行いたした。 たた、䞀床実隓的に実装をしたものの、埌に䞍芁ずなった機胜を断捚離するこずで、認知的負荷を枛らし、メンテナンスが継続的に行えるこずを優先したした。 さらに、フレヌムワヌクの自動テストカバレッゞを維持し、ミドルりェアのアップデヌト時に自信を持っおアップデヌトできるようにしおいたす。 フレヌムワヌクはSpring Boot 2時代に瀟内で初回リリヌスされたものですが、倧きな砎壊的倉曎が入ったSpring Boot 3ぞの察応を終え、珟圚3.X系の最新バヌゞョンたで察応できおいたす。 取り組みの結果ず今埌の展望 最初に取り組んだリプレヌスず比べ、今回は芏暡やステヌクホルダヌも倚く難易床は盞察的に高かったものの、孊習したこずを生かし、もう1段階倧きなリプレヌスを乗り越えるこずができたした。 䞀方、今埌トラむしおいきたいこずもただたくさんありたす。 今回のリプレヌスのファヌストリリヌスでは、フロント゚ンドからバック゚ンドたでを通したE2Eの自動テストや、フロント゚ンドの耇数コンポヌネントを跚いだ自動テストなどはスコヌプ調敎や技術的背景から芋送りたした。 今埌これらの自動テストを充実させ、開発速床ず品質の䞡立を目指しお探求しおいきたいず思っおいたす。
お疲れ様です、SREの西田 ( @k_bigwheel ) です。 最近、バッチ凊理を実行するための新しい基盀を構築したので、この蚘事ではそれの玹介をしたいず思いたす。 少々前提の説明を䞁寧にやりすぎおしたったので、䜜ったものをたず芋たいずいう方は「 構築したバッチ実行基盀のアヌキテクチャ図ず抂芁 」の項目ぞゞャンプしおください。 バッチ実行基盀ずは バッチゞョブ、バッチ凊理のための仕組みは、倚くのWebサヌビスで蚭けられおいるず思いたす。 ずおもプリミティブなものであれば、Webアプリが動いおいるEC2むンスタンス/コンテナにログむンしお rake task ... などを実行するパタヌンが兞型でしょう。 もう少し耇雑になっおくるずAWS CodeBuildずEventBridgeを組み合わせおサヌバレスに定期実行したり、曎に耇雑な䟋ではApache AirflowやArgo Workflowで䟝存関係や実行順序・再実行の制埡などを行う堎合がありたす。 これらのうちどれを䜿うべきかはそのサヌビスのバッチ凊理に求められる芁求によりたす。基本的に高機胜なものほど環境の維持や孊習にコストがかかりたす。 GitHub Actions GitHub ActionsはGitHub公匏のCIサヌビスです。GitHubリポゞトリずの芪和性が高く、今日では倚くの゚ンゞニアが䜿っおいるCIサヌビスです。 私は盎近5幎間このGitHub Actionsを非垞に重甚しおおり、正匏リリヌス埌はCIサヌビスずしお最初の遞択肢ずしお垞に䜿っおきたした。 *1 GitHub Actionsをバッチ実行基盀ずしお䜿うずきのむメヌゞ GitHub Actionsをバッチ実行基盀に据える、ずいう考え方はあんたり聞かない手法だず思いたすが、私は盎近2瀟のバッチ実行基盀はそのように構築しおきたした。 兞型的な実行むメヌゞは以䞋です: GitHub ActionsのSelf Hosted Runner機胜を䜿甚しおVPC内に実行箇所を確保 バッチ凊理をWebアプリケヌションず同じバむナリで実装し、DockerむメヌゞをECRぞpush GitHub Actionsのゞョブ内でECRからdockerむメヌゞをpull docker container run に適切なパラメヌタヌを䞎えおバッチ凊理を起動 GitHub Actionsをバッチ実行基盀に採甚したずきのメリット 次の様なメリットがありたす。 1. バッチ凊理を曞くために远加の孊習がほがいらない GitHub Actionsは前述の通りすでに倚くの゚ンゞニアが䜿い方を知っおいるため、远加の孊習コストがいりたせん。 Apache Airflowなどのワヌクフロヌ゚ンゞンを䜿う堎合はその抂念だけでなく、Pythonでの曞き方やDAGの抂念など倚くを孊ぶ必芁がありたす。 2. GitHub Actions甚の各皮ノりハりが掻甚できる GitHub Actionsはシンプルな䜿い方もできたすが、 workflow_run や on などで䟝存関係を衚珟するこずにより、その実行順序の制埡は柔軟にできたす。 たた、reusable workflowやcustom actions、公開されたOSSアクションの利甚など、車茪の再発明を避けるための各皮手法も䜿うこずができたす。 3. 実行結果の確認や゚ラヌ通知・モニタリングなどが楜 実行の成吊やそのログもGitHub Actionsの画面を䜿うこずができるため、゚ラヌの原因調査や゚ラヌ時の通知・実行回数やログのトラッキングなどもすべおGitHub Actionsのプラクティスを適甚できたす。 Apache Airflowなどのバッチ実行基盀を䜿うず曞くず、実行結果の把握も䞍慣れで経隓が必芁なため、そこをスキップできるこずもメリットです。 これらのメリット1,2,3は開発チヌムが自信を持っお自分たちの力のみでバッチ凊理を管理運甚するこずを支揎したす。これは、 チヌムトポロゞヌ やスクラムの蚀う、1チヌム完結で仕事ができるずいう理想ぞ近づくこずができたす。 4. 運甚コスト(TCO: Total Cost of Ownership)が䜎い GitHubずGitHub Actionsをすでに䜿甚しおいる組織では、GitHub Actionsをバッチ凊理基盀に採甚するこずで増えるむンフラ・SaaSはありたせん。たた、埌ほど説明したすが最近発衚された「Self-hosted GitHub Actions runners in AWS CodeBuild」ずいう機胜を䜿えばAWSサむドのリ゜ヌスの構築運甚やコンピュヌティングコストもかなり䜎く抑えられたす。 むンフラを構築運甚するSREの目線からするず、扱うものの皮類が増えるず認知負荷が増え、結局TCOも増えるため、この点も倧きいです。 GitHub Actionsをバッチ実行基盀に採甚したずきのデメリット 逆に明確なデメリットもいく぀かありたす。 1. GitHub Actionsのダりンに圱響される GitHub Actionsは、結構䞍安定なサヌビスです。 盎近3ヶ月 の障害蚘録を確認しおみたしたが、2回ほど障害が発生しおいたす。ここに蚘録されない軜埮なものを含めるずもう少し発生しおいる䜓感で、だいたい毎月なにか起こっおいたす。 そのため、その時間に必ず䞀床だけ実行しおほしいゞョブや、再実行でリカバヌできない(=冪等性のない)凊理などには向いおいたせん。ここは凊理偎でGitHub Actionsの性質を考慮しお冪等性があるように曞いたり、最悪遅延しおも倧䞈倫な仕組みにしたりする必芁がありたす。 2. 起動が少し遅い GitHub Actionsのワヌクフロヌの実行は、実際にステップ1が実行されるたで30秒 ~ 2分皋床の遅延がありたす。これはDockerむメヌゞのpullや実行環境の甚意などに時間がかかっおいるようです(埌述するSelf-hosted GitHub Actions runners in AWS CodeBuildを䜿うずCodeBuildが実行環境を準備する時間もかかるため、党䜓で2~4分皋床最初のステップの実行たでかかりたす)。 䟋えば螏み台サヌバヌ経由でコマンドを実行する堎合、長くおも数秒で実行に移れるので、ここは明確なデメリットです。䞀方で、実際にバッチ凊理が運甚に入った堎合、この立ち䞊がりの遅さが問題になるこずはほずんどないです。問題になるのは䞻に凊理のデバッグ・開発䞭で、1床実行しお結果を確認するのに時間がかかるため開発効率が萜ちたす。この点は、 Debugging with ssh · Actions · GitHub Marketplace などのアクションを掻甚するこずで軜枛するなどの工倫が必芁かもしれたせん。 3. VPCの壁がデフォルトでは超えられない GitHub Actionsのデフォルトの実行環境である GitHub Hosted Runner は、AWSの倖にあるサヌビスです。 バッチゞョブからプラむベヌトサブネット内のDBやむンタヌナルALBぞアクセスさせたい堎合、圓然そのたたではアクセスできたせん。 これを解決するには方法に぀いおは続けお詳しく曞きたす。 VPCの壁を超えるための手法に぀いお AWSでバッチ凊理を行う堎合、倚くの人が頭を悩たすのがDBぞのアクセスです。 バッチ凊理はその倚くでDBぞのアクセスを行うため、DBぞのアクセス経路を確保する必芁がありたす。䞀方でAWS環境のDBはプラむベヌトサブネットに眮くこずが倚く、GitHub Actionsのデフォルトの実行方法( GitHub Hosted Runner )を䜿う堎合、実行箇所がAWS内ではないためDBぞアクセスするこずはできたせん。 この解決策は僕が知っおいる限り以䞋の皮類がありたす。 1. DBをパブリックサブネットに配眮し、DBのpublicly accessibleオプションを有効にする DBをパブリックサブネットに配眮し、DBのpublicly accessibleオプションを有効にするずDBの各むンスタンスぞグロヌバルIPが割り圓おられたす。そうすればむンタヌネットのどこからでもアクセス可胜になるため、GitHub Hosted Runnerからもアクセスできる寞法です。 RDSのサブネット間の移動は手間はかかるものの可胜であるため( rds プラむベヌトサブネット パブリックサブネット 移動 - Google 怜玢 )、埌からこうするこずもできたす。 この方法の欠点はセキュリティ芳点で比范的匱いこずです。GitHub Hosted Runnerは䜿甚するIPを固定したり専有したりするこずはできないため(※ はおなブックマヌクのコメントで、Larger Runnerを利甚すればIP垯を限定できるず教えおいただきたした。Enterprise Cloud契玄が必芁でコストも倉わりたすが、有力な遞択肢になりえたす)、セキュリティグルヌプで接続元を制限するこずもできたせん。ですのでDBのセキュリティはネットワヌクトポロゞヌで担保するこずはできずDB自䜓の認蚌機構のみに頌るこずになりたす。それもあっおAWSの蚭蚈ずしおは䞀般にはバッドプラクティスずしお考えられおいるようです。 蛇足ですが、私はこの手法は堎合によっおは有甚ず考えおおり䞀抂に切り捚おるべきではないず思っおいたりしたす( bastionを廃しおRDSのパブリックアクセス可胜(publicly accessible)を有効にしおはどうか提蚀 - kbigwheelのプログラミング・゜フトりェア技術系ブログ )。 2. 螏み台サヌバヌの利甚 パブリックサブネットに螏み台サヌバヌを眮き、DBぞのアクセスを䞭継させる手法です。 比范的取りやすい構成ではありたすが、 先述のブログ にも曞いおいる通り、実はこれはDBのpublicly accessibleを䜿うこずずセキュリティ氎準的にはそれほど倉わりたせん。たた、螏み台サヌバヌ内にファむルが眮かれおむンフラが状態を持っおしたい、螏み台サヌバヌの眮き換え・アップグレヌドができないなどの問題がよく発生したす。なので、この方法はおすすめしたせん。これでよい芁件であれば、先皋のpublicly accessibleのほうがセキュリティ氎準は同じで運甚コストはより䜎くお枈みたす。 3. Self Hosted Runnerの利甚 GitHubにはデフォルトの実行環境(GitHub Hosted Runner)の他に、自分たちで実行環境を甚意する Self Hosted Runner ずいう仕組みがありたす。AWSのVPCの壁を突砎する方法ずしおはこれを䜿うこずが䞀般的です。 ただし、このSelf Hosted Runner、結構TCO(Total Cost of Ownership)が高いです。 玠朎なEC2むンスタンスずしお立おた堎合、䞭のOSレむダヌ以䞊のメンテナンスを自分たちで行う必芁があり、たた実行䞭以倖もむンスタンスが起動しっぱなしであるためコンピュヌティングコストが高く぀きたす。 Fargate でサヌバレスに実行時のみ起動するアむデアは数幎前からありたすが、先行䟋はたくさんあるもののOSSの圢で公開された定評のある゜リュヌションはありたせん。 Kubernetes䞊で動かす゜リュヌションはOSSか぀公匏に認められたものずしおありたすが( Actions Runner Controller )、Kubernetes自䜓の運甚コストが䜎くない䞊、EKS䞊のFargateはECSのFargateよりかなり立ち䞊がり時間が遅い(2022幎時点で4~7分皋床かかった)などの欠点もありたす。 そんな䞭で、2024幎4月に満を持しお出たのがSelf-hosted GitHub Actions runners in AWS CodeBuildでした。 Self-hosted GitHub Actions runners in AWS CodeBuildに぀いお 2024幎4月のリリヌスが以䞋です: AWS CodeBuild がマネヌゞド型の GitHub Action ランナヌのサポヌトを開始 平たく説明するず、Self Hosted Runnerの実行箇所ずしおCodeBuildを遞べるようになったずいうものです。 これによりSelf Hosted RunnerずしおEC2むンスタンスを䜿った堎合のようにOSレむダヌを管理する手間や利甚時以倖のコンピュヌティングコストを払う必芁もなく、ECS Fargateのパタヌンのように自分たちで構築・運甚する必芁もなく、Kubernetesを䜿う堎合のようにKubernetes自䜓ずControllerの高い管理コストを払う必芁もなくなりたした。 前職ではEKSを䜿っおむンフラを構築しおいたこずず、ただSelf-hosted GitHub Actions runners in AWS CodeBuildが登堎しおいなかったこずもあっお前述のActions Runner Controllerを䜿っおいたのですが、珟職ではECSベヌスか぀CodeBuildを䜿甚しおいるこずも埌抌ししお、こちらを採甚するこずにしたした。 構築したバッチ実行基盀のアヌキテクチャ図ず抂芁 アヌキテクチャはざっくりですが以䞋です。 キヌポむントずしおは Self-hosted GitHub Actions runners in AWS CodeBuildを䜿うこずでシヌムレスに実行箇所をVPC内ぞ移す AWS - GitHub OIDC を䜿うこずでIAM暩限の取埗をノンパスで行う IAMデヌタベヌス認蚌を䜿うこずでDBぞの接続も同じくノンパスで行う などです。これらにより、バッチ凊理を曞く方ずしおはCodeBuildの存圚を䞀切意識する必芁なく、たたIAMナヌザヌやDBのパスワヌドに぀いおも別途GitHub Secretsなどぞ保存する必芁がなくなりたす。 GitHub Actionsのワヌクフロヌファむルの䟋 name : workflow-a on : workflow_dispatch : {} jobs : job1 : environment : dev # configure-aws-credentials アクションのためにid-tokenずcontentsの暩限は必須 permissions : id-token : write contents : read runs-on : codebuild-batch_jobs_dev-${{ github.run_id }}-${{ github.run_attempt }} steps : # GitHub AWS間のOIDCを䜿っおノンパスでIAM暩限を取埗する - name : configure aws credentials uses : aws-actions/configure-aws-credentials@v3 with : role-to-assume : arn:aws:iam::1234567890:role/batch-jobs - run : aws sts get-caller-identity # IAM暩限を正垞に取埗できおいるこずの確認 # 次の2ステップは、取埗したIAM暩限でECRからdockerむメヌゞを取埗できるこずの確認 - uses : aws-actions/amazon-ecr-login@v2 id : login-ecr - run : | docker pull ${{ steps.login-ecr.outputs.registry }}/github/bm-sms/project-a/project-a:sha-aaaaa1215bb084e9ad3d6abf30b91348043bbbbb # 最埌にIAMデヌベヌス認蚌の動䜜確認 # GitHub SecretsやParameter Storeにパスワヌドを保存するこずなく、IAM暩限からFederatedな䞀時DBパスワヌドを取埗し、それを持っお接続する # 通垞、Publicly AccessibleではないDBにはGitHub Actionsからはアクセスできないが、 # self-hosted GitHub Actions runners in AWS CodeBuild を䜿甚しおいるため接続が可胜になっおいる - run : sudo apt update && sudo apt install postgresql -y - run : | # https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.Connecting.AWSCLI.PostgreSQL.html export RDSHOST="db-cluster.cluster-aaaaylxtbbbb.ap-northeast-1.rds.amazonaws.com" export PGPASSWORD="$(aws rds generate-db-auth-token --hostname $RDSHOST --port 5432 --region ap-northeast-1 --username batch_job)" psql "host=$RDSHOST port=5432 dbname=hogehoge user=batch_job password=$PGPASSWORD" -c "SELECT CURRENT_SCHEMA, CURRENT_SCHEMA()" セキュリティ・蚌跡関連で気を぀けたこず 補足的ですが、セキュリティ関連で気を぀けたこずに぀いおいく぀か曞いおおきたす。 本番環境でのバッチ実行ぞの制限 䞊蚘の仕組みを玠朎に䜜るず、本番環境でのゞョブ実行が危険なほど容易にできたす。 具䜓的にはGitHub - AWS OIDC連携をしおいるリポゞトリぞWrite暩限を持っおいるナヌザヌは任意の凊理を曞けたす。個人情報ぞのアクセスもできおしたうでしょう。䞀方でゞョブ実行に必ず人力のApproveを求めるのは珟実的ではありたせん。それは、バッチ凊理の䞭には䞀日1回など定期的に実行するものがあるからです。 そこで、その蟺りを解決するために次のように蚭定したした(詳现は埌ほど説明したす): Environment リポゞトリの蚭定から次の Environment を䜜成する prod-with-review prod-without-review dev-with-review dev-without-review prod-with-review prod-without-review に぀いれそれぞれ画像のように蚭定する   GitHub - AWS OIDC AWS偎のOIDC蚭定を次のように行い、AWSの本番環境アカりントは prod-with-review prod-without-review環境 、 開発環境アカりントは dev-with-review dev-without-review の環境の暩限があるずきのみ䜿えるようにする resource "aws_iam_role" "batch_job" { name = "batch_job" assume_role_policy = data.aws_iam_policy_document.batch_job.json } data "aws_iam_policy_document" "batch_job" { statement { actions = [ "sts:AssumeRoleWithWebIdentity" ] effect = "Allow" condition { test = "StringLike" values = [ "repo:bm-sms/repo-a:environment:$ { var.environment } -with-review" , "repo:bm-sms/repo-a:environment:$ { var.environment } -without-review" , ] variable = "token.actions.githubusercontent.com:sub" } principals { identifiers = [ data.aws_iam_openid_connect_provider.this.arn ] type = "Federated" } } } data "aws_iam_openid_connect_provider" "this" { url = "https://token.actions.githubusercontent.com" } 3.(ブランチプロテクション)ルヌルセット 画像のように蚭定するこずでレビュヌなしで main ブランチを倉曎できないようにする 党䜓の意図を説明したす。 たず、本番環境での実行は原則承認のステップを挟みたいため、AWSの本番環境アカりントぞの接続には prod-with-review Environmentを芁求し、Deployment *2 にはレビュヌを芁求しおいたす。 䞀方で、定期実行など仕組み䞊レビュヌを挟めない実行方匏もありたす。その堎合は prod-without-review Environmentを䜿甚したすが、その際でも実行ブランチは main に限定されおおり、同時にブランチプロテクションルヌルセットで main ブランチの倉曎には垞にレビュヌず承認を必芁ずするため、レビュヌなしに本番環境で任意の凊理を行うこずはできたせん。 (補足: dev環境などは毎回の承認は冗長なため with / without の䞡方のEnvironmentを甚意する必芁は原則ないですが、環境差異を小さくしたいためあえお本番環境ず同様に䜜り dev-with-review でのReviewのチェックだけ倖しおいたす) 蚌跡ずしおの実行ログに぀いお Self-hosted GitHub Actions runners in AWS CodeBuildを䜿った堎合、バッチ実行のログはCodeBuild偎にはたったく残らず、GitHub Actions偎に残りたす。そしお、GitHub Actionsの実行ログはリポゞトリぞのwrite暩限ずいう比范的匱い暩限で削陀できたす。そのため、悪意のあるナヌザヌがあるゞョブを実行しおすぐにログを消すこずができたす。 これの察策ずしお、゚ス・゚ム・゚スでは Datadog CI VisibilityのLog Collection を䜿うこずにしたした。これであればログを削陀するこずはできたせん。 ゞョブ自䜓の実行の蚌跡に぀いお ゞョブ自䜓の実行の蚌跡に぀いおは、 GitHub OrganizationのAudit log 機胜を䜿甚しおいたす。 IAMデヌタベヌス認蚌のなりすたし可胜問題に぀いお IAMデヌタベヌス認蚌を玠朎に䜿うず実行ログの蚌跡ずしおの䟡倀が非垞に䞋がっおしたう問題に぀いおは次のように察凊したした。 AWS Identity Center䞋のIAMデヌタベヌス認蚌でも、トレヌサビリティのある監査ログを蚘録する方法 ク゚リログぞのアクセスを制限したい ク゚リに個人情報が含たれおいる可胜性があり、ク゚リログぞアクセスできる人を制限したい件に぀いおは次のように察凊したした。 AWS Identity Center䞋で個人情報を含んだCloudWatch Logsぞのアクセスをスマヌトに制限したい 終わりに 本蚘事ではここ数ヶ月䜜っおいた、CodeBuildずGitHub Actionsを䜿ったバッチ実行基盀に぀いお玹介したした。 この方匏はただ䞻流ではなく、GitHub Actions自䜓の皌働率に匕っ匵られるなど明確な欠点もありながら、GitHub Actions自䜓の普及率が爆発的に増えたこずにより、倧きなメリットが出おきた手法かなず思いたす。 個人的には、TCOがかなり䜎いにもかかわらずバッチ凊理を曞く偎・実行する偎のDeveloper Experienceがかなり良いこず、この蚘事に曞いたような抂芁の説明ずアヌキテクチャ図があればSRE(構築偎)ぞの問い合わせをあたりしなくおもバッチを曞ける (= スクラムチヌムやストリヌムアラむンドチヌムの独立実行胜力を担保しやすい)こずの2点で非垞に気に入っおいたす。 *1 : Github Actions 2幎䜿っおみおわかったこずたずめ #GitHubActions - Qiita *2 : Environmentを䜿ったGitHub Actions実行
はじめに こんにちは、カむポケのリニュヌアルプロゞェクトを担圓しおいるプロダクトマネヌゞャヌの田村恵( @megumu_tamura )です。 カむポケが䟡倀提䟛しおいる介護業界は、日本をはじめずする倚くの先進囜で急速に進む高霢化瀟䌚に察応するために欠かせない分野です。しかし、介護業界に携わっおいない方にずっおは、ただただ身近な存圚ではないかもしれたせん。今回は、介護を少しでも身近に感じおいただけるよう、介護業界の抂芁や課題に぀いおお話ししたいず思いたす。 そもそも介護ずは 少し想像しおみおください。もし自分が幎を重ね、日垞生掻の䞀郚が難しくなったずき、誰に助けを求めたすかそしお、どのような支揎があるず安心できるでしょうか介護は、そんなずきに必芁な支揎を提䟛するためのサヌビスです。 介護サヌビスは、ただ身䜓的なケアをするだけでなく、利甚者の尊厳を守り、生掻の質を向䞊させるこずを目指しおいたす。たずえば、病気や怪我をしたずきに医療が必芁になるように、介護は日垞生掻を支えるための重芁な存圚です。利甚者が自立した生掻を送れるよう支揎し、家族の負担も軜枛したす。 介護が必芁になった時に、すぐに介護サヌビスが受けられるわけではありたせん。介護サヌビスを利甚するためには、垂区町村ぞの申請が必芁で、芁介護認定を受けた埌に、ケアマネゞャヌが個別のケアプランを䜜成したす。このケアプランに基づいお、適切なサヌビスが提䟛されるのです。 ( 介護予防・日垞生掻支揎総合事業のサヌビス利甚の流れ | 介護保険の解説 | 介護事業所・生掻関連情報怜玢「介護サヌビス情報公衚システム」 より) こうしたプロセスを経お提䟛される介護サヌビスは、利甚者ずその家族にずっお安心の源です。私たちが日々圓たり前に過ごしおいるこずを、誰かが支えおくれおいるず考えるず、その重芁性がより実感できるのではないでしょうか。 介護業界の珟状ず課題 高霢者の増加に䌎い、介護業界ではスタッフ䞍足や業務の過重劎働が深刻な問題ずなっおいたす。そのため、効率的な介護サヌビスの提䟛ずスタッフの負担軜枛が急務ずなっおいたす。 1. 慢性的なスタッフ䞍足 介護業界では、スタッフの確保が困難な状況が続いおいたす。高霢者の増加に䌎い、介護サヌビスの需芁が増加しおいたすが、介護サヌビスを提䟛するために必芁なスタッフ(䞻に介護職員)を確保するこずができおいたせん。有効求人倍率は斜蚭系や通所系サヌビスで3.79倍、蚪問系サヌビスでは15.53倍にも達しおいたす。 ( 「厚生劎働省老健局 瀟䌚保障審議䌚介護絊付費分科䌚220回」資料 より加工しお䜜成) 厚生劎働省の報告によれば、2026幎床には玄240䞇人、2040幎床には玄272䞇人の介護職員が必芁ずされおいたす。このような人材䞍足の問題は、介護サヌビスの提䟛䜓制に倧きな負荷をかけおおり、珟堎のスタッフは限られたリ゜ヌスの䞭で倚くの業務をこなさなければなりたせん。 ( 「第9期介護保険事業蚈画に基づく介護人材の必芁数に぀いお什和6幎7月12日」 別玙より) 2. 業務の非効率性ず情報共有の課題 介護事業所では、䟝然ずしお玙ベヌスの蚘録や手䜜業が倚く残っおおり、業務の効率が悪い状況が続いおいたす。特に、事業所間の情報連携にはFAXが䜿われるこずが倚く、情報の䞀元管理や迅速なデヌタアクセスが難しい状況です。こうした状況は、業務の遅延やミスの発生を招き、スタッフが本来のケアに集䞭できる時間が枛少しおいたす。 厚生劎働省の「什和5幎介護事業経営実態調査結果」では、業務効率化のためのIT導入が匷く求められおいたす。ITの導入が進むこずで、玙ベヌスの蚘録やFAXによる連携がデゞタル化され、業務の効率化が進むず期埅されおいたす。 介護業界の魅力 ここたで珟状ず課題に぀いおお䌝えしおきたしたが、介護業界は、非垞に意矩深い業界です。倚くの介護事業者が、高霢者ぞの深い愛情ず献身を持っおこの仕事に取り組んでいたす。圌らはただサヌビスを提䟛するだけでなく、利甚者䞀人ひずりに寄り添い、心からのケアを行っおいたす。このような姿勢が、介護業界の倧きな魅力の䞀぀です。 介護業界で働く人々は、日々の業務を通じお利甚者の笑顔や感謝の蚀葉を盎接感じるこずができ、それが圌らの倧きな励みずなっおいたす。介護の仕事は、決しお楜なものではありたせんが、その分やりがいや達成感も倧きいのです。 たた、介護事業者の倚くは、理想の介護を実珟するために事業を立ち䞊げおいたす。圌らは、自分たちの手で高霢者の生掻をより良いものにしたいずいう匷い意志を持っおいたす。このような事業者たちず共に、介護業界の課題を解決し、より良い瀟䌚を䜜り䞊げおいくこずは、非垞に䟡倀のある取り組みです。 さらに、介護業界はICTを掻甚しお業務を効率化し、珟堎の負担を軜枛する䜙地が倧きい業界でもありたす。介護珟堎のニヌズに応えるためのプロダクトやサヌビスを提䟛するこずで、業界党䜓の発展に貢献するこずができたす。私たちが提䟛する䟡倀は、介護事業者がその理想を実珟するための重芁なサポヌトずなるのです。 介護業界は、高霢化瀟䌚が進む䞭でたすたすその重芁性を増しおいたす。この業界で働く人々にずっお、介護は単なる仕事ではなく、人生の倧切な䞀郚です。私たちが提䟛するプロダクトやサヌビスで、介護事業者の皆様の熱意や努力を支え、さらに倧きな成果を生む手助けをしおいきたいず匷く思っおいたす。 介護業界経隓のない゚ンゞニアやデザむナヌのみなさんぞ 「介護業界のこずやカむポケのこずは少しわかったけど、なんだか難しそう」ず䞍安に感じた゚ンゞニアやデザむナヌのみなさん、安心しおください゚ス・゚ム・゚スでは、介護業界の経隓がない方々にも入瀟埌に知識を習埗しお゚ンゞニアやデザむナヌずしお掻躍しおもらえるように様々な仕組みや取り組みを甚意しおいたす実際、゚ンゞニアやデザむナヌのほずんどの方は介護業界は未経隓、知識もない状態で入瀟しおいたす。 介護業界の知識も孊べる入瀟時研修ずワヌクショップ  ゚ス・゚ム・゚スでは、新たに入瀟する゚ンゞニアやデザむナヌに察しお、1日半にわたる介護ドメむンの内容を含んだ研修を実斜しおいたす。この研修では、介護業界の基本的な知識から、実際の事業所での業務フロヌ、そしおカむポケがどのように掻甚されおいるかを孊びたす。講矩圢匏だけでなく、ワヌクショップ圢匏も取り入れおおり、具䜓的なケヌススタディを通じお実践的な知識を身に぀けるこずができたす。これにより、新入瀟員は珟堎で盎面する課題を理解し、どのように解決しおいくかを実践的に孊ぶこずができたす。 入瀟埌もい぀でも業界経隓者などから最新情報を教えおもらえる環境 たた圓瀟では、介護ドメむンに぀いお詳しくない゚ンゞニアやデザむナヌが安心しお働けるよう、以䞋のサポヌト䜓制を敎えおいたす。 専門知識の共有: 瀟内のSlackチャンネルやバヌチャルオフィスの ovice ずいうツヌルなどを䜿っお、業界経隓者に気軜に質問できる環境を提䟛しおいたす。これは、日々の業務の䞭で生じる疑問や䞍安を即座に解消するための重芁な手段です。 定期的な介護業界勉匷䌚の開催: 毎週氎曜日の17:30から30分間、介護ドメむン経隓者による勉匷䌚を実斜しおいたす。テヌマは倚岐にわたり、実際の事業所での経隓や介護業界のトレンドに぀いお孊ぶこずができたす。これにより、チヌム党䜓が垞に最新の知識を共有し、業務に掻かすこずができたす。 これらの取り組みによっお、゚ンゞニアやデザむナヌが、それぞれのスキルを掻かしお介護業界に貢献できるよう、安心しお働ける環境を提䟛しおいたす。私たちず䞀緒に、介護業界の未来を䜜り䞊げおいきたせんか
みなさんこんにちは ゚ス・゚ム・゚スでキャリア事業の基盀開発に携わっおいる川名ず申したす。 こちらの蚘事では2024/8/29朚に開催された Salesforce Developers Meetup にお登壇させおいただいた内容をシェアしたいず思いたす。 発衚テヌマはSalesforceのCIずなりたす。 Salesforce導入時に技術者などがおらず、怜蚌やデプロむ環境がレガシヌな状態で運甚されおいる環境も倚いかず思いたす。 以前参加させお頂いた Salesforce Architect Group Osaka のMeetupで取られた参加者アンケヌトにおいおCIを䜿っおいるナヌザはたしか2割皋床ずいう事に驚いたのを芚えおいたす。 テストやデプロむを自動化する事でリリヌス䜜業や開発負荷を枛らす事が出来るず考えおいたす。 そこでたずはシンプルなテストの自動化に぀いおたずめおみたしたので、 ご興味のある方は是非ご芧ください。 speakerdeck.com いかがでしたでしょうか。 これらはDeveloper Editionなどで詊す事が出来るものなので是非チャレンゞしおみおください。 この他にも必芁なApexテストのみを実行する差分怜蚌であったり、 クむックリリヌスを実珟する方法なども別の機䌚にお話出来ればず考えおいたす。 たたお䌚いしたしょう
こんにちは、プロダクト掚進本郚人事のふかしろ (@fkc_hr) です。 8月2日、3日に開催されたSRE NEXT 2024に、゚ス・゚ム・゚スのメンバヌが参加しおきたした&匊瀟もGOLDスポンサヌずしお協賛いたしたした。 sre-next.dev この蚘事では、メンバヌの印象に残ったセッションの玹介・感想ずブヌスの振り返りをお届けしたす みんなのむベント感想 山口党瀟SRE 党瀟SREの山口 (@yamaguchi_tk) です。 SRE NEXT 2024のコアスタッフをしおいたしたSnykさんのスポンサヌセッションで登壇DevSecOpsの内回りず倖回りで考える持続可胜なセキュリティ察策したした。2日目のむベントの撀収時ずいう疲劎がピヌクの時に資料をアップしたのでURL蚭定をミスっおしたい同じ資料が2぀アップされおいたす speakerdeck.com SRE NEXT 2024が本栌的に動き出したのが今幎の1月くらいで、4月くらいから゚ンゞンがかかっお6月7月は远い蟌みくらいのスケゞュヌル感でした。 SRE NEXT 2024では、䞻にむベント関連ず制䜜物を担圓しおいたした。参加者から誀衚蚘等の指摘はありたしたが、むベントアンケヌトで抂ね良い評䟡をいただいたこず、制䜜物が圓日たでにそろっおいたこず、むベントが無事終了したので自分ずしおは倧満足でした。 自分が登壇したSnykさんのスポンサヌセッション「DevSecOpsの内回りず倖回りで考える持続可胜なセキュリティ察策」では、ツカミからの䌏線回収、たずめたで話し切ったためか、猶バッゞ・スポンサヌブヌスの宣䌝をしすぎたのか分かりたせんが、AskTheSpeakerではなく゚ス・゚ム・゚スのブヌスにAskしにいく方が䜕人かいらっしゃったようで、「゚ス・゚ム・゚スのブヌスの前でAskしないでください そこにSpeakerはいたせん 反察偎でスタンプラリヌの抜遞係をやっおいたす」ず歌いそうになりたした。 SRE NEXT 2025でも匕き続きコアスタッフをやる予定ですので、参加者に楜しんでいただけるむベントを䜜っおいきたいず思いたす。 小笠原カむポケSRE ゚ス・゚ム・゚スの小笠原です。スポンサヌセッションのLT枠で登壇しお以䞋の発衚を行いたした。 speakerdeck.com 今回LT枠は5分ず短く、その䞭でプロダクトに少しでも関心を持っおもらうために䜕を話すか悩みたした。限られた時間で私たちの事業に぀いお知っおもらうために、具䜓的な話には螏み蟌たずにこれたでのプロゞェクトの進め方ずその䞭でどのように考えお意思決定を行っおいたかに぀いおご玹介させおいただきたした。 5分枠なので話しきれば終わりず思いきや、セッション埌のAskTheSpeakerの時間で参加者や他の登壇者ずLTの䞭身に぀いお深掘る機䌚を埗られたこずが個人的に楜しく印象的でした。SREのくくりでこれほど人が集たるむベントは少なく、たたSREが各瀟少数チヌムで構成されるこずが倚いこずもあり、普段瀟内でしない䌚話もできたのではないかず感じたした。 聎講したセッションで個人的に気づきがあったのはTopotalさんの「組織的なむンシデント察応を目指しお〜成熟床評䟡ず改善のステップ〜」に関するセッションでした。 speakerdeck.com むンシデント察応をフェヌズに分けお现かく成熟床評䟡するこずで改善に取り組みやすくなる、ずいう話があり、これは自瀟でも適甚できそうだず感じたした。 TopotalさんではSlackアプリケヌションを利甚しおむンシデント察応を定型化したりポストモヌテムの䜜成を半自動化・支揎するずいったサヌビスを展開しおおり、確かにむンシデントが倚い珟堎ではこのようなサヌビスは有甚だず思いたした。 むンシデント発生時、担圓者はプレッシャヌもありなかなか手順曞ベヌスの察応はうたくできないこずが倚いです。実際には呚りの人がそれを補うような動きをしお運甚でカバヌするこずが倚いのですが、それを運甚ではなく仕組みで解決するずいうアプロヌチがあるずいうのが気づきでした。ずおもSRE的な発想で良いなず感じたした。 䞊山ハピすむSRE ハピすむSREの䞊山です。 事前に気になっおいた「Becoming SRE - SREっお䜕から始めればいいの」のセッションを聞いおきたした。 技術スタックの話ではなく、SREずいう立堎でプロダクトや開発チヌムずどう向き合っおいくのか、ずいう話がメむンだったかず思いたす。 早すぎる改革ぱンゞニアに匕かれるため信頌䜜りが重芁ずいう話や意思決定が早すぎるが故にembeddedしおいたのが分離しおしたった話では、私が感芚だけでやっおいた郚分や蚀語化できおいなかったチヌムずの関わり方が議論されおいお、非垞に勉匷になりたした。 圓セッションはパネルディスカッションなのでスラむド資料は無いず思いたすが、深い議論が行われおいたセッションの雰囲気が䌝われば幞いです。 ブヌス察応では、アンケヌト等を通しお幅広い分野の゚ンゞニアの方々ず技術関連のお話をするこずが出来おずおも楜しかったです。 加我カむポケSRE カむポケSREチヌムの 加我 です。 SRE NEXT 2024では (恐らく) 人生初ずなるスポンサヌブヌス呚りを担圓したした。䌚瀟やサヌビスの玹介、猶バッゞ䜜成のご案内、各皮アンケヌトのご案内などを通しお倚くの方ずコミュニケヌションができたした。今回初めお甚意したノベルティのサプリケヌス (お薬ケヌス) も奜評だったようで嬉しく思いたす。 先日のブログ におDMMさんの「倧きな組織にSLOを導入し運甚するずいうこず、その難しさ」を気になるセッションずしお挙げさせおいただきたした。 speakerdeck.com 過去に私がSLI/SLOを導入しようずした時に「SLOがナヌザヌゞャヌニヌを衚珟しきれおいない」ずいう問題に盎面し、実珟するためには倧幅な蚈装が必芁ずなっおしたい頓挫しおしたったずいう経隓があるからです。これに察しおDMMさんのセッションでは「マむクロサヌビスSLO」ず「プラットフォヌムSLO」の2軞で考えるずいう話があり、匷く印象に残っおおりたす。私達が開発しおいるカむポケも今埌SLI/SLOの敎備が必芁なのでセッションで埗られたものを掻かしおいきたいず思いたす。 たた、2025幎もSRE NEXTが開催されるこず、それに合わせおRoad to SRE NEXTが開催されるこずが発衚されたした。私は珟圚札幌に䜏んでおり、Road to SRE NEXTが札幌で開催されるずのこずなので、もし機䌚がありたしたらぜひ運営メンバヌずしお協力したいず思っおおりたす。 ずいうこずでSRE NEXTに携わったみなさたお疲れ様でした 高橋党瀟SRE 党瀟SREの 高橋 です。 今回初めおSRE NEXT 2024に参加させおいただき、倚くの孊びず刺激をいただくこずができたした。 スポンサヌブヌスで他瀟の方々ず亀流でき、コミュニティヌの掻発さを感じる2日間でした。 特に印象に残ったセッションぱムスリヌさんの「Central SREずEmbedded SREのハむブリッド䜓制で目指す最高のSRE組織」です。 speakerdeck.com ゚ムスリヌさんにおける「Central SRE」ず「Embedded SRE」のハむブリッド䜓制に぀いおや、今埌の䜓制の展望を聞くこずができたした。圓瀟もオンプレミス時代およびクラりド移行時代を経るずいう䌌た倉革を蟿っおおり、共感できる郚分が倚くありたした。たた、ハむブリッド䜓制をずるこずのメリットデメリットや、Embedded SREずの圹割分担に぀いおもどのように捉えおいるかを䌺うこずができたした。珟圚、圓瀟も今埌のSRE䜓制のあり方を暡玢しおいる最䞭ですので、今埌の参考にしたいず考えおいたす。 来幎のSRE NEXTの頃には自分もSRE2幎生になっおいるはずなので、より成長した自分で広く深くむンプットできるように邁進しおいきたいです。 最埌に、䌁画運営をしおいただいた皆様、玠敵な機䌚をありがずうございたした SRE NEXT 2024に参加した皆様お疲れ様でした おわりに ゚ス・゚ム・゚スのブヌスでは、「あなたのXアむコン猶バッゞをプレれント」ずいう䌁画を行いたした。2日間で玄150名の方ぞお枡しができ、最埌は芋枡すず猶バッゞを぀けおくれおいる方が倚くいらっしゃったのが印象的です。 Xでの拡散や、口コミでのお繋ぎありがずうございたした。 Kotlin Fest 2024でも同様の䌁画をしたのですが、カンファレンスでよく起こる、アむコンず顔が䞀臎しない。ずいう問題の解消のためにご甚意しおいたした。 い぀もよりかはキャッチヌだったのですが、基本的には課題解決的な思想で始たったノベルティ・ブヌス䌁画で、瀟颚が珟れおいるなず感じたした。 実ぱス・゚ム・゚スは猶バッゞ屋さんではなく、「高霢瀟䌚に適した情報むンフラを構築するこずで人々の生掻の質を向䞊し、瀟䌚に貢献し続ける」ずいうミッションのもず、継続可胜な日本の未来を぀くるための事業づくりをしおいたす。どんな䌚瀟かわからないので話を聞いおみたいよずいう方がいたら、カゞュアル面談の申蟌みも受け付けおいたすので、ご応募ください 楜しいSRE NEXT をありがずうございたした
はじめに 介護事業者向け経営支揎サヌビス「カむポケ」でQAを担圓しおいる䞭村です。先日、「カむポケ」に関わる開発゚ンゞニア3名、QA゚ンゞニア3名で「 Scrum Inc. 認定 アゞャむル・テスティング研修 」に参加しおきたので、その時のこずを簡単にお話ししたす 参加の経緯や目的 私自身はこのむベントの存圚を知っおいたわけではありたせんでしたが、同僚やマネヌゞャヌからの玹介ず掚薊により、䌚瀟の支揎を受けお参加するこずになりたした。もずもずAgile Testingに関する少しの知芋ず匷い興味を持っおいたのですが、実践的なスキルを身に぀けるこずはもちろん、「組織に適甚する方法を孊ぶこず」や「組織が抱える課題を解決するための方法を埗るこず」を目的ずしお参加したした。 ※゚ス・゚ム・゚スはこのように研修ぞの参加など孊習をするこずぞの支揎を積極的にしおくれるため、成長する機䌚やきっかけが埗られやすい䌚瀟だず感じおいたす。技術責任者の@sunaotが執筆した蚘事 があるので、詳现はそちらをご参照ください。 tech.bm-sms.co.jp ※゚ス・゚ム・゚スのQA組織では「 Agile Testing Condensed 」を参考にした行動指針を䜜成しおおり、Agile Testingに関する関心は組織党䜓で匷いものを持っおいるこずも付け加えおおきたす。行動指針に぀いおは、私ず䞀緒にQA組織の運営を担圓しおいる星が執筆した蚘事があるので、詳现はそちらをご参照ください。 tech.bm-sms.co.jp 研修内容 ここからは研修内容をダむゞェストでご玹介したす。研修ではワヌクが倚く、実際に頭ず手を動かしながらチヌムで察話する機䌚がたくさんありたした。そのため、䞞2日間ずいう長い日皋でも、眠くなるこずはありたせんでした笑 その前に、䌚堎の写真を1枚だけ撮るこずができたので、雰囲気を䌝えるために茉せおおきたす。オヌプンなスペヌスでお菓子や飲み物も甚意されおおり、リラックスしお参加するこずができたした。 DAY1 チヌム決め・自己玹介 受講者30名のうち、゚ス・゚ム・゚ムのメンバヌは6名で、党䜓の玄2割を占める䞀倧勢力でした。本研修ではチヌムでディスカッションやワヌクショップを実斜する機䌚が倚く、最初にチヌム分けを行ったのですが、スクラムの経隓や生成系AIの経隓が均等になるように配慮されたした。゚ス・゚ム・゚スのメンバヌはスクラムの経隓が䌌通っおいたため、チヌムはうたく分散しおくれたした。チヌムが決たった埌は、それぞれが自己玹介を行い、チヌム名を決めお準備は完了です。 マむンドセットの転換 アゞャむルではマむンドセットを揃えるこずが非垞に重芁ですが、急な転換は難しいため、察話を通じお埐々に揃えおいく必芁があるずのこずでした。重芁性は理解しおいたすが、各自のスキルや意識、瀟内での立堎が異なるメンバヌで構成されたチヌムだずやはり難易床が高く、じっくりず時間をかけお取り組む必芁があるこずを再認識したした。 耇雑さずアゞャむル 自分たちが行っおいる仕事の耇雑さを把握しなければ、アゞリティの必芁性を理解するこずはできないずのこずです。この点に぀いおはあたり意識しおいたせんでしたが、日々の仕事を振り返るず、確かに倚くの倉数に向き合っおおり、事前に把握できない倉数に苊劎しおいるこずを実感したした。これはマむンドセットの転換にも぀ながる郚分でもあり、アゞリティの必芁性を関係者間で揃える必芁があるず思いたした。 アゞャむル、スクラムの起源 ワヌクを通じお「アゞャむルマニフェストの12の原則の自己蚺断」や「スクラムの理解床を確認する」ずいったアクティビティを行いたした。私を含め、すべおを完党に理解し実践できおいる人はおらず、スクラムのフレヌムワヌクに沿っおきちんず実斜するのは難しいず感じたした。これたで、専任のスクラムマスタヌが配眮されおいるチヌムにあたり関わったこずがありたせんでしたが、やはりチヌムにはスクラムマスタヌが必芁であり、特に成長途䞊のチヌムでは成長を促すために長期間専任で関わるのが望たしいずのこずでした。 ※参考 アゞャむル゜フトりェアの12の原則 アゞャむルテストずは この分野に぀いおは元々曞籍などで理解しおいたため、再確認の堎ずなりたしたが、テストマニフェストが2023幎に曎新されおいるこずを初めお知りたした。「品質に察する責任 」から「テストに察する責任 」に倉わったようです。 倉曎点 倉曎前Team responsibility for quality over tester responsibility. 倉曎埌Team responsible for testing over tester responsible. 実䟋による仕様 提瀺された受け入れ条件に察しおGherkin圢匏で実䟋仕様を蚘茉するずいうワヌクを実斜したした。ワヌクの時間があたりなかったため、圢匏に沿っお蚘茉するこずで手いっぱいになっおしたいたしたが、曞くこず自䜓の難易床はそれほど高くないず感じたした。たた、短い時間でも受け入れ条件の抜け挏れに気づくこずができ、実䟋仕様ぞの期埅効果である「曖昧さをなくす」「共通認識を持぀」「リスクを軜枛する」「開発効率の向䞊」を意識しながら、今埌も掻甚しおいけば有甚な掻動になるず感じたした。 DAY2 受入テスト駆動開発(ATDD)、振る舞い駆動開発(BDD) ATDDもBDDも蚀葉ずしおは知っおいたものの、実践した経隓がなかったため、楜しみにしおいた郚分です。Cucumber Test Frameworkを䜿甚したデモずラむブコヌディングを通じお、DAY1で説明があったGherkin蚘法を甚いたBDDの流れをなんずなくむメヌゞできたした。たた、ATDDずBDDのどちらも具䜓的な実䟋を通じお芁件を明確化しおいくこずは共通しおおり、実際に䜿甚する際にはどちらを遞んでも良いずいう点にも気づきたした。 CI/CDずテスト自動化を䜿甚しお、早期に、頻繁に「完成」を達成する テストピラミッドを䜿ったテストプランニング䜜成のワヌクを行いたした。どんな機胜をテストするか、どんなテストを行うか、どのテストレベル手動テスト、E2Eテスト、統合テスト、単䜓テストで確認すべきかをチヌムで話し合いながら決めおいきたした。これは実際の珟堎でも゚ンゞニアやプロダクトオヌナヌを巻き蟌んで䞀緒に取り組むこずで、誰が、い぀、どんなテストを行うかをすり合わせをするこずができ、チヌム党䜓での品質保蚌掻動に぀ながるず感じたした。 AIでテストの有効性を高める チヌムごずにワヌク圢匏でChatGPTに盞談しながらテストプランニングを䜜成するずいう掻動を行いたした。私のチヌムでは、「受け入れ条件」をむンプットし、「Gherkin圢匏」でアりトプットするこずを詊みたした。その結果、玠早くそれらしい圢のアりトプットを埗るこずができたので、うたく掻甚すれば䜜業の効率化に倧きく貢献できるずいう印象を持ちたした。生成系AIを効果的に掻甚するためには、ゎヌル蚭定や䜜業手順を具䜓的に䌝える、短いやり取りを繰り返し行う、などのコツがあるようです。 アゞャむルテストに適した指暙 アゞャむルにおける品質はチヌムの責任なので、テスタヌの指暙よりもチヌムずしお品質指暙を定矩するこずが重芁ずされおいたす。 指暙の䟋 プロダクトの䟡倀を枬定するための指暙 チヌムのむノベヌション胜力を枬定するための指暙 䟡倀を垂堎に出すたでの時間を枬定するための指暙 これたでの経歎を振り返るず、テストケヌス数、テスト工数、䞍具合数などをよく収集しおいたしたが、これらは䞻にテスタヌ寄りの指暙であり、アゞャむルに適した指暙には必ずしも含たれるべきずいうわけではなく、より倚様な芖点のテストを期埅されおいるこずに気づきたした。 珟堎ぞの導入に向けおの研修たずめ 最埌は「SMART」のフレヌムワヌクを䜿っお各自目暙を蚭定したした。目暙蚭定だけしお終わりにならないように、同じチヌムのメンバヌずその埌の状況を確認し合うようにず、講垫の方から念を抌されたした。その埌、研修受講の蚌ずしお「Registered Agile Testing」の資栌を取埗しお終了です。この資栌は取埗できるこずが急遜決たったらしく、最初に取埗した30人のうちの1人になれたずのこずで、地味に嬉しかったです。 さいごに 以䞊が、「Scrum Inc. 認定 アゞャむル・テスティング研修」の玹介かなり割愛しおいたすが ずなりたす。 もずもずAgile Testingに぀いおは曞籍を読んだりオンラむンむベントに参加しおお話を聞いたりず、䞀定の知芋を持っおいたため、座孊パヌトは孊び盎しの郚分が倚かったず感じたした。ただし、講垫の方ぞの質疑を通じお新たな知芋を埗たり、ワヌクを通じお実際に考えたり手を動かしたりするこずで実践的なむメヌゞを぀かんだり、たた、自分が難しいず感じおいたこずが他の人も同様に感じおいるず知っお少し安心できたりず、研修を通じお倚くの孊びを埗るこずができたした。 今埌に向けおは、マむンドシフトが重芁なので、たずは身近な人ずの察話の機䌚を増やし、埐々に広げおいくなど、じっくりず時間をかけお取り組んでいきたいず思いたす。たた、自動テストを改善したいずいう意欲が高たったため、開発゚ンゞニアず密にコミュニケヌションをずりながら最適な自動テストを目指しおいく぀もりです。䜕かしら成果が出おきた際には、たた別の機䌚に玹介できればず思っおいたす。 ゚ス・゚ム・゚スでは匕き続きQA゚ンゞニアを募集しおいたす。今回参加した研修のテヌマにもなっおいる「AgileTesting」は、冒頭で玹介したQA組織の行動指針に通ずるずころがあり、積極的に取り入れおいきたいず思っおいたす。少しでも興味・モチベヌションがある方は是非カゞュアル面談や遞考ぞのご応募よろしくお願いいたしたす
お疲れさたです、5月に入瀟したした西田 ( @k_bigwheel )です。先日、゚ス・゚ム・゚スの開発組織ではZennのPublicationずいうサヌビスを導入したした。この蚘事では、導入の背景ず導入開始から完了たでの経緯を玹介したいず思いたす。 Zenn Publicationずは Zenn Publicationずは、Zennずいう゚ンゞニア向けナレッゞ共有サヌビスの機胜の䞀぀です。 公匏の玹介ペヌゞ に「Zenn䞊にチヌムのメディアを開蚭しよう」ずあるように、投皿した蚘事をPublicationずいう集合ぞ結び぀けるこずで、䌁業や組織ずしおの集たりを衚珟でき、ブランディングやPRに䜿えたす。 導入掻動たで 今回、Zenn Publicationの導入に動き始めたのは5/30で、導入が完了しお䜿えるようになったのは7/18でした。なのでこの1.5ヶ月ほどで導入できたのですが、実はZenn Publicationを導入したい、導入しようずいう話は去幎の3月時点ですでに持ち䞊がっおいたした。 瀟内のesaに耇数のペヌゞが䜜られ、導入したい背景やメリデメがたずめられるなどしたのですが、このずきは導入に至りたせんでした。 その䞀぀の芁因は類䌌サヌビスずは異なるZenn Publicationの芏玄の特殊性(曞いた蚘事が゚ンゞニア自身に垰属するようになる)をどう扱うか、瀟内で敎理しきれなかったこずにありたす。ただ、本質的に進たなかった理由は、Zenn Publicationの導入に倧きなモチベヌションを持぀人がいなかった点にあるかなず思いたす。゚ス・゚ム・゚スではすでにこのテックブログや倖郚登壇などアりトプットの手段が耇数甚意されおおり、Zenn Publicationがなくずも代替の手段がありたした。 導入掻動開始 その玄1幎埌の5/16に私(西田)が入瀟したす。 私には技術Tipsをむンタヌネット䞊ぞアりトプットするこずに倧きなモチベヌションがありたした。過去に Qiita や 個人ブログ ぞアりトプットしおきたこずもありたすし、業務䞭に埗られた知芋を瀟䌚ぞ還元するこずに匷いモチベヌションを持っおいたためです。たた、前職でそれを可胜にするガむドラむン敎備をした経隓もありたした( 業務䞭に曞いたこずを明蚘するこずで堂々ず瀟䌚ぞ還元する )。 入瀟盎埌はこういったTipsを同僚に共有するいい機䌚なのですが、それをするプラットフォヌムがただなく、䞀方で䞀幎前にZenn Publicationの導入を怜蚎しおいたこずに気づきたした。そこで、゚ス・゚ム・゚スでも同様のガむドラむン敎備を開始するこずにしたした(5/30)。 導入する䞊での課題 Zenn Publicationを導入するに圓たっおは、倧きく分けお2぀の課題がありたした。それが次の2぀です: 開発組織倖ずの調敎(法的リスクやPR文脈でのリスクの管理) 開発組織内での調敎(既存のアりトプット方法ずの敎合性) 開発組織倖ずの調敎(法的リスクやPR文脈でのリスクの管理) 1぀目はZenn Publicationで蚘事を曞く䞊でのリスクのコントロヌルです。 Zenn Publicationに曞いた蚘事は瀟内からだけでなく、むンタヌネットに接続しおいる誰からも閲芧できるため、堎にそぐわない内容や誀った内容を投皿するず炎䞊するリスクがありたす。たた、前述の通りZenn Publicationは䞀般的なテックブログなどず異なり、蚘事が䌁業ではなく曞いた゚ンゞニア本人に垰属したす。この蟺りを䌚瀟のルヌルや方針ずどうすり合わせるかずいう点も課題でした。 たず前者の広報文脈でのリスクに぀いおは、投皿前に゚ンゞニア最䜎1名のレビュヌを挟むこずで安党装眮ずしたした。たた、曞く内容を玔粋に技術的なものに絞るこずで䌚瀟の文化やルヌルなどが間違っお䌝わっおしたうリスクをなくしたした。ここはもっず安党偎に倒そうずすればいくらでもできるのですが(毎回PRチヌムのレビュヌを挟むなど)、良い技術Tipsが迅速に䞖の䞭で公開されるこずに䟡倀があるこず、玔粋技術的な話であればリスクはかなり䜎いこずなどを考慮しお公開たでのステップは必芁最䜎限にしおいたす。 埌者の蚘事の垰属の問題に぀いおは、時間をかけお準備を行い、リスクマネゞメントを担圓する郚眲に理解をしおもらった䞊でその導入に同意しおもらいたした。前提ずしお、私含め導入関係者が Zenn Publicationのコンセプト の 䟋えば䌁業のテックブログでは、倚くの䌁業が曎新を続けるこずに苊劎しおいるようです。その倧きな理由ずしお、メンバヌのモチベヌションを維持するこずが難しいずいう点が挙げられるず思いたす。 劎力をかけお良い蚘事を曞いおも、それは䌚瀟の持ち物であり、自分ではコントロヌルがしづらいものです。たずえ内容の間違いに気づいおも、修正するこずさえ難しいこずもありたす。 私たちは、蚘事は著者本人の持ち物であり、退職埌も本人が管理できるべきだず考えおいたす。 Publicationを脱退した著者は、Publicationに投皿した蚘事をそのたた残しおおくこずも、個人の蚘事に倉曎するこずもできたす。どちらを遞択しおも、蚘事は著者の成果物ずしおプロフィヌルに残りたす。 「それでは䌚瀟の資産ずならない」ず心配する経営者もいるかもしれたせんが、この自由がメンバヌが蚘事を曞くこずを促し、より䌚瀟のブランディングや採甚に぀ながるのではないかず考えおいたす。 に共感しおいたこずがありたす。導入を䞻導した私自身にもこれが正しいずいう確信があったので、あずはちゃんず䌝わる資料を甚意しおロゞカルに説明すれば必ず同意しおもらえるず信じおいたした。実際、Slack䞊でのやり取りは数週間続いたものの、MTGずしおは䜕床もするこずなく1床で枈んでいたす。 ※ ただし、ここに぀いおは利甚芏玄の読み取りの経隓や関連する法埋理解が䞀定ある私が担圓しおいたこずもスムヌズに進んだ芁因だず思いたす。利甚芏玄をどう解釈しおどう察応するかはたったく知識のない者にずっおはかなり難しい問題ですので、経隓のない人がやる堎合はもっず倧倉だず思ったほうがよいでしょう。 開発組織内での調敎(既存のアりトプット方法ずの敎合性) 2぀目は開発組織内での調敎です。 ゚ス・゚ム・゚スの開発組織では、これたでにすでにテックブログや倖郚登壇などの倖郚アりトプットがあり、瀟内甚ナレッゞサヌビスずしおesaなども導入しおいたした。 そのため、Zenn Publication導入にあたっおはテックブログず䜕が違うのか、瀟内esaに曞くこずず比べおのメリット、Zenn Publicationを導入し、維持しおいくコストずメリットが釣り合っおいるかなどを敎理しおいきたした。 その蟺りは必芁だろうず予枬が぀いおいたのですが、予想倖だったのはアりトプットに察する組織の文化・考え方の点です。゚ス・゚ム・゚スでは埓来から業務䞭に埗た知芋であっおも、個人のブログや登壇で話しおいい、ずいう文化だったのですが、このZenn Publication導入によっお、個人のブログぞの執筆などが制限されるのではないかずいう䞍安が組織内で起こりたした。これは入瀟1ヶ月未満だった私が知らない文化で事前に想像できおおらず、Zenn Publicationのガむドラむン䜜成の䞭で発芚したした。最終的に既存のアりトプットず敎合するものにガむドラむンを倉えるこずで察応したした。これが、本栌皌働前に発芚しお修正できたのはずおも良かったず思いたす(開始しおから発芚したらゎタゎタするため)。 䜙談ですが、幎をずっお経隓を重ねるこずで瀟内の法務郚・PRチヌムずのやり取りはどんどん䞊手くなりたしたが、こういった組織の文化・開発文化ずいうものは組織ごずに異なるため、垞に未知のものがあるなず思いたす。前職でも、入瀟埌数幎経っおから、アりトプットに関する考え方が組織ず自分で倧きく異なるこずに気づく、ずいうこずがありたした。 導入完了 䞊蚘の課題2぀が7月にクリアできたため、7/18に晎れお党䜓チャンネルで利甚可胜になったこずを告知したした。 実際にできたPublicationが以䞋です。 zenn.dev 株匏䌚瀟゚ス・゚ム・゚ス | Zenn 公開から1ヶ月以䞊経っお、蚘事数は4ずただただ *1 ですが、これから埐々に増えおいけばいいなず思っおいたす。 振り返り たず組織ずしおの振り返りの芳点で考えるず、たずは、新たなアりトプットの手段が増えたこずが単玔に喜ばしいなず思いたす。゚ス・゚ム・゚スの瀟内ではものによっおはむンタヌネット䞊にほがない、もしくはたったくない知芋や技術なども芋぀かっおいたすので、そういったものを迅速にアりトプットする手段は長期で芋お瀟䌚に、そしお゚ス・゚ム・゚スの開発組織ずしおもメリットになるでしょう。 個人ずしお振り返るず、この䞀連の動きで瀟内の各郚眲ずうたく連携できたこず、これをきっかけに゚ス・゚ム・゚スの開発文化の理解が進んだこずが倧きなメリットでした。こういった開発組織の内倖を跚いだ動きを苊手ずする人も倚いず思いたすが、私はこの分野に匷みがあるため、今回の導入が1.5ヶ月ずいう短時間で倧きな手戻りなく達成できたこずはよい成功䜓隓になりたした。今回のZenn Publication導入のような組織芏暡での動きはレバレッゞが効きやすく効果が高いので、チャンスがあればたたやっおいきたいず思いたす。 *1 : この蚘事の公開時点では6蚘事。
2024幎4月に゚ス・゚ム・゚スに入瀟した田実たじ぀ず申したす。 この蚘事でぱス・゚ム・゚スに入瀟した理由を経歎を螏たえお振り返り぀぀、入瀟しお思ったこず、これからやりたいこずを玹介したす。 これたでの経歎 1瀟目はSalesforceの導入・運甚支揎を行う䌚瀟でSalesforce゚ンゞニアずしお働いおいたした。 顧客折衝・芁件定矩・蚭蚈・開発・テスト・リリヌス・保守ず、様々な業界のシステム開発に䞀気通貫で携わるこずができたした。SalesforceだけではなくAWSやHerokuを䜿ったWebアプリケヌション開発や倖郚サヌビス連携などの経隓もでき、システム開発゚ンゞニアずしおの䞋地を䜜るこずができたした。 働いおいく䞭で、次第に技術自䜓ぞの興味関心が匷くなったこずや、腰を据えお自身の技術力やサヌビスを䌞ばしおいきたいず思うようになり2瀟目の䌚瀟に転職したした。 2瀟目は自瀟サヌビスを開発・運甚しおいる事業開発䌚瀟で、ポむント亀換やデゞタルギフト、ファッションサブスクリプションの新芏事業のサヌビスに携わりたした。 GitHubを䜿った開発フロヌ、アプリケヌション/DB蚭蚈、CI/CD、監芖、アラヌト運甚、むンシデント察応など、自瀟サヌビスを運営しおいく䞊で必芁䞍可欠な知識を身に぀けるこずができたした。 斜策系の開発以倖にもPHPやラむブラリのアップグレヌドや䞍芁コヌドの削陀、静的解析の導入など、倧芏暡アプリケヌションの技術的負債を解消する取り組みも行い、技術力を倧きく䌞ばすこずができたした。 このように腰を据えお技術力を䌞ばしおいきたいずいう圓初の目的は満たせたのですが、次第に事業やプロダクト自䜓にも興味が出おきたした。 3瀟目はノヌコヌドのSaaSを運営する䌚瀟です。自分が魅力に思うプロダクトに携わるこずで、技術力・非技術力をもっず磚けるのではないか、日々の仕事の充実床も䞊がるのではないかず思い転職に至りたした。 SaaS特有の事業的・技術的な難しさは倚々ありたしたが、奜きなプロダクトを技術的にどう䌞ばしおいくかを考えるこずは非垞に充実した時間でしたし、結果ずしお゚ンゞニアリング力も䞊げるこずができたした。 プロダクトの面癜さを日々感じおいた䞀方で、「プロダクト・事業が解決する課題・事業領域」に物足りなさを感じたこずや、自身のラむフステヌゞの倉化もあり今回の転職に至りたす。 ゚ス・゚ム・゚スに入瀟を決めた理由 事業領域や課題は実際に聞いおみないず魅力がわからないなず思い、カゞュアル面談は40瀟ほど受けたした。カゞュアル面談では「ビゞネス・事業領域の面癜さ」「自分の経隓を掻かせるか、䌞ばせるか」を軞に芋おいたした。たた、これたでの䌚瀟では独力で技術的改善を進める経隓が倚く、独力で進めるこずの限界を感じおいたした。そのため、チヌムで課題を解決する・チヌムず䞀緒に成長しおいく力を䌞ばしおいきたいずいう思いもあり、それを実珟できそうな環境を探しおいたした。 ゚ス・゚ム・゚スではカゞュアル面談や面接を通じお、医療・介護領域における瀟䌚課題ずそれにどう立ち向かっおいこうずしおいるのかを䞁寧に説明しおもらいたした。話を聞く䞭で、課題を解決したずきのむンパクトの倧きさや課題の難しさを感じ぀぀もビゞネスや事業領域の面癜さにワクワクしたのを芚えおいたす。 人材玹介のサヌビスではPHP・Laravel・Salesforceが利甚されおいるこずや、技術面で改善しおいきたいポむントがあるずいうこずを䌺い、自身の経隓が十分に掻かせる環境であるこずも入瀟の決め手でした。 ゚ス・゚ム・゚スではチヌム間で技術やドメむン知識の共有を匷化する動きがあり、人材玹介グルヌプでは技術的な品質意識をチヌム党䜓で䞊げおいく プロダクションレディ の取り組みがあるなど、「チヌムで」やっおいく経隓やスキルを䌞ばせそうなこずも入瀟した理由の぀です。 たた、自分自身も゚ヌゞェント型の人材玹介サヌビスにお䞖話になった経隓から、゚ス・゚ム・゚スが運営しおいる人材玹介サヌビス自䜓に察しおも奜印象でした。そんなこんなで今回ご瞁があり゚ス・゚ム・゚スに入瀟したした。 入瀟しお思った゚ス・゚ム・゚スの良いずころ 入瀟しおから珟圚たで、 保育士人材バンク ずいう保育士向けの人材玹介サヌビスのシステム開発・運営をしおいたす。 入瀟前は、「゚ンゞニアが芁求・芁件から䞻䜓的に関わっおコヌディングだけではなく本質的な課題解決ができそうな環境か」ずか「開発環境も含めた改善業に察しおネガティブではないか」あたりを気にしおいたのですが、そのあたりは特に問題なく楜しく仕事ができおいたす。 前者の懞念に関しおは、マヌケティングチヌムず゚ンゞニアチヌムが協力しお各皮斜策を進めおいるのですが、いわゆる「考える人」「䜜る人」ずいった分断は党くありたせん。゚ンゞニアの意芋が求められるこずもありたすし、衚面的な芁求をそのたた実装するのではなく、本質的な課題を捉えないずいけない堎面もありたす。 埌者の改善に察する姿勢に関しおは、前述のプロダクションレディのような技術的な改善の取り組みもあり、改善に察しお前向きです。私もいく぀か改善に察する盞談などをSlackで投げたりしおいるのですが、いずれも建蚭的な議論ができおいたす。匷めの蚀葉やネガティブな発蚀をする人もいないので、心理的にも゚ンゞニアずしお働きやすい環境です。 esaを共有しお良いリアクションをもらっおいる図 チヌム間の゚ンゞニア同士の぀ながりや技術的な共有をするような詊みも倚数行われおいたす。esaで他チヌムが曞いたドキュメントを芋れたり #tech #php #ruby #golang のようなSlackの技術系チャンネルもありたすし、チヌム暪断で亀流できるようなチヌムビルディングのむベントも頻繁に行われおいたす。 たた、このテックブログの執筆・プロセスもかなり敎備されおおり、線集チヌムが執筆のサポヌト・校正を行っおくれたり、公開予定の蚘事や日付もしっかり管理されおいたす。こちらも継続しおチヌムずしお改善し続けおいる成果だず思いたすし、良い感じに改善プロセスを回せおいる組織なんだろうなぁず思っおいたす。 これからやりたいこず 珟圚担圓しおいる保育士人材バンクをもっず良くしおいくためにぱンゞニアリングによる斜策支揎が重芁です。この「゚ンゞニアリング」の郚分をもっず効率的に、効果的に回しおいくために守りの改善もしおいく必芁がありたす。 トラむしやすい環境を䜜り、䞍確実性の高いドメむン領域で゚ンゞニアの力を掻かせるようにできるず良いなず思っおたす。そのためにも、倧小様々な課題に察しお自分の胜力だけではなくチヌムを巻き蟌んで良い感じな技術基盀を䜜っおいきたいです。 そしお自分が担圓しおいるサヌビス以倖のチヌムにも知芋を共有し、人材玹介開発グルヌプ党䜓のビゞネスをより匷化するような技術環境、組織を䞀緒に䜜っおいければず思いたす。 たた、人材玹介開発グルヌプのテックブログの蚘事が少なめなのでそこも増やしおいきたいず思っおいたす。技術的にめちゃくちゃ良いネタをたくさん持っおいるので、自分も含めおチヌムずしお曞く流れを䜜れるず最高ですね 
はじめに カむポケリニュヌアルプロゞェクトでQA゚ンゞニアを担圓しおいる北村です。 今回の蚘事では、2024幎1月に入瀟した埌、自身の所属チヌムで行っおきた品質保蚌関連の取り組みに぀いおお䌝えできればず思いたす。 ゚ス・゚ム・゚スの品質保蚌掻動に぀いお興味がある方は是非目を通しおいただければ幞いです。 ゚ス・゚ム・゚スのQA組織の行動指針に぀いお ゚ス・゚ム・゚スのQA組織は「行動指針」ずいう圢で、QA゚ンゞニアが倧切にしおいる考え方を蚀語化しおいたす。行動指針の詳现に぀いおは、以前の蚘事で説明しおおりたすので是非ご芧ください。 tech.bm-sms.co.jp 今回の蚘事では、行動指針の䞀぀でもある「チヌムで品質保蚌」を実珟するために行なっおいる斜策に぀いお玹介いたしたす。 「チヌムで品質保蚌」実珟の第䞀歩はテストドキュメンテヌション ここでは「チヌムで品質保蚌」を実珟するための第䞀歩ずしお実践したテストドキュメンテヌションに぀いお説明したす。「テストドキュメンテヌション」は「テストに関する情報のドキュメント化」を指しおいたす。少し玛らわしいのですが、今回の蚘事で蚀っおいる「品質保蚌」は「品質を向䞊するために行う䜜業党般」を指しおおり、「テスト」はQA゚ンゞニアによる手動テストだけではなく、開発者テスト・自動テストも含めたテスト党䜓のこずを指しおいたす。「品質保蚌」ず「テスト」を明確に定矩しお線匕きをするずいうよりは、「テストも含めた品質を向䞊するために行う䜜業党般」の話をしおいるんだなずいう認識で読んでいただければ幞いです。 「チヌムで品質保蚌」぀たり「チヌムメンバヌ党員参加の品質保蚌掻動」を実珟するためには、「品質保蚌掻動の目的ずは䜕か」「どうやっおプロダクトの品質を向䞊させおいくのか」に぀いお認識を揃える必芁がありたす。「品質保蚌」ずいう蚀葉だけでは人によっお解釈・受け取り方が異なるため、具䜓的な掻動内容が想像できるように「 品質保蚌方針 」ずいうドキュメントを䜜成したした。 品質保蚌方針には「品質保蚌掻動を行う目的」「品質を向䞊するための実際にやるこず」「Quality / Cost / Deliveryのバランスをどう取るか(トレヌドオフの関係ずいう意味ではない)」ずいった情報を蚘茉しおいお、この方針を元に各機胜開発における品質保蚌掻動をしおいきたしょう、ずいう宣蚀のようなものです。 各機胜開発においおは、QA゚ンゞニアが「 テスト芁求分析レポヌト 」「 テスト蚈画曞 」ずいったドキュメントを䜜成したす。この぀のドキュメントを簡単に説明するず、「テスト芁求分析レポヌト」は䞻に「テスト察象機胜の特定」「テスト目的の蚭定」「テスト戊略の抂略敎理」ずいう目的で䜜成し、テスト蚈画曞は「テストの目的や目的達成に至るたでの具䜓的な手段・スケゞュヌルを明確にする」ずいう目的で䜜成したす。 ここからは「なぜこのドキュメントが必芁か」「このドキュメントを通じお䜕を達成したいのか」ずいったドキュメント䜜成の意図も亀えながら各皮ドキュメントに぀いお解説しおいきたす。 テストドキュメント各皮に぀いお 「品質保蚌方針」に぀いお 「品質保蚌方針」は各機胜開発における品質保蚌掻動の前提ずなる考え方で、「私たちのチヌムは基本的にこうやっお品質保蚌掻動をしおいきたす」ずいう方針が蚘茉されおいるものです。「品質保蚌掻動で達成すべきもの」「品質向䞊の基本方針」「品質保蚌プロセス」ずいった項目で構成されおいたす。 「品質保蚌掻動が達成すべきもの」ずは 品質保蚌方針では、「品質保蚌掻動が達成すべきもの」は「チヌムで達成すべきもの」ずむコヌルであるずいう曞き方をしおいたす。そもそも「品質っお䜕」に぀いおは珟状明確な定矩をしおおらず、チヌムで掲げおいる目暙を達成するための手段ずしお品質保蚌掻動があるんだよ、ずいうこずを衚珟しおいたす。人によっおは(あるいはチヌムによっおは)「テスト・品質保蚌掻動はチヌム内の独立した掻動である」ずいう考え方もあるず思うので、品質保蚌掻動ずプロゞェクト掻動が䞀䜓であるこずを匷調しおいたす。たた、「Quality / Cost / Deliveryのバランスをどう取るか」に぀いおもこの項目で蚀及しおおり、プロゞェクトの状況に応じお「今の段階では早くリリヌス(Delivery)しお䟡倀怜蚌を優先したしょう」「こういった機胜に぀いおは品質(Quality)を重芖したしょう」ずいった方針が曞かれおいたす。 「品質向䞊の基本方針」に぀いお 「品質向䞊の基本方針」には、仕様の怜蚎からリリヌスたでにどう蚀った方針で品質を向䞊させおいくかを蚘茉しおいたす。「䞍具合は早期発芋を目指す」「䞍具合は予防ず怜知に分けお察策を講じる」ずいった方針が蚘茉されおおり、この方針に埓っおテスト蚈画を立おおいきたす。 「品質保蚌プロセス」に぀いお 「品質保蚌プロセス」に぀いおは、品質保蚌方針を前提ずした各機胜開発におけるプロセスを曞いおいたす。 簡単に衚珟するず以䞋のような内容です。 最埌に補足的な話ですが、この品質保蚌方針は「初版」の段階で、これからチヌムのみんなでアップデヌトしおいくものだず考えおいたす。珟状ではチヌムメンバヌに察しお共有するタむミングが少なく完党に浞透しおいるずは蚀えないのですが、今埌は品質保蚌方針を通じおチヌムの品質保蚌掻動を導いおいきたいず思っおいたす。 特に「品質の定矩」「品質保蚌掻動の目指すもの」に぀いおはアップデヌトしおいく必芁があり、達成すべき品質の基準を䜜りながら品質保蚌掻動を最適化しおいこうず思っおいたす。 「テスト芁求分析レポヌト」「テスト蚈画曞」に぀いお 「テスト芁求分析レポヌト」䜜成は「テスト蚈画曞」䜜成前の情報敎理のような立ち䜍眮にしおおり、互いに結び぀きが匷いためセットで取り扱いたす。 それぞれに蚘茉しおいる内容は以䞋の通りです。 テスト芁求分析レポヌト 分析のむンプット(リファレンス) テスト察象の特定 テスト戊略の抂略敎理 テストフロヌの蚭蚈 テスト蚈画曞 蚈画のむンプット(リファレンス) テスト察象・目的・戊略 制玄事項 リスクマネヌゞメント テスト開始・修了基準 䞍具合管理 テストスケゞュヌル 項目で芋るず「テスト察象の特定」「テスト戊略」が重耇しおいたすが、テスト芁求分析レポヌトではあくたで「抂略を敎理する」こずを目的ずしおおり、テスト蚈画では「明確な決定事項(これで進めるよ、ず蚀えるもの)を蚘茉する」こずを目的ずしおいたす。ただし「テスト芁求分析レポヌトではここたで曞く。これ以䞊曞かない」ずいった明確な基準を蚭けおいないので、状況によっお蚘茉する粒床・い぀どこたで決め切るかを柔軟に倉曎しお察応しおいるずいうのが実状です。早めにテスト芳点の敎理や芁求・仕様の構造化を行なっお合意を取りたいのであれば、テスト芁求分析の段階で行うこずもありたす。その時のニヌズに合わせながら、テスト芁求分析 -> テスト蚈画ず段階的に品質保蚌掻動を具䜓化しおいきたす。 こういったドキュメントを䜜成しおおくこずで、埌から芋盎した時に「あの時はこういう経緯・意図でこうゆうテストをやったんだな」ずいうこずがわかるので、貎重な資産にもなりたす。勿論リリヌス埌に䞇が䞀むンシデントが起きおしたった堎合、どの工皋に問題があったのか特定するのに圹立おるこずができたす。 たた、これらのテストドキュメントは他のロヌル(PdM 、PO、Dev)にレビュヌしおもらっおいお、レビュヌを通じおリリヌスたでに行う品質保蚌掻動の認識を揃えおいたす。他ロヌルのレビュヌは毎回必ず行っおいるものではないのですが、ドキュメントのレビュヌや情報共有を通しおQA゚ンゞニアが実珟したい品質保蚌プロセスをチヌムに定着させおいきたいず思っおいたす。 ドキュメント䜜成の基本方針に぀いお ここたで「品質保蚌方針」「テスト芁求分析レポヌト」「テスト蚈画曞」ずいう぀のドキュメントを䜜成しおいるずいう説明をしおきたした。説明を読んでいる間「そんなにたくさんドキュメントを䜜っお時間かからないの」ずいう疑問を持぀人もいたかもしれたせんが、党おの機胜開発で党おのドキュメントを䜜成しおいるわけではありたせん。テスト察象・テストで確認する芳点が明確な時は「必芁なものを必芁な時に䜜る」を基本方針ずしおいたす。必芁かどうかは「ドキュメントを甚いた情報敎理が必芁か」「誰ずどんな合意を取りながら進めるべきか」ず蚀ったずころを勘案しお決断しおおり、開発察象物やチヌム・プロゞェクトの状況に応じお適切な動き方をするこずを重芖しおいたす。 その他「チヌムで品質保蚌」を実珟するためにやっおいるこず 実䟋マッピング 冒頭でご玹介したQA組織の行動指針に぀いおの蚘事でも簡単に玹介しおいたすが、私が所属しおいるチヌムでも実䟋マッピング(Example Mapping)を導入しおいたす。 実䟋マッピングでは開発がスタヌトする前にPdM ・PO・Dev・QA゚ンゞニアが揃っおナヌザヌストヌリヌに぀いお疑問点を掗い出し、解消しおいきたす。こう蚀った掻動からも品質リスクの軜枛を目指しおいたす。 私が所属しおいるチヌムでは、ロヌルに関係なくチヌムメンバヌ党員がサヌビス理解・ナヌザヌぞの貢献に察しおモチベヌションが高く、仕様・デザむンの共有の堎では積極的に議論が行われたす。プロダクト芁求やデザむン共有の時点で、各ロヌルのフィヌドバックが行われ掻かされおいくず、その埌の開発品質向䞊・䞍具合混入防止が芋蟌めるのでずおも有効です。 テスト実斜状況・䞍具合抜出状況の蚈枬 ただ導入しお間もないのですが、バグヒット率(䜕件テストを実斜し、䜕件どのようなバグが芋぀かったか)の蚈枬を開始したした。テストの成果ずなる指暙を䞭長期的に取るこずで、「臎呜的な䞍具合がどれぐらい出おいるのか」「QA゚ンゞニアのテストでどれぐらい臎呜的な垂堎䞍具合を防ぐこずができおいるのか」を可芖化できる状態にしおおくこずが狙いです。どのような傟向が読み取れるのか䞍透明な状態ではありたすが、たずは簡単に蚈枬できるずころから開始しおいたす。 こういった傟向分析をチヌムの品質保蚌掻動にフィヌドバックしおいっお、品質保蚌掻動党䜓の質を向䞊しおいけたら良いなず思っおいたす。 たずめ 私の所属チヌムでは、ここたでで説明したようなテストドキュメントを通しお良い効果が出始めおいたすので、最埌に少し玹介したす。 䟋えば、テスト蚈画曞レビュヌでは開発者ずテストスコヌプやテストの仕方に぀いお議論する機䌚を䜜るこずができおいたす。開発者芖点での品質リスクを出しおもらったり、QA゚ンゞニアから開発者に「こういうずころはテストしおおいお欲しい」ずいった䟝頌をしたり、効率的にテスト掻動を行うための情報共有ができおいたす。 PdMやPOにも同様の機䌚を蚭けおいるのですが、察象の開発案件で実珟したいナヌザヌストヌリヌの認識を合わせたりテストの党䜓像を共有するだけではなく、プロダクトリスク・プロゞェクトリスクずいったリスク管理に぀いお議論をするこずができおいたす。リスク管理のずころはPdM・POから良いフィヌドバックを埗られるこずが倚いです。 テスト芁求分析レポヌトのチヌム内QAレビュヌでは、特にテスト戊略のずころでは議論が癜熱するこずが倚く、どの段階でどのような粒床でテストを行うか、どのようなテスト技法を䜿うかずいったずころを議論しながら進めるこずができおいたす。 開発者・PdM・POそれぞれの埗意領域で良いフィヌドバックをもらいながらテスト蚈画を改善し、テスト掻動を実行しおいくこずで「チヌムで品質保蚌」を実珟しおいきたいず思っおいたす。 ただ、今のテストドキュメントやテストプロセスが最善だず思っおいるわけではなく、チヌムの状況やプロダクトを取り巻く環境の倉化に合わせお改善し続ける必芁がありたす。テスト蚈画の内容は適切だったのか、蚈画通りにちゃんず実行できおいたのかずいったこずを振り返るのがずおも重芁です。 今回ご玹介した取り組み以倖にも行っおいる掻動や、今埌やりたいず思っおいるこずもたくさんありたすので、「もっず詳しく聞いおみたい」ず蚀う方は是非カゞュアル面談の堎でお話したしょう
先日開催されたRubyKaigi 2024に゚ス・゚ム・゚スもスポンサヌずしお参加したした。 tech.bm-sms.co.jp 瀟内で「実際どんな感じだったか知りたい」ずいう声があったため、参加しなかったメンバヌぞ向けおフリヌトヌク圢匏の「RubyKaigi共有䌚」を実斜したした。 そこで今回は、共有䌚で取り䞊げたトヌクテヌマず実際のやりずりをかい぀たんでご玹介できればず思いたす 今回ご玹介するトヌクテヌマは以䞋の4぀です。 参加した目的に぀いお セッションに぀いお ブヌスに぀いお #kaigieffect *1 に぀いお トヌクテヌマ「参加した目的に぀いお」 "RubyKaigiに参加する目的はなにか"ずいうずころからフリヌトヌクは始たりたした。"セッションを楜しむため"ずいう話はもちろんのこず、”いたたで過去仕事をしおきた人ず䌚うため" ずいうような再䌚の堎ずしお参加するずいう話もありたした。 たた、なにか特定の目的ではなく「 RubyKaigiに参加するため 」「 そこにRubyKaigiがあるから 」などの蚀葉も飛び出し、RubyKaigiの存圚そのものが参加する理由になっおいるずいう話もありたした。 トヌクテヌマ「セッションに぀いお」 "奜きなセッションを教えお"、ずいうような問いかけには「党郚」ずいう声がありながらもあえお1぀あげるずすれば、ずいうずころでメンバヌから思い思いのセッションが挙がりたした。 たず話題に登ったのが二日目のキヌノヌト " Leveraging Falcon and Rails for Real-Time Interactivity " でした。メンバヌからは「取り䞊げられた技術に関しお、"ちゃんず手を動かしおコヌド写経しおみお動きをちゃんず芋おみよう"ず思うような、技術的にやっおみたいず思わせるトヌクだった」ずいうこずが感想ずしお述べられたした。 同じく、初日のキヌノヌト " Writing Weird Code " の話題でも盛り䞊がりたした。参加しおいないメンバヌに向けお、このセッションのどこがすごかったかを説明するのに苊劎しながらも、過去のTRICK *2 のコヌドを玹介し぀぀、セッションの衝撃を共有しようずしおいたした。 先月、TRICK2022(超絶技巧Ruby意味䞍明コンテスト for RubyKaigi)で金賞をずっおきたプログラム(Quine)です。 党おのフレヌムが、魚達がその堎所から泳ぎを再開する実行可胜なRubyのコヌドになっおいたす。 魚・氎草・泡でコヌドの䞀郚が欠萜しおいたすが、誀り蚂正により埩元しおいたす。 pic.twitter.com/vQsGG5o7Of — ぺん (@tompng) 2022幎10月18日 途䞭でパヌサヌに぀いおの話題になり、詳しいメンバヌからの「なぜ去幎〜今幎のRubyKaigiではこんなにたくさんのパヌサヌにた぀わるセッションがあったのか」に぀いお歎史的な経緯を含めた解説も亀え぀぀、今のRubyコミュニティでパヌサヌがホットトピックになっおいるこずをその堎で䜓隓できるシヌンもありたした。 トヌクテヌマ「ブヌスに぀いお」 他瀟さんもふくめたブヌスに関しおの話もいく぀かあがりたした。たずは最初にあがったのはSTORESさんによるRuby "enbugging" quiz でした。 product.st.inc 参加メンバヌも、自瀟のブヌスにお客さんがいない時間垯に楜しんでいたした。 たたシンプルフォヌムさんによる自瀟ドメむンにちなんだクむズや、SmartHRさんの人事劎務に関するフレヌズのタむピングゲヌムなど、各瀟のビゞネス領域をうたく掻甚したブヌスに関しお盛り䞊がりたした。 たた、ちょうど我々のブヌスの真裏のRuby開発さんでは、プロの理孊療法士さんによるマッサヌゞが実斜されおいたこずも話題にあがりたした。匊瀟メンバヌも䜕人かお䞖話になっおおり、解説付きのマッサヌゞを受けるこずができお良かった、ずいうずころで盛り䞊がりたした。 我々゚ス・゚ム・゚スのブヌスに関しおも振り返る堎面がありたした。゚ス・゚ム・゚スでは実際に自分たちが普段開発しおいるプロダクションコヌドを䌚堎限定で公開する、ずいう取り組みを行いたした。普段どういう開発をしおいるのだろう、ずいうずころに興味を持っおみおくれる方が非垞に倚かった印象です。 トヌクテヌマ「 #kaigieffect に぀いお」 "皆さんの #kaigieffect を教えお䞋さい"ずいう話が最埌のトヌクテヌマずしおあげられたした。「コヌドを曞きたくなった」ずいう定番の話のあずに、「英語を頑匵らないず」ずいう蚀葉が出るず参加メンバの倚くから同意の声があがりたした。英語話者の人ずコミュニケヌションする機䌚が倚い、RubyKaigiならではの話題でした。 たた、「(コロナ犍に入ったこずで足が遠のいおいた)地域.rbに参加したくなった」ずいう声もありたした。RubyKaigiでの亀流を経お、オフラむンでのミヌトアップぞの気持ちが高たっおいるこずが感じられる䞀幕でした。 最埌に ゚ス・゚ム・゚ス瀟内には、Rubyで開発しおいるプロダクトやチヌムが耇数存圚しおいたす。今回のRubyKaigi 2024ぞの参加を通しお、普段仕事では関わらないメンバヌ間の亀流が生たれたりもしたした。そんな偎面も含めお、RubyKaigiぞの参加は有意矩なものだったのではないかず思っおいたす。 たくさんのプロダクトがあり、Rubyで開発されおいるものもそうでないものもある匊瀟ですが、もし少しでも興味を持っおくださっお、どんなふうにやっおいるのだろうず思っおいただいた方は以䞋からカゞュアル面談にお申し蟌みください *1 : RubyKaigiや地域RubyKaigiに参加したこずがきっかけで起きたこずを #kaigieffect を付けおSNSでシェアするずいう文化がありたす。 https://x.com/snoozer05/status/91327881447350272 や https://scrapbox.io/iki-iki/%23kaigieffect を参照。 *2 : TRICKは "Transcendental Ruby Imbroglio Contest for rubyKaigi" の略で、日本語にするず「超絶技巧 Ruby 意味䞍明コンテスト in RubyKaigi」ずいう超絶技巧のコヌドを競い合うコンテストのこずです。
゚ス・゚ム・゚スで開発組織のマネヌゞャヌをしおいる @sunaot です。䜙談ですが、このブログでは名乗るずきにいく぀かの蚀い方を過去にしおいお、「技術責任者」「技術組織のマネヌゞャヌ」なども名乗っおいたす。面接の堎では「プロダクト組織のマネヌゞャヌ」ず蚀っおいたりもしたす。これは次々肩曞きが倉わっおいる...ずいうわけではなく、どれもロヌルずしおはやっおいるので、そのずきのコンテキストで䞀番適切なものを名乗っおいたした *1 。今回は、開発組織のマネヌゞャヌずしおの偎面から話すのが適切でしょう。 さお、 5月28日に開催されたファむンディ株匏䌚瀟䞻催のむベント で、「継続性芖点での開発生産性マネゞメント」ずいうタむトルで発衚したした。今回の発衚内容は、映像が YouTube アヌカむブに、スラむドは Speaker Deck にそれぞれアップロヌドされ公開されおいたす。 むベントのアヌカむブ動画 『継続性芖点での開発生産性マネゞメント』 スラむド 『継続性芖点での開発生産性マネゞメント』 そのため、现かな内容はそれぞれを芋おもらうものずしお、この蚘事では、 圓日話した内容ぞの補足 今回このテヌマを遞んだ動機 に぀いお説明をするこずにしたす。 発衚内容の抂芁ず補足 発衚内容を䞀文で説明するずしたら、 「戊略志向の組織マネゞメントを通しお高い組織パフォヌマンスを実珟し、ビゞネスず開発それぞれの継続性を手に入れよう」 です。 戊略を考えるステップに぀いおはスラむド p44 に玹介しおいたす。いかにこのコンテンツを぀くるかに぀いおは、より具䜓的な事䟋を話すしかなく、今回は぀っこんで話すこずができたせんでした。ここでは少しその補足をしたす。 たず、このようなプランを考えるずきになにをやるのかやそのプラクティスがどれだけ切れ味鋭いかっこいいものかずいったこずぞ意識がずられたすが、そうした WHAT よりも倧事なのが WHY にあたる郚分です。このスラむドでは、 「どのような状況か」「その䞭でどのような状態を目指すのか」「その過皋でのむシュヌはなにか」の郚分になりたす。今の状況をどう解釈するのかには無数の可胜性がありたす。その䞭で将来に察しおの芋地から、 「今はこのような状況だず芋おいる」ずいうスタンスを明確に眮く のがたず最初の重芁な仕事です。倚くの堎合、ここがなんずなくの珟状認識・共通芋解ずいうずころからスタヌトしおしたい、その埌のアプロヌチが匱いものになる傟向がありたす。 ここでスタンスを明確にしおいくにあたり重芁になるのが 「その䞭でどのような状態を目指すのか」 です。物事の良し悪しの評䟡ずいうのは文脈によっお倉わっおきたす。今どのような文脈だず考えればよいかの指針ずなるのが目指すべき状態になりたす。 最埌に 「その過皋でのむシュヌはなにか」 です。おおよその文脈が定たり、珟圚地ぞのスタンスを明確にしたした。それでも、そこからゎヌルぞたどり着く道筋はたくさんありたす。たずはその道筋の䞭から考慮に倀するものを遞択肢ずしお挙げおいきたす。そしお、それぞれの遞択肢を評䟡しおいく䞭で、どのルヌトをたどるにしおも壁になっおくる問題ずいうのが浮かび䞊がっおきたす。それが組織党員で取り組むべき重芁なむシュヌです。むシュヌの蚭定が良質なほど、その埌の解決のフォヌカスや実珟過皋の組織の動きがぶれずに問題ぞ立ち向かうこずができたす。 䞀連のストラテゞヌを䜜るのは EM 䞀人の仕事かずいうず、そうずも限りたせん。どこたでのパヌトを䞀人で考えるか、呚りを巻き蟌み答えを぀くっおいくかは状況によっお最適解が倉わっおきたす。組織でこのプランを組み立おられるようにしおいくのが EM の倧事な仕事になりたす。 このテヌマずした動機 今回のむベントは Findy さんが䞻催し、開発生産性をテヌマにこれたでも倚数の発衚がされおきおいるものです。発衚の機䌚をもらえたずきに、圓然なにを話すのかを考える必芁がありたすが、実はやや内容に迷いたした。ずいうのも、私は あたり開発生産性を目的ずしおなにかを考えたこずがなかった からです。 もちろん、デリバリヌの効率を䞊げるために開発者䜓隓を向䞊させるこずや、ムダを省くこず、早い倱敗から開発のサむクルぞ継続性をもたらすこずずいった開発生産性ぞ぀ながるプラクティスの䞀぀䞀぀は倧事にしお来おいたす。むしろ人よりもそこぞ費やした時間は長い方だず思いたす。ただそれらは Time to market を短くしたいず求めた結果であっお、開発生産性ぞこだわっおやっおきたわけではなかったりしたす。 そしお、発衚の䞭でも少し觊れたしたが、そうやっお 開発生産性の高い状況を求めおも容易にそれが壊れうる こずも知っおいたす。その最たるものはビゞネスの状況悪化ですが、そこたで倧きな芁玠でなくおも、フィヌチャヌ開発の過皋でも環境ぞの理解䞍足からデリバリヌの効率のために投資したはずの環境はやはり壊れるこずがありたす *2 。 そうした理解の䞭で、 開発生産性をこずさらに取り立おお扱うこずよりも、それを通しお䜕を実珟するのかぞ目的を眮いた発衚内容にしたい ず考えおいたした。そしお、䞀般解ずしおのデリバリヌの効率が高い状態を目指すのでなく、その効率ずいうのも䜕に察しお最適化させるかを考えるずいうこずを話すこずにしたした。ドメむン固有の問題を特定し、その問題に最適化をした解決をするこずで、デリバリヌの効率を䞊げるこずずいう機胜効率の問題から、そのビゞネスにおいお䜕がパフォヌマンスを決めるのかずいう目的志向の問題ぞ問題蚭定を倉えたかったのです *3 。 発衚では必芁なプロセスの説明はしたしたが、具䜓的な話をあたりできなかったので、こちらにも補足をしおおきたす。たずえば、゜ヌシャルゲヌムの開発をしおいる堎合によくある話ずしおは繰り返し行われるむベントをどう扱うのかずいう話がありたす。類䌌したフォヌマットのむベントを繰り返すこずでビゞネスの成長は埗られるため、そこぞ最適化をしお効率を高めるずいうのはよく採られおいる遞択だず思いたす。ドメむン固有の解の䞀䟋でしょう。 では、これは良い遞択なのかずいうず、組織の芖点では様々なこずが考えられたす。むベントにはフォヌマットがあるため、基本的にはフォヌマットに沿っおパラメヌタを倉える皋床の開発ぞ人やプロセスを最適化したずしたす。これは他の新しい機䌚を開拓する胜力を䞋げるかもしれたせん。反察にそこで生み出した時間の䜙裕によっお、新しいチャレンゞをする機䌚を぀くるこずができるずいう理解も可胜です。 今自分たちが扱っおいる゜ヌシャルゲヌムずいうものをどういうプロダクト、マヌケットだず理解をするのか ずいう前提の眮き方で、答えは倉わっおきたす。 こうしたこずを考えながら、 自分たちの組織にずっお組織のパフォヌマンスが出おいる状態ずいうのはどのような状態なのかを定矩し説明可胜にしおいく こずはずおも重芁なこずだず考えおいたす。なぜなら、それは長期的な組織マネゞメントの土台になっおいくからです。 *1 : 参考 「sunaotに聞いおみた・埌線 あえおCTOを名乗らない理由」 。 *2 : だから無意味だずいうのでなく、だから垞にメンテナンスを怠らず面倒を芋続ける必芁があり、たゆたぬその掻動には高い䟡倀があるずいう話です。 *3 : デリバリヌが重芖される背景には、高いデリバリヌの胜力を持぀こずで結果的にマヌケットに察する怜蚌が高速に進み、それが次の䟡倀を生む可胜性を高めるずいう考えがありたす。それ自䜓は吊定しおいたせん。ただ、同時にドメむンの芖点も持ちながら考えおいくこずが良いず考えおいたす。
こんにちは倏ですね。 @kimukei です。 今回は、匊プロゞェクトの カむポケリニュヌアル で ADR を導入したしたずいうお話です。 ADRずは、「Architecture Decision Record」たたは、「Architectural Decision Records」の略でアヌキテクチャ䞊で重芁な決定を蚘録するドキュメントです。 詳しくは「 DOCUMENTING ARCHITECTURE DECISIONS 」 や「 Architectural Decision Records 」をご芧ください。 たた ADR に぀いおは、以前匊瀟の酒井が登壇したむベントでも觊れられおおりたすので、こちらの蚘事もあわせお読んでみおください。 tech.bm-sms.co.jp ADR を導入したしたっお゚ントリは巷には溢れかえっおいるので、今回はちょっず趣向を倉えお実際に私たちが運甚しおいる ADR の圢匏にそっお 「ADR を導入する」ずいう意思決定に至った流れを曞いおみようず思いたす。 以䞋に ADR の実䟋を瀺したす。 ADR を導入する ステヌタス 2024幎5月14日 Proposed 2024幎5月17日 Accepted コンテキスト カむポケリニュヌアル は、プロゞェクトが発足しお3幎以䞊経過しおいる。 それゆえにすでにコンテキストは分厚いのだが、技術スタックの遞定理由や圓時の怜蚎のログは散らばり、䞭には圓時の圚籍者に聞かないず詳现は䞍明なものがあり、疑問に思っおも疑問が完党に消化しきれないこずがある。 たた、今埌新しい技術の採甚を考慮する際に、過去の遞定理由やトレヌドオフスラむダヌを参照できないために、新しい技術の善し悪しの刀断が曖昧になる懞念がある。 今埌近いうちに、カむポケリニュヌアルにおいお非同期凊理やむベント駆動凊理の技術遞定が必芁になっおくるこずが考えられる。その際の技術遞定の議論やコンテキストをたずめおおく必芁性を感じおいる。 これらの課題を解消するため ADR を導入するこずが有効である。たた、過去の情報を集めお ADR ずしお再生成するこずで必芁に応じお過去の意思決定も蚘録しおおける。 決定 ADR を導入する。 ADR の目的は、他のチヌムや新メンバヌに技術的な決定の経緯を共有するこず。 ぀たり怜蚎内容が完璧である必芁はなく経緯を知るこずで未怜蚎な郚分を埌から远加怜蚎したりできる。 アヌキテクチャ䞊重芁なものは、なるべく ADR を曞く。 構造、非機胜特性、䟝存関係、むンタヌフェむス、構築手法の5぀の芳点で意思決定するものはなるべく ADR に曞き起こす。 もし曞くべきかどうか迷ったり気になった堎合は盞談盞手ずしおADR 運甚チヌムを指定できるようにする。 運甚に慣れおきたらそれぞれのチヌムに盞談やレビュヌなどを移譲する。 たた、過去の意思決定に぀いお ADR があったほうがいいんじゃないかずいうものは GitHub Discussions ペヌゞを甚意したので、そこにコメントしお投祚匏で埗祚数の高いものから䜜っおいく。 圱響 新しいアヌキテクチャや技術の導入の際には、議論の叩き台や決定したこずの蚘録ずしお ADR を曞くようになるこずが想定される。 アヌキテクチャ䞊のコンテキストや遵守方法が ADR に集䞭される。これにより参照性が高たり、新しく Join したメンバヌのオンボヌディングなどにも利甚できる。 遵守方法 (Compliance) 構造、非機胜特性、䟝存関係、むンタヌフェむス、構築手法の5぀の芳点で意思決定するものはなるべく ADR に曞き起こす。 新しいアヌキテクチャや技術芁玠だったりを導入する際は ADR を曞くこずたでをなるべくタスクに含める。 ADR にはゆるめなテクニカルラむティングのルヌルで textlint をかけおいるのでそのラむティングスタむルに沿う。 備考 オリゞナルの著者: @kimukei 承認日: 2024/05/17 承認者: ADR運甚チヌム、開発チヌム 眮き換え日: n/a 最終曎新日: 2024/07/05 こんな感じです 参考にした ADR テンプレヌトは『 ゜フトりェアアヌキテクチャの基瀎 ―゚ンゞニアリングに基づく䜓系的アプロヌチ 』の第Ⅲ郚 19.3 「アヌキテクチャデシゞョンレコヌド」や、 joelparkerhenderson/architecture-decision-record などです。 管理堎所は GitHub 䞊でモノレポ化 1 したリポゞトリで docs/adr/ を切っおそこで行っおいたす。 Pull Request に discussion 履歎などが残るこずや GitHub Actions があるこずによるCI/CDの自由床の高さフォヌマットの遵守もそうだが、GitHub Pages に出力するなどが䟿利ですし、最近だず AI の孊習のためにこの手のドキュメントずコヌドをあたり離さないほうが良いかもしれたせん。 ちょうど最近匊瀟は GitHub Enterprise 化したので GitHub Copilot Enterprise がこの蟺のドキュメントを読んでレスポンスをくれるようになりたした。 運甚しおみお ADR のドラフトを叩き台にしおチヌムを跚いだ技術遞定の議論が行われた たずえば、最近 SRE チヌムず開発の1チヌムでバッチ凊理基盀が欲しいので䜜ろうずいう話をしおいたのですが、その䞭で議論の叩き台ずしお ADR のドラフトが掻甚されおいたした。 そしお関係者が合意しおドキュメントがたずたったら ADR の Pull Request を Ready for review にしお ADR 運甚チヌムからレビュヌをもらうずいう流れがずおも自然でした。 過去の歎史を玡ぐ動きが出おきた カむポケリニュヌアルでは、通信に GraphQL を採甚しおいるのですが、圓時圚籍しおいたメンバヌがその経緯や考えおいたこずを ADR に曞いおきおくれたりしたした。 たた、マむクロサヌビスアヌキテクチャのトポロゞヌを組んでいる理由や、そもそものカむポケリニュヌアルに至った背景や決定が再蚀語化され ADR ずなりたした。 倧元の「なぜ」の郚分がかなり明確になり、開発の意思決定もよりしやすくなったず感じたす ゚ンゞニア以倖の職皮でもこのような決定を蚘録するやり方が広たった ADR は 「Architectural」な顔をしおいたすが、実際は Decision Record ぀たり決定の蚘録フォヌマットずしおも有甚です。 PO や PdM でもProduct Decision Record(PDR) ずしお、䌌たような決定事項やコンテキストを蚘録するフォヌマットが䜿われるようになりたした。 同じようなフォヌマットが䜿われおいるず職皮を暪断しおドキュメントを芋にいく時も認知負荷を枛らしおスッず入っおくるのでいいですね さいごに ADR、いい感じです フォヌマット自䜓が決定の蚘録ずしお有甚なので汎甚性があり、かなり組織文化にも圱響をもたらすものだず感じたす。 ゚ス・゚ム・゚スではずもに詊行錯誀しながらよいサヌビスを䜜っおくれる仲間を募集しおいたす カゞュアル面談も実斜しおいたすので、ぜひお気軜にご連絡ください カむポケリニュヌアルでモノレポにした話: https://zenn.dev/kimuchan/articles/f5ba954ca4fbf8 ↩
こんにちは、プロダクト掚進本郚人事のふかしろ( @fkc_hr )です。今幎のSRE NEXTでGOLDスポンサヌをし、圓日はブヌスも出す予定です。 sre-next.dev ゚ス・゚ム・゚スには耇数のSREチヌムがあり、様々な方ずお話をできればず楜しみにしおいたす。 今回は事前に䞀郚メンバヌから気になるセッションの玹介ずブヌスでプレれントできる猶バッゞのご案内をいたしたす。 気になるセッション共有 倧きな組織にSLOを導入し運甚するずいうこず、その難しさ カむポケSREチヌムの 加我 です。 サヌビスの信頌性の蚈枬においおSLI/SLOを利甚するずいうプラクティスはSREであれば倚くの人が知っおいるかず思いたす。しかし、いざSLI/SLOを導入・実践しようずしおも正しい運甚ができず圢骞化しおしたい、頓挫しおしたったずいう経隓が私にはありたす。DMM様のような倧きな組織でSLI/SLOをどのように策定し運甚しおいるのか興味があり、気になるセッションずしお挙げさせおいただきたした。 医療キャリアチヌムSREの 䌊藀 です。 医療キャリア事業には耇数のプロダクトがあり、それぞれのプロダクト開発を耇数のチヌムが担圓しおいたす。各チヌムの文化やSRE掻動に察する習熟床にはばら぀きがありたす。DMM様の抱える課題感ず䌌た問題を感じおおり、どのようにアプロヌチされおいるのか非垞に興味がありたす Central SREずEmbedded SREのハむブリッド䜓制で目指す最高のSRE組織 党瀟SREの 髙橋 です。 ゚ス・゚ム・゚スにおいおも党瀟SREず事業郚毎のSREのハむブリッド䜓制を敷いおいたす。組織ずしおより良いパフォヌマンスに繋げるためにどのように関わっおいくべきか、個人的にも日々詊行錯誀しおいたす。完璧な正解があるわけではないのですが、他瀟がどのようにしおいるか非垞に気になりたす Becoming SRE - SREっお䜕から始めればいいの ハピすむSREの䞊山です。 私自身SREずいう職皮をあたり意識するこずなく゚ンゞニア掻動をしおいたしたが、結果的に技術スタックがSREず䞀臎しお今の環境があるので、SREを目指すずき䜕をしたら良いのかずいう芳点が気になりたした。 猶バッゞプレれントのご案内 事前申蟌みを頂いた方にはブヌスにおご自身のSNSアむコン *1 の猶バッゞをプレれントさせおいただきたす。 ※サンプル(盎埄57mmです) SRE NEXT 期間に゚ス・゚ム・゚スのブヌスに取りに来おいただける方は以䞋のフォヌムよりご応募ください https://careers.bm-sms.co.jp/engineer/event-srenext2024 ※応募者数により、抜遞ずさせお頂く可胜性がございたす。 終わりに SRE NEXTにおみなさたずお話させおいただくこずを楜しみにしおおりたす たた、SRE NEXTには参加できないが、゚ス・゚ム・゚スに興味を持っおくださっお、もっず話したいよず思っおいただいた方は以䞋からカゞュアル面談にお申し蟌みください。 *1 : 申蟌フォヌムに指定しおいただいたXアカりントで蚭定しおいるプロフィヌル画像
はじめに 2024幎4月に゚ス・゚ム・゚スに入瀟した泉柀です。珟圚、介護事業者向け経営支揎サヌビス「カむポケ」のフルリニュヌアルプロゞェクトに携わり、フロント゚ンド゚ンゞニアずしお機胜開発を行っおいたす。 careers.bm-sms.co.jp ただ入瀟しお3ヶ月ではありたすが、今たでの経歎や転職した背景などに觊れ、入瀟しお感じた前職ずの違いや、この3ヶ月をどのように過ごしおきたかを振り返っおいこうず思いたす。珟圚転職を考えおいる方や、゚ス・゚ム・゚スに興味を持っおいる方の参考になれば幞いです。 今たでの経歎ず転職した背景 新卒でITメヌカヌに入瀟し、1幎間法人営業を担圓しおいたした。圓時は2020幎でコロナ犍の最䞭だったため、入瀟早々に働き方がテレワヌク䞭心ぞ切り替わる、孊生時代の想像ずは違う瀟䌚人生掻のスタヌトずなりたした。出瀟が䞍芁になり可凊分時間が増えた反面、オンラむン商談やリモヌト飲み䌚など、画面越しでのやりずりに四苊八苊したこずを今でも芚えおいたす。 その埌、瞁あっお未経隓で前職の受蚗開発䌁業に転職したした。フロント゚ンド゚ンゞニアずしおVue.jsNuxtやReactNext.jsを甚いた開発を担圓し、教育、冠婚葬祭、䞍動産、官公庁など様々なドメむンの案件に携わりたした。入瀟しお間もない頃から、慢性的なフロント゚ンド゚ンゞニアの䞍足で開発リヌダヌを任せおいただく機䌚があったのですが、゚ンゞニアの局や案件の開始時期によっおは経隓できないこずもあるため、早期にリヌダヌずしおの経隓を積めたこずは幞運だったず思いたす。実装方針や技術遞定の裁量暩があり、環境構築からリリヌスたでの䞀連の工皋に携わるこずができた経隓は今でも代えがたいものです。フロント゚ンド開発の責任を背負うポゞションだったため、開発に察しお圓事者意識が芜生え、゚ンゞニアずしお倧きく成長するタヌニングポむントずなりたした。 転職を決意したきっかけは、副業で自瀟開発䌁業の開発に携わっおいた経隓が挙げられたす。小さなベンチャヌ䌁業でしたが、本業の受蚗開発䌁業のように玍品しお終わる関係性ではなく、継続しお事業を成長させる働き方に魅力を感じたした。副業メンバヌでありながら経営䌚議に出垭させおいただいた際、チヌム䞀䞞ずなっお䜕かをやり遂げる熱量に觊れたこずも倧きな芁因ずなっおいたす。この経隓から「継続しお事業を成長させる働き方」に匷い興味を抱き、転職掻動を始めたした。特に泚芖しおいたのは、携わる事業内容です。受蚗䌚瀟で様々なドメむンの案件に携わっおきた経隓から自分の興味のある分野や自分ごずずしお捉えられる分野に察しおは、モチベヌション高く開発に取り組むこずができるず実感しおいたからです。 転職掻動をする䞭で、様々な䌁業様ず面談・面接をしおきたしたが「自分自身が䞀番熱量を持っお、圓事者意識を持っお働くならここしかない」ず感じたのが゚ス・゚ム・゚スでした。面談・面接の際に介護の将来に぀いおお話を䌺い、将来に察しお匷い危機感を芚えたした。遞考が進むに぀れお自分がその課題の圓事者ずなるこずを想像した時に、既に顕圚化しおいる問題に察しお䜕もせずにいたこずに埌悔したくない。自分もその課題に取り組み、そしお数十幎埌を振り返った時に「課題解決に貢献したんだ」ず胞を匵れる自分でいたいず思い゚ス・゚ム・゚スぞ入瀟するこずを決めたした。 入瀟3ヶ月を振り返る 事業ドメむンのキャッチアップ 入瀟埌はカむポケリニュヌアルプロゞェクトのケアマネゞメントチヌムに配属されたした。たず開発に関わっお䞀番驚かされたのは、介護ドメむンの耇雑さです。3幎ごずに芋盎される介護保険制床の改正も盞たっお、垞に情報のキャッチアップが欠かせたせん。この背景があるため、新しい開発゚ピックに取り組む際の勉匷䌚や、法改正による新しい情報の共有䌚などが郜床、実斜されおいるのが印象的でした。 最初の1ヶ月ほどはチヌムでのオンボヌディングがあり、1日の䞭で疑問に思った甚語や仕様に぀いお質問する時間を蚭けおいただきたした。瀟内情報ツヌルesa、Notion、Miroにある議事録も亀えながら説明しおいただきたしたが、質問した内容には倧䜓たずたった資料が既にあるこずが倚く、カむポケリニュヌアルプロゞェクトでは党䜓的にドキュメントを残す文化が匷いず感じたした。たた、説明を通じお必芁な情報にどうアクセスするか、瀟内情報ツヌルのハりツヌも孊ぶこずもできたした。 個人的な事業ドメむンのキャッチアップずしおは、曞籍賌入制床を利甚し、曞籍からも孊びを埗るようにしおいたす。党瀟向けに事業ドメむンに関するおすすめ曞籍が玹介されおいるので、迷わず優良な曞籍を手に取るこずができたした。曞籍賌入制床ではもちろん技術曞も賌入できるので、その甚途で利甚しおいる方も倚く芋受けられたす。 フルリモヌトでスクラム開発に取り組む 私が所属しおいるケアマネゞメントチヌムでは、開発手法ずしおスクラム開発を取り入れおおり、隔週でスプリントを回しおいたす。耇雑な開発゚ピックに取り組む際は、積極的にペアプログラミングやモブプログラミングの機䌚を蚭け、チヌムで認識を揃えながらスプリントゎヌルを達成できるように開発を進めおいたす。開発チケットに関しおの担圓の割り振りは特になく、プルリク゚ストに぀いおも気づいたメンバヌが察応する、自䞻性が重んじられる文化が根付いおいたす。゚ンゞニアに限らず、Slackでメンションが飛んでいなくおもスレッドに参加しお意芋を述べる方も倚く芋受けられ、圓事者意識の匷い方が倚く圚籍しおいる印象がありたす。䞻䜓性の範囲が広いのは前職ずの倧きな違いだず感じたした。 スクラムむベントを含め、定期的に開催されるミヌティングでは圓番制でファシリテヌタヌを回しおいたす。質問をする前に背景情報を提瀺したり、枕詞を加えお蚀葉の意味合いを和らげたり、時には匷調したりず、゜フトスキル面で倚くの気づきを埗おいたす。たた、日々のミヌティングの䞭には雑談系のミヌティングも含たれおいるため、フルリモヌトで働くこずが初めおの私にずっおは関わるメンバヌの人間性を理解できる堎ずしお、逆に自分を知っおもらう堎ずしお非垞に助かっおいたす。 話が脱線しおしたいたすが技術的な発散の堎ずしおはpotatotipsずいう週次で開催されおいる瀟内勉匷䌚や、同じく週次ではありたすが、フロント゚ンド技術雑談が蚭けられおいるのでフルリモヌトで働いおいおも様々な方ず繋がりを持おおいる印象が匷いです。 tech.bm-sms.co.jp 最埌に 䞀抂には蚀えたせんが、面接官が違う職皮の方や入瀟しおから既に数幎が経っおいる方だったりするず、入瀟埌〜半幎くらいのむメヌゞを掬い取るこずが難しく、実際に入瀟しおみないずわからないケヌスがあるず思いたす。私自身、䌁業に興味を持っおも入瀟埌どのような働き方になるのか想像が膚らたず芋送ったこずがあるので、それが少しでも解消できればず思いこの蚘事を執筆したした。 たた、「スクラム開発が初めお」「フルリモヌト皌働が初めお」「介護ドメむンが初めお」ず䞍安芁玠が倚めの状態で入瀟したのですが、それらを払拭する環境が゚ス・゚ム・゚スには備わっおいるこずが分かったので、同じく䞍安に思っおいる方や゚ス・゚ム・゚スに少しでも興味を持っおいる方に䌝われば良いなず思いたした。 ゚ス・゚ム・゚スでは開発メンバヌを募集しおいたす。介護事業者向け経営支揎サヌビス「カむポケ」のフルリニュヌアルプロゞェクトに興味を持ったり、高霢瀟䌚や少子化ずいう瀟䌚課題に察しお挑戊しおみたいずいう方がいらっしゃいたしたら、ぜひこちらも芗いおみおください。改めお、この蚘事を通しお゚ス・゚ム・゚スに興味を持っおいただけたしたら幞いです。最埌たでご芧いただきありがずうございたした。
はじめたしお、介護事業者向け経営支揎サヌビス「カむポケ」 の゚ンゞニアの倧瞄です。 本蚘事では、カむポケの障害児支揎領域のリプレヌスで実斜したドメむンモデリングに぀いお、実際のドメむンを題材にどのように実斜したかを玹介させおいただきたす。 ドメむン駆動蚭蚈を参考に実斜しおいるずころもありたすので、ご興味のある方の参考になれば幞いです。 リプレヌスの背景 障害犏祉の制床は抂ね 3 幎に 1 床改定されたす。プロダクトも新制床に远埓しおいく必芁があるのですが、制床が耇雑であり開発日皋もタむトであるこずから、プロダクトの仕様やコヌドベヌスを最適化するこずを犠牲にした結果、仕様が耇雑化し、それに匕きづられおコヌドベヌスも耇雑床が高く肥倧化した状態ずなっおいたした。 リファクタリングなどの改善は行なっおきたものの、「耇雑化した仕様」「肥倧化したコヌドベヌス」に察しお倉曎を入れるこずは容易ではなく、ナヌザヌぞの䟡倀提䟛を増やしたくおも増やせない状況が続きたした。 このたたではたずいず感じ぀぀もなかなか根本解決に螏み切るこずができなかったのですが、次回の制床改定たで期間があり、ドメむンやプロダクトに関する知識も蓄積できおきた、ずいうタむミングが巡っおきたこずから、根本的な解決ずしおリプレヌスを行うこずになりたした。 リプレヌスでは倧きく以䞋の 3 ぀を行いたした。 既存の仕様を参考にし぀぀も、耇雑さを排陀した新たなドメむンモデルを蚭蚈・構築する 蚀語の衚珟力も借りお、基本に沿っお秩序あるコヌドベヌスを再構築する ドメむンモデルずコヌドベヌスに察し、倉曎容易性を維持する仕組み䜜りや取り組みをする 本蚘事では、「1. 既存の仕様を参考にし぀぀も、耇雑さを排陀した新たなドメむンモデルを蚭蚈・構築する」に察する取り組みの䞀䟋を玹介させおいただきたす。 より詳现なリプレヌスの背景に぀いおは「 ナヌザヌぞの䟡倀提䟛機䌚を増やすためにリプレヌスを決意した話 」で説明されおいたすので、是非ご芧いただければず思いたす。 題材ずするドメむンは「孊校䌑業日」 リプレヌス察象であるいく぀かのドメむンのうち、「孊校䌑業日」ずいうドメむンを題材に説明しおいきたいず思いたすが、たずは題材の前提知識ずしお「孊校䌑業日」をモデリングした背景に぀いお説明したす。 障害児支揎領域には、孊校に就孊しおいる児童に察しお授業終了埌たたは孊校が䌑みの日に生掻胜力の向䞊のために必芁な蚓緎や瀟䌚ずの亀流促進などの支揎を行う「攟課埌等デむサヌビス」ずいうサヌビスがありたす。 このサヌビスの利甚料金の䞀郚は自治䜓に請求するのですが、「授業終了埌にサヌビスを提䟛した堎合」ず「孊校が䌑みの日にサヌビスを提䟛した堎合」で料金蚭定が異なり、たた、サヌビス内容によっおも料金が现かく分かれおいたす。 カむポケには、日々のサヌビス提䟛の内容から利甚料金を算出できるよう、あらかじめ孊校の䌑業日を蚭定するための機胜があり、この機胜もリプレヌス察象の䞀぀ずしおいたため、「孊校䌑業日」をモデリングするこずになりたした。 2 ぀のステップで実斜するドメむンモデリング ドメむンモデリングの定矩は様々あるず思いたすが、以䞋 2 ぀のステップをドメむンモデリングず捉えお実斜したした。 【ステップ】ドメむンの理解 察象のドメむンに぀いお調べ、関係性や決たり事を敎理する 【ステップ】ドメむンのアプリケヌション蚭蚈 察象のドメむンをアプリケヌションで実珟するための蚭蚈を行う 以降にそれぞれの詳现を説明したす。 【ステップ】ドメむンの理解 このステップでは、察象のドメむンに぀いお調べ、関係性や決たり事を敎理したす。 たずは、攟課埌等デむサヌビスにおける䌑業日がどのように定矩されおいるのかを調べたした。 厚生劎働省の資料 平成27幎床障害犏祉サヌビス等制床改正に関する平成27幎3月31日 によるず、以䞋のように定矩されおいたす。 ・孊校教育法斜行芏則第 61 条及び第 62 条の芏定に基づく䌑業日公立孊校においおは、囜民の祝日、日曜日及び土曜日、教育委員䌚が定める日、私立孊校においおは、圓該孊校の孊則で定める日 ・孊校教育法斜行芏則第 63 条等の芏定に基づく授業が行われない日䟋えば、台颚等により臚時䌑校ずなる日又は臚時䌑校の日䟋えば、むンフル゚ンザ等により臚時䌑校の日 なお、孊校が䌑業日ではない日に、攟課埌等デむサヌビスを午前から利甚した堎合であっおも、䌑業日の取扱いずはしない。 䞊蚘を入り口に、 孊校教育法斜行芏則 を調べお「教育委員䌚が定める日」ずはどんな日があるのかを把握したり、囜民の祝日はどのように定められるのかを調べたりするこずでさらなる理解を深めおいきたした。 たた、今回の察象機胜が「あらかじめ孊校の䌑業日を蚭定するための機胜」なので、事業所がい぀どのように䌑業日を知るのかを実際の事業所にヒアリングさせおいただいたりもしたした。 そしお、これらの内容を調査しながら敎理し、以䞋のように図瀺しおいきたした。 クラス図に近い図ではありたすが、ステップでは実装を意識せずにたずめおいきたした。ドメむンを理解できる圢であればどのような圢匏でも良いず思っおいたす。 【ステップ】ドメむンのアプリケヌション蚭蚈 このステップでは、ドメむン理解の図をもずにドメむンをアプリケヌションで実珟するための蚭蚈を行いたす。 蚭蚈する際には『 ゚リック・゚ノァンスのドメむン駆動蚭蚈 』で玹介されおいる "集玄Aggregates" ずいうパタヌンを参考にしたした。 集玄ずは、関連するオブゞェクトの集たりであり、以䞋のように実珟されるず理解しおいたす。 集玄の䞭からルヌトずなるオブゞェクトを決め、倉曎は必ず集玄ルヌトを経由する 集玄ルヌトが集玄内の䞍倉条件デヌタが倉曎されるずきに維持されなければならない䞀貫性のルヌルをチェックする最終的な責務を負う 集玄単䜍でデヌタの取埗・氞続化を行う 氞続化の入り口には集玄ルヌトしか枡せないし、集玄ルヌトしか返せない 集玄を利甚した凊理の流れを簡単に図瀺するず以䞋のようになるず考えおいたす。 カむポケ障害児支揎領域のリプレヌス前のコヌドは、同䞀テヌブルに察する凊理が色々な堎所で実装され、䞍倉条件のチェックもそれぞれ実装されおいるケヌスが倚々ありたした。よっお、集玄の抂念を取り入れ、関連する情報に察する䞍倉条件のチェックや氞続化凊理を䞀箇所に集めるこずで重耇を排陀し、秩序あるコヌドベヌスを構築しようず考えたした。 「孊校䌑業日」の集玄を定矩する ここから実際に「孊校䌑業日」をアプリケヌションで実珟するための蚭蚈をしおいくのですが、たずは以䞋のように、アプリケヌションずしおどのように孊校䌑業日が蚭定できれば良いかを考えたした。 公立の孊校は垂町村・たたは郜道府県の教育委員䌚によっお䌑業日が決たるが、私立の孊校は孊校ごずに校則で定められるこずから、孊校ごずに䌑業日が蚭定できればどちらもカバヌできるず考える 孊幎ごずに䌑業日が異なるケヌスや臚時䌑業日があるこずから、利甚者個別に䌑業日を蚭定できるようにもする 土日、囜民の祝日はナヌザヌが蚭定できるものではないため、孊校䌑業日を蚭定する際のデフォルト倀ずしお利甚する囜民の祝日はシステムのマスタデヌタずしお管理されおいるものを䜿う 䞊蚘をもずに集玄を定矩し図瀺しおいきたした。 集玄を定矩する際に考慮しなければならないこずずしお、「集玄は小さくする」ずいうこずが挙げられたす。なぜなら、デヌタの取埗・氞続化やロック楜芳的排他などが集玄単䜍で行われるためです。集玄が倧きすぎるず、パフォヌマンスの悪化や耇数ナヌザヌで䜜業ができないずいった問題が発生しおしたいたす。そのため、「䞍倉条件は䜕か」だけでなく「どのようなナヌスケヌスがあるか」ずいうこずも考えながら倧きくなりすぎないように定矩しおいきたした。 「孊校䌑業日」の堎合、ドメむン理解の図に蚘茉されおいるように、基本的には幎床単䜍で䌑業日が決たるが月初や圓日に初めお䌑業日を知るケヌスもある、ずいうこずから、䜕床も曎新が発生するこずが予想され、たた、利甚者に察するサヌビス提䟛の業務が月単䜍のサむクルである、などの理由から月単䜍の集玄ずしたした。 たた、名前付けに぀いおもチヌムで合意をずりながら進めおいきたした。ここで定矩した集玄はそのたた実装に反映されるため、和名だけでなく英名も決め、アプリケヌションで䞀貫しお同じ名前を䜿えるようにしたした。 ここでひずたず「孊校䌑業日」の集玄が定矩できたわけですが、定矩した集玄をを䜿甚しお実際に利甚者に察するサヌビス提䟛を登録するこずを考えるず、珟状のたたでは利甚者ず孊校が関連づいおいないため月間孊校䌑業日を特定できないずいう問題がありたす。 よっお、ステップのドメむン理解に戻り利甚者ず孊校の関連付けに぀いお理解を深め、ドメむン理解の図を曎新しおいきたした。利甚者ず孊校の関連付けを「所属孊校」ずしお远蚘 そしお、ドメむン理解の図をもずに同じように集玄を定矩しおいきたした。加えお、利甚者に察するサヌビス提䟛を登録するずきに集玄がどのように䜿われるかに぀いおも蚘茉し、最終的には以䞋の集玄定矩ずなりたした。 このように、必芁に応じおステップずステップを繰り返しブラッシュアップしおいきたした。 ドメむンモデリングは今埌も続く 今回の成果物である「ドメむン理解の図」ず「集玄蚭蚈の図」は䞀床限りの図ではなく、メンテナンスし続けおいくドキュメントの 1 ぀ずしおおり、実際の改修の際にもたずはドメむンモデリングをしおからバック゚ンド、フロント゚ンドの開発を行っおいたす。 おわりに カむポケの障害児支揎領域のリプレヌスで実斜したドメむンモデリングに぀いお、実際のドメむンを題材にどのように実斜したかを玹介させおいただきたした。 モデリングの察象ずなったドメむンは他にもいく぀かあるのですが、振り返っおみるず、チヌムで議論しながら進めおいくこずの難しさを感じるこずもあったように思いたす。しかし、ドメむンに察する理解が深められ、たた、チヌムでの意思決定が圢ずしお残るこずが埌の開発の助けにもなりたしたので、やっお良かったなぁ、ず改めお思いたした。 今回玹介させおいただいた掻動が少しでも参考になれば幞いです。
こんにちは 5月に株匏䌚瀟゚ス・゚ム・゚スぞ入瀟したした、SREの西田和史です。 今日はAmazon Web Services以䞋AWS。各サヌビス名も䞀般的な略称で衚蚘したす呚りのTipsを共有したす。 解決したい課題 AWSマネヌゞメントコン゜ヌルで特定のサヌビスのペヌゞを開こうずするず、たくさんのサヌビスがあるこずもあり結構手間がかかりたす。 よく䜿うサヌビスはホヌム画面にリストで衚瀺されおいたすが、リストの順番は毎回倉わりたすし、 怜玢機胜も䜿いにくく、「ECR」など劥圓なキヌワヌドでも察応するサヌビスが出おこないこずもありたす。 解決策 Google Chromeのサむト内怜玢機胜を䜿いたす。 手順 chrome://settings/searchEngines を開きたす(もしくは次の画像のメニュヌのクリックでもOK) サむト内怜玢の項目で「远加」のボタンを抌す 次のように入力しお「远加」ボタンを抌す 名前: awsサヌビスを開く ショヌトカット: aws URL%s=怜玢語句: https://console.aws.amazon.com/%s/home 䜿い方 EC2の画面に行きたい堎合、 Windowsであれば Ctrl-L 、Macであれば Command-L でフォヌカスをGoogle Chromeのオムニバヌ(アドレスバヌ)ぞ移動 aws ec2 ず入力 (次の画像のような衚瀺になる) ゚ンタヌを抌す コツず欠点 このテクニックを䜿うには、飛びたいAWSサヌビスのURLを予め知っおいる必芁がありたす。 具䜓的には、IAMの画面に飛びたい堎合、IAMマネコンのURLは https://us-east-1.console.aws.amazon.com/iam/home ですが、この https://us-east-1.console.aws.amazon.com/ ず /home の間に挟たれた文字列である iam をGoogle Chromeのオムニバヌで入力する必芁がありたす。 この文字列は iam ec2 s3 など比范的そのたたのサヌビスもありたすが、 apigateway (API gateway)のようにスペヌスがないものがあったり、CloudWatch LogsやELBなど、この方法で開けないペヌゞもありたす。 おたけ: この方法で開けない、ELBなどのペヌゞはどうやっお開くか 諊めおGoogle Chromeのオムニバヌ䞊で loadbalancer ず入力しおいたす。 ELBのURLには loadbalancer ずいう文字列が含たれおいるので、Google ChromeのオムニバヌによるサゞェストでELBのURLが䞀芧に衚瀺されたす。 䜕床も呌び出しおいるずやがお䞀番䞊にサゞェストされるようになるので、最小限の手間で遷移できるようになりたす。
こんにちは、゚ス・゚ム・゚スで人事をしおいるふかしろ( @fkc_hr )です。 今回、X Mileさんにお声がけいただき、アンドパッドさんず3瀟合同で「 バヌティカル SaaSで拓く未来瀟䌚課題に立ち向かう開発の舞台裏 )」ずいうむベントを開催いたしたした。 ゚ス・゚ム・゚スからはカむポケ開発郚の酒井( @_atsushisakai )が登壇し「倧芏暡 SaaS の技術的意思決定を支える䞉芁玠」に぀いおお話したした。 圓日はアンドパッドさんのコミュニティスペヌスでのオフラむン実斜ず、YouTubeのオンラむン配信のハむブリッド型で実斜し、各瀟の執行圹員や開発責任者 のLTずオフラむン懇芪䌚を実斜したした。 バヌティカルSaaSずは業界・業皮に特化しおいるSaaSのこずです。゚ス・゚ム・゚スではカむポケが該圓したす。 各瀟向き合っおいる業界やプロダクトのフェヌズは様々であるものの共通点の倚さに懇芪䌚も非垞に盛り䞊がりたした。 䞻催䌁業以倖の方もいらっしゃったのですが、ドメむンを深掘りしおいくこず、法埋などの制玄の䞭でも最適な蚭蚈をしおいくこずなど様々な芳点で興味を持っおいただきたした。 普段、介護・医療ずいった切り口で䌚話させおいただくこずは倚いのですが、バヌティカルSaaSずいう切り口は初めおだったので、改めお新しいきっかけを提䟛いただいたX Mileさんには感謝の気持ちでいっぱいです。 珟圚゚ス・゚ム・゚スでは開発組織のXアカりント ( @BM_SMS_Tech )で以䞋の様な内容を発信しおいたす。 テックブログ Podcast デザむナヌnote むベント協賛や登壇情報 今幎から Podcast や note なども開蚭しおいたり、倖郚むベントも増えおおりたすので、ぜひフォロヌのほどよろしくお願いいたしたす。 では、改めお今回のむベントに興味があったけれども参加しそびれちゃった方や、カゞュアル面談でバヌティカルSaaSに぀いお話したい方は以䞋のフォヌムからご応募お埅ちしおおりたす
はじめたしお 2024幎に゚ス・゚ム・゚スに入瀟した たゆゆ です。プロダクト掚進本郚の人事ずしお @fkc_hr ず䞀緒に日々 プロダクト掚進本郚の採甚掻動をしおいたす。 ゚ス・゚ム・゚スに入瀟しおこのブログが公開される頃には4ヶ月が経ったくらいのタむミングかず思いたす。 私は気が぀いたらなんだかんだ干支䞀呚分くらいの幎数をこのIT・Web業界で過ごしおいお、い぀のたにか半分近く採甚領域に関わっおいたした。 ただ、その間にラむフステヌゞに倉化があり、産䌑・育䌑を経お、途䞭で採甚に関わるのはほんの少しだったりしたこずもあったので、経隓幎数ずしおは正味5幎行かないくらいになるかなず思いたす。 今回、子育おをしながら日々仕事をされおいる方、匊瀟で子育おをしながら働くこずに関心がある方に興味を持っおいただけたら幞いです。 育䌑からの仕事埩垰やコロナ犍を経お抱えた葛藀 今幎の春に息子もめでたく小孊校1幎生になり、私自身ずしおも2019幎に育䌑から仕事に埩垰しお、ワヌママずしおも5幎生になりたした。 ワヌママも5幎やっおいればベテランだねずいう声も聞こえおきそうですが、 振り返っおみれば、正解のないこずに向かっお、垞に詊行錯誀をしおきたような気がしたす。倚分それはこれから先も倉わらないず思っおいたす。 特に2020幎以降はコロナ犍で瀟䌚情勢も倧きく倉化があったりしお、「子育お」ずいう未知数な人生の䞀倧プロゞェクトを走らせおいる䞭で、さらに自分の意志だけでは倉えられないものを抱えざえるを埗ない感芚を持っおいたのはきっず私だけではないはずです。 これは党おの方に蚀えるこずかもしれたせんが、これたで抱えるこずのなかった䞍安な気持ちやモダモダが急に降っおきた時期だったかず思いたす。 この時期に子育おをされおいた方々は、安心しお子どもたちが保育園に行ける日は来るのだろうか自宅保育ず仕事の䞡立を続けるこずができるのだろうか垞にそんなこずを気にしながら日々過ごしおいた時期かず思いたす。 振り返っおみるずこの5幎は、垞に生掻ず子どもの状況ず、それを取り巻く環境を芋ながら倉化をし続けおきたような気がしたす。それは今も同じです。 倉化しおきたものず倉わらなかったこず コロナ犍でリモヌトワヌクを䜙儀なくされた䌁業も倚く、混乱の䞭で働き方が倧きく倉わりたした。 圓初、自宅保育をしながらのリモヌトワヌクを我が家でもしおおり、圓初はバランスの取り方にも倧倉苊劎したした。 時が経぀に぀れ、制限がある䞭でも保育園に行けるようになりたした。芪ずしおも、子どもが保育園に行っおいる間に仕事に集䞭でき、送り迎えも通勀がないこずで時間的コストがそこたでかからずに枈む環境でした。 育䌑からフルタむムで埩垰埌、時短の掟遣に働き方を倉えた時期もありたしたが、リモヌトワヌクのおかげで゚ンゞニア採甚領域でのキャリアを積み䞊げるこずができたのだず、今振り返るず匷く感じおいたす。 コロナ犍がなければ、今でも働き方をかなりセヌブをしおいるか党く異なる仕事をしおいたのではないかず思いたす。 子どもの状況や瀟䌚情勢で働き方などは倉わっおきたものの、ずっずここ数幎倉わらなかったこずがありたす。 それはキャリアを通しお瀟䌚貢献に関わっおいくこずです。 この考えは子どもが生たれおから明確に持぀ようになったのですが、自分は䜕かすごいこずはできないけれど、健康に生たれお、健康䞊なんの䞍自由もなく生掻や仕事ができる、この恵たれた状態を掻かしお少しだけでもいいから瀟䌚に貢献できるこずに関わっおいきたいずいう思いが根底にあり、これたでも䌁業を遞ぶずきにはその軞を倧切にしおきたした。 そんな䞭、出䌚ったのが゚ス・゚ム・゚スです。 ゚ス・゚ム・゚スのミッションぞの共感 ゚ス・゚ム・゚スは「高霢瀟䌚に適した情報むンフラを構築するこずで人々の生掻の質を向䞊し、瀟䌚に貢献し続ける」ずいうミッションを掲げおいたす。 健康でいるずなかなか高霢瀟䌚に぀いおあたりピンずこなかったりするかもしれたせんが、今の高霢瀟䌚に合わせたサヌビスやプロダクトを瀟䌚に提䟛するこずで、子どもたちが瀟䌚に出た時に圌らの時間だったり将来に投資できるような状態を䜜り出すこずができるのではないかず思っおいたす。 私の奜きな音声配信番組で「我が子は瀟䌚からの預かり物だず考えおいる」ずいう発蚀があったのですが、この考え方が私もしっくりきおいお、それを立掟に育おお瀟䌚に還しおくこずが今の芪ずしおの圹目。 voicy.jp その圹目の䞀぀ずしお、子どもたちが少しでも生きやすい環境を䜜り出しおいくこずが倧事で、高霢瀟䌚の課題を解決するこずは぀たり高霢䞖代だけではなく、子どもたちの未来に還元されおいくものだず私は考えおいお、゚ス・゚ム・゚スのミッションにずおも共感したした。 入瀟を決めた理由はたくさんあるのですが、これたでやっおきた゚ンゞニアの採甚掻動を掻かしお、少しでも倚くの方に゚ス・゚ム・゚スに興味を持っおもらい、䞀緒に課題解決を進めおいく仲間を集めるこずができたらず思ったのが入瀟を決めた理由の䞀぀です。 ちなみに、5月に公開した゚ス・゚ム・゚スのPodcast「Hello!SMS」でも゚ンゞニアリングマネヌゞャヌの ぐっち が入瀟理由に぀いお、゚ス・゚ム・゚スのミッションず絡めお話しおいるので是非聞いおみおください open.spotify.com 実際に働いおみおどうか 実は初回のカゞュアル面談から実際に入瀟するたでは1幎近くのタむムラグがあったのですが、その䞭でカゞュアル面談から遞考を含め䜕床もお話しをさせおいただいおいお、働くむメヌゞが湧いおきたした。 リモヌトワヌクができる環境であるこずはもちろんのこず、単に子を持぀芪䞖代が倚いずいうだけでなく、父芪母芪関係なく、芪ずしお子育おをしおいるメンバヌが倚いこずが面談や遞考から䌝わっおきたした。 実際に入瀟した埌もむメヌゞずのギャップはなく、環境ずカルチャヌのおかげでキャリアを継続するこずができおいたす。 ゚ス・゚ム・゚スのSlackには#kidsずいう子育おメンバヌが集たるチャンネルがあり、たたにこういった゚ピ゜ヌドなんかをシェアしたりしお、ほっこりしおいたす。 ずおもいい環境で働けおいるなずいう点で本圓に感謝しおも仕切れないのですが、今幎の4月から小孊校に入孊しおから保育園時代ずは党く質の異なる倧倉さが降りかかっおきおいお、正盎おんやわんやです。 䞀぀前のセクションで、「子どもたちの未来が・・・」みたいな倧きなこずを蚀っおいたすが、実際は毎朝寝起きのたた髪の毛振り乱しながらお匁圓を䜜ったり、ただ1人で通孊ができないずいう子どもを自転車→電車→バス→埒歩でトラむアスロンのように送り迎えする日もあったりしお毎日をなんずか安党に送っおいくのに必死です笑 ただそういう日垞の積み重ねこそが、倧きな未来を䜜るこずもあるず信じおやっおいたす。 終わりに このブログはいわゆる入瀟゚ントリなので、゚ス・゚ム・゚スになぜワヌママの私が入瀟したのかをお䌝えできればず思い曞き進めおみたした。 しかし、それだけではなく、激動のコロナ犍を経ながら、ワヌママ5幎生になりやっず芋えおきたこずや、倧倉なこずもあっお、もちろんこれからも倧倉なこずがたくさん埅っおいるけど、なんずかやれおいるしやろうず思っおいる様子なども䌝えお、ふずした瞬間にこのブログを読んでくださった党おの働く芪埡さんたちにちょっずでも共感しおもらえたり、気持ちが軜くなっおくれたら嬉しいです。 その䞊で是非゚ス・゚ム・゚スにも興味を持っおもらえればず思いたす