SREは、エンジニアリングプロジェクトの作業に時間をかけることを重視しています。作業時間を最適化する方法のひとつとして、トイルの削減は欠かせません。
トイルを削減できなければ、前向きな作業にかけられる時間が減るだけでなく、作業員の士気の減退やスキルアップの機会の減少などのデメリットがあります。
そこで本記事では、トイルの撲滅に欠かせないトイルの計測方法を3ステップで解説します。SREを導入したい企業様や、トイルにお悩みの企業様はぜひ最後までご覧ください。
なぜトイルは削減しなければならないか
トイルとは、サービスの提供に欠かせない作業の中で、自動化が可能であるにも関わらず手作業で行われているものを指します。
例えば手順書のコマンドをコピー&ペーストして実行するだけのような自動化できるような作業が当たります。
また、トイルは戦術的かつ長期的に価値の低い作業であり、サービスが成長するに連れて作業量が増すのが特徴です。
GoogleのSREでは、各人の作業時間のうち、トイルを50%以下にするよう目標が掲げられています。トイルを削減しなければいけない理由としては、次のようなものが挙げられます。
- 工数
トイルは、放置すると拡大し続ける傾向があります。そのため、意識的に削減しなければ作業に必要な工数は増え続けてしまいます。
- 士気向上
トイルは創造的な作業ではありません。そのため、トイルが増え続けると、作業員の士気が低下します。
- 割り込み削減
トイルの多くは、割り込みで発生する作業であることも特徴です。そのためトイルを削減することで、割り込みのタスクが減り、チーム全体の生産性向上が期待できます。
- プロセスの明確化
トイルを削減することで、プロセスが明確化される点もメリットです。各人による手作業ではトイルの処理に差異が発生する可能性がありますが、自動化すれば常に同じプロセスで処理できます。
- スキルアップの機会提供
トイルを削減することによって、特定の業務に対して必要な時間が減少します。トイルを削減することによって生まれた時間で、作業員にスキルアップの機会を提供できます。
- ヒューマンエラーの削減
人間が手動で行う作業には、ヒューマンエラーがつきものです。トイルを削減すると、ヒューマンエラーの削減につながります。
- コンプライアンス対策
トイルが多すぎると、作業員の不満が溜まり、モラルの低下を招きます。トイルを削減すると、潜在的にコンプライアンスの対策にも繋がります。
- ユーザーリクエストのレスポンス改善
トイルの削減によって、プロジェクトに割く時間が増えます。ユーザーからの要望や新規のエンジニアリング対応に注力できるようになり、システムの信頼性向上への活動時間の増加が期待できます。
このように、トイルを削減することにはさまざまなメリットがあります。
トイルを計測する3ステップ
トイルを削減するためにかける労力が適切なものなのか、トイルの削減が適切なものなのかを知るためには、トイルの計測が必要です。トイルの計測は、次の3ステップで行います。
- トイルを特定する
- トイルにより発生する人間の作業量の単位を決める
- 継続的に計測を追跡可能にする
ここでは、それぞれのステップについてやるべきことや注意点を詳しく解説します。なお、本記事は「サイトリライアビリティワークブック」の6章を参考にしています。
1.トイルを特定する
トイルを削減するために、まずはどの作業がトイルかを特定しなければなりません。「SRE サイトリライアビリティワークブック」によれば、次の特徴にひとつでも当てはまるものは、トイルの可能性が高いとされています。
- 手作業であること
トイルの最大の特徴は、手作業であることです。スクリプトを手動で実行する作業のように、ほとんどが自動化されていても、一部手動での作業が必要なものはトイルとみなす場合があります。
- 繰り返されること
手動で行う作業であっても、一度だけで終わるものならばトイルではありません。繰り返し何度も同じ作業を行わなければならない場合にトイルとみなします。
- 自動化できること
システムに任せ、自動化できる仕事であれば、その仕事はトイルの可能性があります。作業を行うのに人間の判断が欠かせない場合はトイルとは言えません。
- 戦術的であること
戦略的な作業ではなく、割り込みで突発的な作業が必要になるのがトイルの特徴です。エラーやアラートへの対処の中にも、トイルと呼ばれる作業が含まれています。
- 長期的な価値を持たないこと
タスクを終えたあと、サービスの状態が変わらない場合、その作業はトイルである可能性が高いと言えます。小さな変化であっても、何らかの恒久的な改善が見込める場合はトイルとは呼びません
- サービスの成長に対してO(n)であること
トラフィックの増加やサービスの成長にともなって作業量が増加する場合、その作業はトイルの可能性があります。
もちろん、上記の項目にあてはまる作業の全てがトイルというわけではありません。上記の条件を参考に作業を洗い出し、その中からトイルを特定します。
誰がトイルを特定するのが適切なのかは組織によって異なります。実際に作業を行う人やステークホルダーを中心に、さまざまな条件を考慮しながらメンバーを決定しましょう。
2.トイルにより発生する人間の作業量の単位を決める
トイルを特定したら、トイルを計測するために使う、人間の作業量の単位を決めます。例えば、時間は誰にとっても客観的でわかりやすい単位です。
作業をするのは人間であるため、通常業務からトイル、トイルから通常業務への切り替えには時間がかかります。切り替えにかかるコストも、忘れずに計測してください。
トイルによっては、時間以外の単位が適切な場合もあります。トイルの計測に使える単位には、例えば次のようなものがあります。
- 完了したチケット数
- メールの送受信数
- パッチの適用数
単位を決める際には、次のような点に注意する必要があります。
- 客観的であること
- 一貫性があること
- 十分に理解されるものであること
3つのポイントを満たしていれば、例として紹介されたもの以外の単位を用いても構いません。
3.継続的に計測を追跡可能にする
トイル削減の際には、作業前・作業中・作業後に継続的に計測を行います。このとき重要なのは、計測の作業をトイルにしないことです。
トイルを削減するための作業で、逆にトイルを増やしてしまっては元も子もありません。ツールやスクリプトなどを利用して、手間をかけずに計測できる方法を考えてみてください。
トイルの計測や追跡は弊社スリーシェイクにご相談ください
ここまで、トイルの計測について解説しましたが、上記はあくまで基本的な考え方です。具体的なトイルの計測や追跡には、監視ツールの適切な導入と運用が欠かせません。
とはいえ、「どのようなツールが適切なのかわからない」「具体的な運用方法が知りたい」という企業様もあるのではないでしょうか。
弊社スリーシェイクでは、トイルの計測や監視について、より具体的なレベルでご支援させていただきます。SREをはじめる企業様、SREの活動をより高めたい企業様は、ぜひお気軽にお問い合わせください。
サービス詳細や料金についてのご質問・ご相談などお気軽にお問い合わせください
サービスのメリットや紹介テキスト
金融・医療・動画配信・AI・ゲームなどの様々な領域での実績から、最適な課題設定と解決策を提示します。
SreakeではSREや関連する情報を発信していきます。