Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
障害を発生させないために
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
s_tanaka
November 10, 2017
Education
0
660
障害を発生させないために
社内LT(2017/11/10)
s_tanaka
November 10, 2017
Tweet
Share
Other Decks in Education
See All in Education
【ZEPメタバース校舎操作ガイド】
ainischool
0
150
悩める リーダー達に 届けたい書籍|レジリエントマネジメント 書籍イントロダクション-260126
mimoza60
1
410
Introduction - Lecture 1 - Advanced Topics in Big Data (4023256FNR)
signer
PRO
2
2.3k
演習:Gitの応用操作 / 05-git-advanced
kaityo256
PRO
0
230
From Participation to Outcomes
territorium
PRO
0
410
Sponsorship 2026 | VizChitra
vizchitra
1
140
Padlet opetuksessa
matleenalaakso
12
15k
青森県の人口減少について | | 下山学園高等学校
aomori6
PRO
0
120
Data Presentation - Lecture 5 - Information Visualisation (4019538FNR)
signer
PRO
0
3k
Introduction - Lecture 1 - Information Visualisation (4019538FNR)
signer
PRO
0
5.4k
GitHubによるWebアプリケーションのデプロイ / 07-github-deploy
kaityo256
PRO
1
210
応募課題(’25広島)
forget1900
0
960
Featured
See All Featured
Become a Pro
speakerdeck
PRO
31
5.9k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.1k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
87
Statistics for Hackers
jakevdp
799
230k
Side Projects
sachag
455
43k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
93
A Tale of Four Properties
chriscoyier
163
24k
Facilitating Awesome Meetings
lara
57
6.8k
Thoughts on Productivity
jonyablonski
75
5.1k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
Transcript
障害を発生させないために @s_tanaka
アジェンダ そもそも障害ってなに? なんで障害は発生するの? 障害を起こさないために何をすれば良いの? 障害が起きたときどうすれば良いの?
アジェンダ そもそも障害ってなに? なんで障害は発生するの? 障害を起こさないために何をすれば良いの? 障害が起きたときどうすれば良いの?
障害とは? システムの構成要素であるハードウェアの故障、ソフトウェアのバグやその他の機能不 全が原因となって、システムが本来の機能をユーザに対して提供できない状態を言う。 (Wikipedia 「障害 -情報技術分野での障害(Fault)」) システムが仕様(思い)通りに動作しないこと ※仕様が間違っている場合もある…
アジェンダ そもそも障害ってなに? なんで障害は発生するの? 障害を起こさないために何をすれば良いの? 障害が起きたときどうすれば良いの?
発生する要因 コミュ不足 作業ミス ハード故障 運用 バグ 仕様漏れ テスト不足 不明 どっかで見たこと
あるぞ? AAのインシデント管理システム
テスト不足 発生した要因で一番多いのが「テスト不足」 そもそも試験しなかった 試験したけど不十分だった(パターンから漏れていた) そんなところに影響があるなんて思わなかった バグ + テスト不足 と言うのも多い →バグがあってもテストをちゃんとやっておけば気付けた
なぜテスト不足が発生するのか
アジェンダ そもそも障害ってなに? なんで障害は発生するの? 障害を起こさないために何をすれば良いの? 障害が起きたときどうすれば良いの?
気づきのポイント 要件定義 •要件定義書 設計 •設計書 実装 •コード 試験 •試験仕様書 リリース
•リリース手 順書 各工程で漏れがなければ障害の発生はかなり抑えられる →それぞれのOutputをチェックすることで、その工程は(ある程度)担保される 各工程と成果物(Output)
がしかし… 今まで 要件定義 設計 実装 試験 リリース 1人日 1人日 3人日
1人日 0.5人日 計6.5人日 全部やると 要件定義 設計 実装 試験 リリース 1人日 1人日 3人日 1人日 0.5人日 計11.5人日 0.5人日 ×2 0.5人日 ×2 0.5人日 ×2 1人日 ×2 0.5人日 ×2
なので プロジェクト全体の大きさに応じて各工程のアウトプットの有無、レビューの有無を決 めよう。 …それだと、いつもと変わらないので、 試験仕様書の作成と、それの確認を行ってはいかがだろうか。 ライトな開発でも、行った動作確認の流れや、画面表示があればキャプチャを貼るなど で、確認項目の共有(他の人がわかりやすい)や、自分自身での確認、今後同様の開発 があった場合の注意点となる。
テスト不足になる理由 要件定義 設計 実装 試験 リリース リリースまで時間が無く、実装を進めながら仕様の調整、試験と言うよりは動作確認の みになってしまう場合が多い(気がしている)。 コードレビューは行っているが、それだけではそのシステムに詳しくない限り、潜在し ているバグや仕様漏れに気付くのは難しい(私だけ?)
バグを発見する可能性で言えば試験が重要 →テスト不足の障害が少なくなるのでは?
アジェンダ そもそも障害ってなに? なんで障害は発生するの? 障害を起こさないために何をすれば良いの? 障害が起きたときどうすれば良いの?
障害は発生する 気を付けていても予期せぬ要因で障害は発生する 障害が発生しないようにも重要だが、障害が発生してからの対応も重要。
障害が発生したら 暫定 対応? 状況の確認 障害発生 関係者に 連絡 暫定対応 内容の検討 暫定対応
解消? Y N 恒久対応 内容の検討 N Y 恒久対応 解決? 関係者に 連絡 N Y インシデント レポート インシデントレポートは 社内で共有
障害の報告 第一報には下記をわかる範囲でまとめる 発生事象 発生日時 (判明していれば)原因 (わかっていれば)解消予定時間 事象が解決したら、下記も調べて報告する 発生期間 影響範囲 対応内容
上記にプラスして、インシデントレポートでは再発防止策があれば記載する
最後に 障害は時間が無い場合に発生する。 時間が無いと、試験の時間を削ってしまう場合が多いから。 時間が無いというときは、危ないなと思い、実装だけじゃなく、試験の時間も確保出来 るようにしましょう。 試験仕様書は、作成することで、パターンの洗い出しや、実装の漏れに気付く場合もあ るので、未知なるアプリ、機能の改修の場合、文字に起こして整理することが大事。 共有されたインシデントレポートから、障害になりやすい内容についても試験を行うこ とで、より障害の発生の可能性を下げられる。 チームで障害が発生しない仕組みを考えましょう。
試験仕様書(をはじめ、ドキュメント類)は標準化し、作成のコストを抑えたい