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

「SmartHR基本機能」の溜まっていく技術課題への取り組み

motsat
January 10, 2023
1.3k

 「SmartHR基本機能」の溜まっていく技術課題への取り組み

2022/11/17 BtoB SaaSにおける技術課題との向き合い方での登壇資料です。

「SmartHR基本機能」は、全職種合わせ約50名が6チームにわかれて開発しています。サービスを運用する中で、非機能要件(とくにパフォーマンス系タスク)の問題を放置すると、課題が蓄積されていきます。それらの問題への対応を機能開発と並行して進めるために「運用の形を変えてきた歴史」についてお話しします。

motsat

January 10, 2023
Tweet

Transcript

  1. CONFIDENTIAL 例) • 設計変更(履歴処理やテーブル分割) ◦ 従業員を項目Aでソートするとエラー • 使い方の変化(利用する会社/利用ケースの増加) ◦ 手続きA,Bの並行処理でBがエラー(用途が変わった)

    ◦ 非同期処理で使うデータ変更されているとリトライとエラーを繰 り返す • その他 ◦ 想定されるバリデーションエラー時に全てエラー管理システム に通知される(なぜか多い) など... (現在はQAチームの誕生や回帰テストの拡充が進んでいます) 2.エラーの増加
  2. CONFIDENTIAL 問題(小) 小 = 機能開発を止める...? • 問題の割に修正が大変なケースも (古の機能) • レアケースや実害が無かったり、緊急度は

    比較的低い ◦ 例)手続きを依頼した従業員データを すぐに削除すると内部的にエラー通知 が飛ぶ(ユーザー影響は無し)
  3. CONFIDENTIAL 小 大 小 小 小 小 小 小 小

    小 扱いが難しい、問題(小) (一つずつは)優先度が低く溜まりがち...
  4. CONFIDENTIAL • スクラムでの欠陥の扱いは? ◦ 特に無さそう ◦ まずは最初の作り込みが必要(それはそう) • 機能開発との優先度比較は?(バックログの管理) ◦

    難しい ◦ 例. エラーノイズを継続的に減らしたいというタスクと、機能Aのオ プション追加といったタスクは目的も違うし比較も大変 開発チーム全体で議論
  5. CONFIDENTIAL • 一気に直せば終わる? ◦ 環境の変化で継続的に発生するとしたら継続的な活動になる • 負債解消をする別チームは? ◦ 機能開発チームでも学習しながら取り組みたい •

    見積もりづらいものも多くてやってみたら手間がかかって、機能開発の リソースに影響は出なそう? ◦ 改善活動に使う割合は固定にした方が良いかも ▪ スクラムに合わせ、固定割合は消化予定ポイントの「nポイン ト」を引く形が良さそう など 開発チーム全体で議論
  6. CONFIDENTIAL タスクの管理 POが管理 エンジニアが管理 チケット (タスク) チケット (タスク) チケット (タスク)

    チケット (タスク) 機能開発 改善活動 日次や週次で ・Sentry ・NewRelic ・Google Cloud Console などを見て候補出し