アプリケーション開発でもToilをなくそう!スリーシェイクのトヨタ事例で学ぶ、モダンな開発環境への道
【D-2】お客様のToilをなくすためのアプリケーション開発支援を始めました
効率的なアプリケーション開発や運用を実現するには、Toil(トイル:労苦)をなくすことが重要だ。トイルとは、自動化できるのに手動で対応しているようなタスクや繰り返し作業といった、長期的かつ戦術的に見ても価値がなく、エンジニアの負担にしかならない苦労の種を指す。スリーシェイクの佐藤慧太氏は、トイルの解消というSREのアプローチをアプリケーション開発に取り入れることでこうした課題を解消できると述べる。今回はスリーシェイクのトヨタ自動車での事例から、トイルのないアプリケーション開発環境の構築のヒントを探る。
トイルのないアプリケーション開発体制を整備する
DevOpsを実現するためのアプローチのひとつに、SRE(Site Reliability Engineering)がある。エラーバジェットを加味した効率的なシステム運用という切り口で語られるSREで、一見するとDevOpsとは関係ないように思えるが、実際はDevOpsの考え方を具体化し、運用や実装に落とし込むための方法論であり、開発も深く関わる考え方とスリーシェイクのSREエンジニア、佐藤慧太氏は述べる。
そのSREを実践する上で重要な目標に、Toil(トイル)をなくすという項目がある。トイルは、労苦の意味だ。Googleでは「手作業であること」「繰り返されること」「サービスの成長に比例して増加すること」などと定義している。
アプリケーション開発・運用におけるトイルとは何か。佐藤氏は主なトイルとして以下の3点を挙げる。
複雑な処理の修正
リファクタリングされていない複雑な処理をそのまま放置することにより、開発者の認知的負担が上がり、リリースサイクルが伸びてしまう可能性がある。
環境依存
特定の場所でしか起動しないような形で実装されている場合、動作確認の時間や使えるメンバーに限りがでてしまい、開発速度が低下してしまう。
不安定なE2Eテスト
E2Eテストが不安定な場合、新しいメンバーが機能を修正をする際に、動作保証ができず、修正によるものなのかそもそもの挙動なのかが判断つきにくくなってしまう。
これらのトイルに関して「処理が複雑なものを修正するのはバグ調査コストが高くなり、環境に依存するシステムでは開発のフィードバックサイクルが長くなる恐れがある」と佐藤氏は説明する。
トイルを解決するには、設計や実装を見直すことが近道になる。しかし、特に内製開発を始めたユーザー企業では知識や経験の不足から自力で解決するのは難しい。
そこでスリーシェイクが提供するのは、SREに基づき、技術戦略やサービスの設計、構築、運用までをワンストップで支援するサービス「Sreake」だ。ヒアリングでトイルを洗い出し、優先的に進めるべきタスクを整理。そして、顧客と伴走しながら課題解決に挑み、デモやハンズオン、ペアプログラミングによるスキルトランスファーなどを通じて、自走できるように支援する。ただ現時点の課題解決ではなく、将来的な運用を見据えたトイル排除と開発・運用体制の整備が目標と佐藤氏は言う。
この記事は参考になりましたか?
- Developers Summit 2023 Summer セッションレポート連載記事一覧
- この記事の著者
-
谷崎 朋子(タニザキ トモコ)
エンタープライズIT向け雑誌の編集を経てフリーランスに。IT系ニュースサイトを中心に記事を執筆。セキュリティ、DevOpsあたりが最近は多めですが、基本は雑食。テクノロジーを楽しいエクスペリエンスに変えるような話が好きです。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営する開発者のための情報メディアです。日々の開発に取り組むエンジニアやテクノロジーを学びたい方に向けて、プログラミングやAI活用、開発ツール、エンジニアの学びとキャリアに関する記事をお届けしています。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
提供:株式会社スリーシェイク
【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社
この記事は参考になりましたか?
この記事をシェア
