見出し画像

#140 フルサイクルエンジニア② ~星野リゾートから学ぶ、高負荷マルチタスクとの付き合い方~

こんにちは。ITベンチャーエンジニアのこへいです。

昨日は、「事業をエンジニアリングする技術者たち」という本で紹介されているフルサイクルエンジニアと星野リゾートのサービスチームと共通点が多いということを述べさせていただきました。

いずれも共通しているのは、顧客に価値を提供する一連のサイクルに一つのチームが関わることで、より良い解決策をより早く提供できるということだと理解しています。

今日はフルサイクルエンジニアチームが、マルチタスクによる高負荷状態とどう付き合っていくかということについて考えます。

〇フルサイクルは高負荷なマルチタスクである

フルサイクルエンジニアのマルチタスク

"開発したものが運用する"というアプローチでは、システムを開発するチームが運用とサポートにも責任を持つことでdevopsの原則を実践する。責任を外部化するのではなく開発チームに与えることで、ダイレクトなフィードバックループと共通のインセンティブを持つことができるのだ。

Netflixにおけるフルサイクル開発者―開発したものが運用する より


と、表現されるようにフルサイクルエンジニアは開発、運用、サポートにも責任を持ちます。

私でいうと、例えば新規開発案件のプロジェクトをリードしながら自身でも開発をし、システムの運用をしつつ顧客からの改善要望に応えたり、自分達の運用を改善するための施策を考え実行していく。という仕事をしています。採用や若手の育成なども行っています。

関係者も多く、コンテキストの切替が頻繁に発生するため、かなり負荷が高い状況で仕事をすることになります。

星野リゾートのサービスチームのマルチタスク

サービスチームは、運営に関わるすべての業務を分断せず、商品開発(構想)から商品提供(実行)まで一貫して担当することを特徴としています。
基本業務は、フロントサービス、レストランサービス、客室清掃、調理であり、これらをマルチタスクで行うことで、多くの顧客接点を持つことができます。

星野リゾートの経営戦略  より

と、こちらも多くのタスクをこなすことになります。

あんでぃさんの記事でも、いくつもの業務を習得するキャッチアップの大変さなど、マルチタスクの負荷について触れられています。


〇マルチタスクによって得られるもの

"開発したものが運用する"というアプローチでは、システムを開発するチームが運用とサポートにも責任を持つことでdevopsの原則を実践する。責任を外部化するのではなく開発チームに与えることで、ダイレクトなフィードバックループと共通のインセンティブを持つことができるのだ。

Netflixにおけるフルサイクル開発者―開発したものが運用する より

サービスチームは、運営に関わるすべての業務を分断せず、商品開発(構想)から商品提供(実行)まで一貫して担当することを特徴としています。
基本業務は、フロントサービス、レストランサービス、客室清掃、調理であり、これらをマルチタスクで行うことで、多くの顧客接点を持つことができます。

星野リゾートの経営戦略  より

Netflixでは『ダイレクトなフィードバックループ』、星野リゾートでは『多くの顧客接点』とマルチタスクによって優位性のある価値を提供できると考えています。

システム開発ではエンジニアが顧客と直接やりとりすることで、スピード感のある対応ができることは顧客から喜ばれます。

また、私は星野リゾートに宿泊させていただいたことがあります。チェックインを担当して下さった方が食事の際のサーブもしてくださるなど一貫して同じ方に対応いただくことで親近感が湧き、ちょっとしたコミュニケーションの心地よさが印象に残っています。

高負荷が伴うマルチタスクによって、クオリティの高いサービスを提供できることには納得できます。

〇フルサイクルを実現するためのポイント

では、この高負荷なマルチタスクをどのように実現すればよいのでしょうか?

『めっちゃハードワークする』という方法もあります。
が、それでは継続的にクオリティの高いサービスを提供しながら成長し続けることは困難なのは自明です。

フルサイクル開発者はソフトウェアライフサイクルの全ての分野において知識があり効果的であることが期待される。多くのNetflixの新入社員は自分が経験の浅い分野にも挑戦することになる。そのため知識の習得やスキルアップのための開発ブートキャンプと継続的トレーニングが用意されている。しかし知識だけでは十分ではない。容易に扱うことができるデプロイパイプラインツール(e.g. Spinnaker)やモニタリングツール(e.g. Atlas)も効果的なフルサイクルオーナーシップには必須なのだ。

Netflixにおけるフルサイクル開発者―開発したものが運用する より

Netflixではこのように、キャッチアップを促す仕組みや、一つ一つの作業負荷を軽減するツールなどを整備することで、マルチタスクの負荷軽減を行っています。

星野リゾートでは、マルチタスクの負荷をスタッフの理解度でカバーしているとのことです。サービスチームを推進することの価値をスタッフが理解し納得できるような定期的なグループワークなどを用意し、サービスチーム化が進み具合を評価指標として導入しているようです。すごい!!

私もキャッチアップコストを下げるためのドキュメント活用やオンボーディングの整備に力を入れています。

しかし、運用負荷を下げるツールの整備や、フルサイクルエンジニアであることの理解度・納得度を高めるような組織運営など、ハード面・ソフト面いずれもまだまだ改善の余地があることが、Netflixや星野リゾートの取り組みから学べました。


ということで、2社の取り組みから非常に良い学びを得られましたので、引き続きチーム運営の改善に取り組んでいきたいと思います。
最後までお読みいただきありがとうございました。


いいなと思ったら応援しよう!