Upgrade to Pro — share decks privately, control downloads, hide ads and more …

デンソーデジタルイノベーション室SREチーム物語(スクラムは多能工というけれどやっぱり専門性が...

susumutomita
September 26, 2020

デンソーデジタルイノベーション室SREチーム物語(スクラムは多能工というけれどやっぱり専門性が求められるよね) / di-sre-story

デジタルイノベーション室SREチームはスクラムチームを支援するために立ち上げられた
スクラムではエンジニアは多能工のはずなになぜSREチームが必要だったのか
SREチームは1つのチームでは拾いずらい課題解決を担う
SREチームは他のチームで得た知見を、先回りして伝える
SREチームのメンバーも実は多能工
SREチームの活動で心がけていること
SREチームで実際にやってきたこと
リモートワーク中心の働き方になって見えてきた課題とその解決方法

susumutomita

September 26, 2020
Tweet

More Decks by susumutomita

Other Decks in Programming

Transcript

  1. © DENSO CORPORATION All Rights Reserved. Who is a speaker

    2 冨⽥ 進 Susumu Tomita デンソー デジタルイノベーション室 Site Reliability Engineering(SRE) team Software Engineer ⽇⽴製作所->Hitachi Data Systemsを経て 2018年 デジタルイノベーション室に興味を持ちデンソーへ⼊社 コロナ渦でのリモート環境や 統合認証基盤の整備などもやっています https://codezine.jp/article/detail/11391
  2. © DENSO CORPORATION All Rights Reserved. Scrum Fest Mikawa 2020

    / Susumu Tomita / Digital Innovation, SRE Team 3 1. デジタルイノベーション室SREチームについて 2. SREチームの活動について 3. リモートワーク中⼼の働き⽅になって⾒えてきた課題とその解決⽅法 Agenda
  3. © DENSO CORPORATION All Rights Reserved. Scrum Fest Mikawa 2020

    / Susumu Tomita / Digital Innovation, SRE Team 4 デジタルイノベーション室SREチームについて 1
  4. © DENSO CORPORATION All Rights Reserved. ⾃動⾞業界100年に1度の⼤変⾰期 〜ルール変化、評価軸変化の時 期〜 5

    C A S E M Connected (繋がる→⾶躍的価値向上) Autonomous (⾃動運転) Sharing (所有から利⽤へ) EV (電動化) MaaS (サービスとしての移動⼿段の提供)
  5. © DENSO CORPORATION All Rights Reserved. デンソーが公表している取り組み事例 (2018年~2020年) 6 デンソー、クアルコムテクノロジーズと次世代コックピットシ

    ステムの共同開発を開始 2020年1⽉7⽇ デンソーとNTTコミュニケーションズ、⾞両向けセキュリティ オペレーションセンター(⾞両SOC)の実現に必要な技 術検証を開始 2019年12⽉16⽇ 世界のモビリティに⾰新を与える半導体開発に向け、新 会社「MIRISE Technologies(ミライズ テクノロジーズ)」 始動へ 2019年12⽉10⽇ グローバルモビリティサービスとデンソー、インドネシアでコー ルドチェーンの実証事業を開始 2019年9⽉30⽇ 訪⽇外国⼈向け観光型MaaS「くるり奈良」実証実験を開始 2019年9⽉20⽇ デンソーとBlackBerryが共同開発した統合コックピットシステム 「Harmony CoreTM」、今秋から北⽶で販売開始のSUBARU 新型レ ガシィ/アウトバックに採⽤ 2019年9⽉11⽇ マイクロモビリティのシェアサービスを提供するBond Mobility (ボン ド・モビリティ)に出資 2019年5⽉2⽇ トヨタ、デンソー、ソフトバンク・ビジョン・ファンド、Uber Advanced Technologies Groupに10億ドルを出資 2019年4⽉19⽇ デンソー、「フリートオペレーションサービス mobi-Crews」を販売開始 2019年1⽉17⽇ アイシン、アドヴィックス、ジェイテクト、デンソー、⾃動運転の普及に 向けた統合制御ソフトウェア開発の合弁会社を設⽴ 2018年12⽉26⽇ デンソー、⽻⽥空港跡地に⾃動運転技術の試作開発、実証を ⾏う新拠点を開設 2018年10⽉31⽇ 引⽤; 株式会社デンソー ニュースリリース https://www.denso.com/jp/ja/news/news-releases/
  6. © DENSO CORPORATION All Rights Reserved. 9 組織横断で変⾰を推進するDI室の位置づけ 事業部A 事業部B

    プロジェクトC お客様D お客様E DI室 DI室 構想 デザイン/計画 開発 運⽤ 維持保守 DI DI DI DI DI DI DI
  7. © DENSO CORPORATION All Rights Reserved. 開発⼿法として代表的な⼿法の⼀つであるスクラムを採⽤ 10 スクラム開発チーム プロダクトオーナー

    (PO): ビジネス⾯での意思決定者 様々なステークホルダーの意⾒を取 りまとめ、開発について最終決定権 限を持つ。 デベロッパー (DEV): システム開発者 フルスタックITエンジニア(多能⼯) スクラムマスター (SM): チームの開発のプロセス管理者 シニアマネジメント ユーザー、カスタマー マーケティング、セールス デベロッパー スクラムマスター プロダクトオーナー Amazon ジェフ・ベゾスCEO⽒ 「2枚のピザ理論」 対話や意思決定の効率を⾼めるために、開発チームは多くても7名かつ専任
  8. © DENSO CORPORATION All Rights Reserved. スクラム開発の進め⽅ ユーザーストーリーマッピング 11 全体像の把握「ユーザーストーリーマッピング」・・・ホテルの予約サイトの例

    …提供価値 必要かも 最低限必要 MVP …必要機能 …構成要素 予約をして 宿泊ができる 空き状況を 把握できる 申し込みが できる 予約サイトを ⾒つける ⼈数/部屋検 索できる 希望を出す 結果が すぐにわかる 結果が 1⽇後にわかる OK/NGの結 果を知る ⽀払が できる 現地⽀払を 明記 場所が わかる 住所がわかる 地図で 場所がわかる サイト内で 表⽰ メールで 受け取れる カード⽀払が できる 対象の説明を ⾒られる 写真を⾒れる 価格を 確認できる ⼈数/部屋で検 索できる 価格帯で 検索できる 条件を 提⽰できる 変更/キャンセル ができる 変更/キャンセルが できる(即時) 予約できる 部屋を知る 駅からの 経路がわかる 申し込みを 受理できる 結果を ⼊⼒できる 申込者が 把握できる。 予約可の 内容を⼊⼒で きる。 メールアドレスを 把握できる。 メール送信が できる。 価格帯で 検索できる お客様 ホテルの 管理者
  9. © DENSO CORPORATION All Rights Reserved. 12 スクラム開発の進め⽅〜 バックログ(やることの明確化) …提供価値

    …必要機能 …構成要素 …必要最低限 プロダクトバックログ スプリントバックログ To Do Doing Done 1 2 3 4 5 1 2 3 4 5 6 7 8 9 10 11 12 13 週単位の内容を管理 優先順位を管理 (毎週修正) 必要かも 優先度が⾼い 今週実現すること 来週実現すること(仮) それ以降で 実現すること(仮) 曖昧さを無くし 明確な完了の定義 曖昧なまま (変更がある前提) ユーザーストーリーマップ ・ アイテムの実現に必要な 開発タスクの明確化 ・ 全体の進捗管理 計画を 把握 できる 全体像と 進捗を把 握できる
  10. © DENSO CORPORATION All Rights Reserved. 13 スクラム開発の進め⽅ スプリント (開発の期間)

    スプリントレビュー ・ 開発内容(成果)の共有 (関係者からのフィードバック⼊⼿) ・ プロジェクト全体の⽅向性の共有 レトロスペクティブ ・ スプリント内の活動の振り返り (良かった点/改善すべき点) デイリースクラム ・ 毎⽇の進捗を共有 (問題有無の共有) 1週間 スプリント スプリントプランニング ・ 開発内容の決定 ・ 各タスクの明確化 ・ 必要な時間の⾒積もり ・ 開発項⽬のコミットメント スプリントバックログ スプリントプランに従い開発 イベントデー(例えば毎週⽔曜⽇) 開発作業⽇(例えば⽊曜⽇〜⽕曜⽇) 動く プロダクト を⾒せる 上から順に実施 ※多能⼯が求められる所以 ユーザー、カスタマー 上から順 に開発す るので何 かしらのモ ノはできる
  11. © DENSO CORPORATION All Rights Reserved. 16 DI室SREチームはスクラムチームを⽀援する Siteの プロダクト

    Reliability実現するために 信頼性、性能効率性、セキュリティ Engineeringを活⽤して貢献する Cloud , Open Source, プログラミング DI室ではスクラムチームが開発と運⽤の主体 SREチームはスクラムチームと密に連携して以下を担う • 品質要件の定義と評価、改善⽀援 • 運⽤の要件定義と機能構築、オペレーション⽀援 • PaaS設計・構築⽀援 SREはGoogle社が提唱、実践しているシステム管 理とサービス運⽤の⽅法論であり役割 ENGINEERING能⼒を⾝に着けた運⽤チームがこ の役割を担う
  12. © DENSO CORPORATION All Rights Reserved. DI室SREチームは1つのチームでは拾いずらい課題解決を担う 1つのプロジェクトではROIが出ずらい課題 あるいは共通化することで効率が⾼まる課題 に取り組む

    具体例︓ • システム稼働環境の⾃動構築スクリプト開発 • 監視・アラート機能開発 • セキュリティ設計 • その他、ツールの整備 期待効果は⽣産性向上︓ 開発チームはサービス機能開発により多くの⼯ 数をかけることができる SRE SRE SRE スクラムチームに対して ⼀⼈以上をアサインする
  13. © DENSO CORPORATION All Rights Reserved. DI室SREチームは他のチームで得た知⾒を、先回りして伝える 1つのプロジェクトでは限定される経験(特に 不具合対応)から得た知⾒を横展開する 具体例︓

    • 信頼性問題を回避するための設計と評価の⽀援 • 性能問題を回避するための設計と評価の⽀援 • セキュリティ脆弱性を回避するための設計と評価の ⽀援 • 作業の⾮効率を解決するための運⽤機能設計と評 価の⽀援 • 環境制約に起因する問題を回避するための設計・ 評価の⽀援 期待効果はリスク低減: プロジェクトのリスクを早いタイミングで低減する ことができる SRE SRE SRE スクラムチームに対して ⼀⼈以上をアサインする
  14. © DENSO CORPORATION All Rights Reserved. DI室SREチームメンバーも多能⼯ 役割: • ITアーキテクト

    • ソフトウェアスペシャリスト • ネットワークスペシャリスト • プログラミングスペシャリスト • テストスペシャリスト • 運⽤スペシャリスト 経験︓ • ソフトウェア製品開発 • ソリューション提案 • システム構築 • システム運⽤監視 • インシデント対応 • システム障害対応 SRE SRE SRE スクラムチームと対等に議論するために SREにも様々なスキルが必要 • 開発できる運⽤ • 開発できるITアーキテクト • 開発できるセキュリティ専⾨家 • 開発できる品質保証部 • 開発できる・・・・・・・・・ SREチームメンバーのテクニカルバックグラウンド メンバーは⾃分の裁量で 他のメンバーに相談、⽀援依頼を⾏う
  15. © DENSO CORPORATION All Rights Reserved. Scrum Fest Mikawa 2020

    / Susumu Tomita / Digital Innovation, SRE Team 21 SREチームの活動例 2
  16. © DENSO CORPORATION All Rights Reserved. インフラに関する課題 22 v クラウドを使いこなすにもやはり専⾨知識が必要

    v 運⽤・保守も考慮したインフラ構成とするのはノウハウが必要 v Infrastructure as Code(IaC)の実践
  17. © DENSO CORPORATION All Rights Reserved. 実際にあった問題 23 v 仮想サーバーのSSHの22番ポートをインターネットへ公開した

    v 更新期限ギリギリまでSSL証明書の更新がされていなかったことに気づかな かった v 管理者権限を持つAWSのIAMユーザーを各開発者に発⾏してしまう
  18. © DENSO CORPORATION All Rights Reserved. 対策 24 v AWS

    Config,Amazon GuardDuty を利⽤したAWSに対する標準のセキュ リティ監視設定を整理AWSアカウント発⾏時にこれらの設定を必ず⼊れるよ うにする v 統合認証環境を整備してIAMユーザーによるAWSへのアクセスを禁⽌する v SREチームのAWS有識者がハンズオン形式の勉強会を主催
  19. © DENSO CORPORATION All Rights Reserved. インフラ構成の⼯夫 25 v インフラのリファレンスアーキテクチャの作成

    v PaaS,Auto Scalingするサービスを使う v 構成管理の⼿間を減らし、障害発⽣時にも⾃動復旧させる仕組みを使う v AWSの提供する監視,通知サービスを使⽤する v AWSの蓄積したノウハウを取り込む
  20. © DENSO CORPORATION All Rights Reserved. ご参考:使⽤しているツールやサービスについて 27 v ソースコード管理:GitLab(Git)

    (⾔語はTerraform, shell script, Python) v アカウント管理: Keycloak v DNS: Amazon Route 53 v CDN: Amazon CloudFront v Firewall: AWS WAF v 証明書管理: AWS Certificate Manager v DB: Amazon Aurora(Mysql 互換) v 静的コンテンツ管理: Amazon S3 v Application デプロイ:Elastic Beanstalk (Dockerプラットフォームを使⽤) v コンテナ管理: Amazon Elastic Container Registry v 監視: Amazon CloudWatch, AWS CloudTrail, AWS Config,Amazon GuardDuty , Zabbix v 通知:Slack, AWS Lambda
  21. © DENSO CORPORATION All Rights Reserved. PaaSはイイ! 28 v デプロイには

    Elastic Beanstalk(Docker プラットフォーム)を使⽤している。 v 仮想サーバ(Amazon EC2),ロードバランサ等アプリケーションの実⾏環境に 悩む必要なし v コンテナの標準出⼒のログをAmazon CloudWatch へデフォルトで転送してく れるので設定漏れなし v 覚えることが減って管理が楽になった
  22. © DENSO CORPORATION All Rights Reserved. やっぱりAuto Scalingは使える! 29 v

    DBには Amazon Auroraを使⽤,もちろんEC2はAuto Scaling v データ量が増えてもストレージ使⽤量は最⼤ 64 テビバイト (TiB)まで⾃動的に 拡張してくれる v アクセス数によって柔軟にスケールするクラウドならではの強さ v 急な顧客増も怖くない
  23. © DENSO CORPORATION All Rights Reserved. Infrastructure as Codeの実践 30

    v インフラの構成はTerraformを使⽤してコード化している。 v よく使⽤するものはモジュール化しておきチームごとの定義のばらつきを無くす v 構築ミスがないので、障害発⽣時の解決スピードが上がる v ノウハウがコードに反映されるので暗黙知が形式知へ変わり、誰でも更新するこ とができるインフラへ変わった
  24. © DENSO CORPORATION All Rights Reserved. Scrum Fest Mikawa 2020

    / Susumu Tomita / Digital Innovation, SRE Team 31 リモートワーク中⼼の働き⽅になって⾒えてきた 課題とその解決⽅法 3
  25. © DENSO CORPORATION All Rights Reserved. リモートワーク中⼼の働き⽅になって⾒えてきた課題 32 v 物理的な開発環境の制約

    v オフィスに集まって働くことが難しくなった v 気軽なコミュニケーション機会の減少 v ⽴ち話から始まる改めて聞くほどでもないのだけどちょっと困っているみたいな話 を拾えなくなった
  26. © DENSO CORPORATION All Rights Reserved. リモートワークの⽣産性を上げるツールの導⼊や使い⽅の⼯夫 33 v Miroの導⼊による物理的なホワイトボードの電⼦化

    v VPNに加えてAmazon WorkSpacesも導⼊してVPN回線が混雑した場合にもスト レスなく作業を継続できる開発環境を整備 v Zoomの常時接続による距離を感じさせない⼯夫
  27. © DENSO CORPORATION All Rights Reserved. コミュニケーション活性化のための施策 34 v コミュニケーションハードルを下げる

    v DI室全メンバーが⾒ることのできるSlackのworkspaceに何でも気軽に聞ける #ask_anythingチャネルの開設 v お昼の組織横断の雑談タイム v チームごとに分けていた雑談⽤のSlackチャネルを統合
  28. © DENSO CORPORATION All Rights Reserved. 情報発信を後押しする仕組みづくり1 35 DocBaseとGitLabを公開 •

    開発チーム間の技術共有 • 社内の技術共有 • ソースコードの共有 読んでスキルアップ / 書いてモチベーションアップ
  29. © DENSO CORPORATION All Rights Reserved. 情報発信を後押しする仕組みづくり2 36 v 気軽に技術発信ができる場として⽉に1回テックトークを開催

    v これまでに8回開催して社内外の⾯⽩い⼈が旬の話題について発表 v 気づけば刈⾕本社や役員クラスも参加する場に成⻑ テーマ 概要 SLAにおけるAWS⼤規模障害の取り扱い どうSLAを定義するか話し合う エンジニアとしての⽣き⽅ シリコンバレー在住のプログラマの⽅と⼀緒に エンジニアとしての⽣き⽅について話し合い ます。 Factory-IoTプラットフォーム 開発秘話についてこっそり教えてくれます。 みんなにナイショだよ デンソー アジャイル やってます でもどうやっ て? その1! 組み込みエンジニアがWebエンジニアに転 ⾝してどう感じたか テックトークテーマ例
  30. © DENSO CORPORATION All Rights Reserved. 気づいたら組織の壁を超えてしまっていた 37 v 当初DI室メンバーが気軽に情報発信できる場として始めたものが、ハードウエア、ソ

    フトウエア、役職関係なく全社で気軽にコミュニケーションできるようになっていた。 v DocBaseはアメリカからもコメントや記事が投稿されるナレッジコミュニティに v リモートワーク中⼼になる=物理的な距離は離れたが、⼼理的な距離は近く なった v ピンチのときほど新しいことを始めるチャンス