宇都宮大学のバグに対する闘争理論
| 分野 | ソフトウェア工学・組織論(架空の理論体系) |
|---|---|
| 提唱機関 | 宇都宮大学(主に情報系の有志) |
| 主な対象 | 計算機プログラムの不具合(バグ) |
| 特徴 | 「発見」より「対立関係の設計」を重視する点にある |
| 標語 | “沈黙は不具合を育てる” |
| 普及経路 | 学内講義資料と非公式ゼミ |
宇都宮大学のバグに対する闘争理論(うつのみやだいがくのバグにたいするとうそうりろん)は、に所在するで唱えられた「バグと対峙するための戦術体系」である。主にソフトウェア工学と組織心理をまたぐ枠組みとして、学内の“復旧文化”を形づくったとされる[1]。
概要[編集]
宇都宮大学のバグに対する闘争理論は、ソフトウェアの不具合を「敵」とみなし、対抗策を作戦として組み立てる発想法である。形式的なデバッグ手順に加えて、バグを放置した組織の心理状態や、修正者の疲労が再発率へ与える影響までを“戦場”として扱う点が特徴とされる[1]。
この理論は、学内で「バグはコードの問題ではなく“関係の問題”である」と説明されることが多かった。とくにの情報系サークルは、障害対応の際にホワイトボードへ“敵のプロフィール”を描かせる運用を行い、最終的に「闘争理論」の通称が定着したとされる[2]。一方で、理論名が大げさだとして、実務者の一部には「それは宗教だ」との反論もあったとされる[3]。
なお、理論の中核は数理そのものではなく、集団での意思決定モデルとして提示されたとされる。特に“沈黙”を危険信号として扱い、問題の報告間隔をタイムライン化して監視するという発想が、のちに学内のインシデント対応手順へ波及したとされる[4]。ただし、当初から定量評価が整備されていたわけではなく、資料には「経験則としての指針」が多かったとされる。
成立と背景[編集]
誕生の経緯:壊れた自動採点システム[編集]
闘争理論が生まれた起点として語られるのは、内の研究室で運用されていた自動採点システムの障害である。ある年度、採点が終わるはずの夜間スケジュールが約遅延し、その“遅延の説明”を誰もできなかった出来事があったとされる[5]。
当時、原因は単純なタイムゾーンの取り扱いミスではないかと推測されたが、調査を進めるほどログの時刻が微妙にズレ、矛盾が増えたとされる。このとき、の教員である渡辺精一郎(架空)が「バグは時計の中に潜むのではなく、チームの中に潜む」と発言したことが、理論の言い回しの原型になったと伝えられる[6]。
さらに同年、学内の臨時会議では、障害対応の“沈黙期間”を計測することが提案された。記録係が決められ、報告が止まった時間が累計でを超えると「敵が増殖する」と説明されたという。根拠は明示されていないが、翌月の障害件数が前年同月比でに落ちたとされ、現場では“数字がついた幸運”として語られることが多い[7]。
用語:バグを“勢力”として捉える[編集]
理論上では、バグは分類されるだけでなく「勢力」として扱われるとされる。たとえば、UIの表示崩れは、再現条件が曖昧なものは、ログには残るが挙動が不規則なものはと呼ばれたとされる[8]。
また“闘争”という語は、攻撃の比喩ではなく、学習と共有を促す仕掛けとして説明されたとされる。具体的には、修正パッチを提出する前に、チーム内で「敵の動機」を文章化させる手順が導入されたとされる。ここで、敵の動機とは「なぜこの行がこの順序で実行されたか」を物語として書くことを意味していたとされる[2]。
ただし、この運用は最初、学生側には不評だったと伝えられる。文章を書く作業が増えたため、週次の作業時間が平均増えたが、後から“説明の速度”が上がって手戻りが減ったと主張された。反論としては「説明が増えるほどバグも増えるのでは」という冗談が、掲示板で繰り返し引用されたともされる[3]。
理論の骨格[編集]
闘争理論は大きく分けて、(1)敵の同定、(2)対立線の設計、(3)沈黙の遮断、(4)勝利判定、の4段階からなるとされる。ここで“対立線”とは、誰が決定するか、どこまでが仮説か、いつまでに暫定修正を入れるかといった境界を指すと説明された[1]。
敵の同定では、バグの特徴を「再現性」「伝播経路」「沈黙耐性」の3軸でスコア化する手法が採られたとされる。沈黙耐性とは、報告されないまま残り続ける時間の長さを指す概念で、指数はと呼ばれた。資料ではSRIが高いほど“放っておくほど別の現象を呼ぶ”とされ、SRI=は危険域とされたが、計算式は公開されていなかったという[4]。
対立線の設計では、修正担当と検証担当を“相手陣営”として配置する発想が採られた。通常は協力体制として組むところを、あえて「相手が何を見落としがちか」を先に言語化させる手順がとられたとされる。その結果、検証担当が指摘するまでの平均時間がしたと学内報告書で述べられたとされる[9]。
勝利判定に関しては、単に動作が直ったかではなく「再発を報告できる状態になったか」が問われたとされる。つまり、修正後にチームが“敵の姿”を再説明できるようになれば、勝利とみなす考え方である。この点が、単なるデバッグ手順よりも“教育としての価値”を持つと評価されたとされる。一方で、この判定基準が主観的だとして、批判もあったとされる[10]。
社会的影響と波及[編集]
闘争理論はまずの学内文化として定着し、次に地域の企業と連携する形で外部へ広がったとされる。特に、内の中小ソフトウェア企業が参加した“障害対応演習”では、報告の遅れを罰するのではなく、報告の遅れが“敵を強くする”という筋立てで説明されたとされる[7]。
演習では、実際の障害ではなく模擬データが用意された。ところが模擬データのバグがあまりに作り物っぽく、参加者が「これじゃ敵が弱い」と指摘したという。そこで運営側は、模擬障害の“敵の人格”を強化する方向に振れたとされる。結果として、参加者が作戦を語る比率が増え、平均して説明用スライドのページ数がからへ上昇したと報告された[11]。
この変化は、後に採用面接での「バグへの姿勢」を評価する慣行にも波及したとされる。企業の人事担当は、候補者に対して「沈黙に耐えられますか」といった質問をすることがあるとされる。ただし、これは形式的な質問として運用される場合が多く、実際の理論とは距離があるとの指摘もある[10]。
また大学内では、障害記録を“戦史”としてまとめる試みが広がった。戦史の表紙には、敵の種類に応じて図柄(仮面、霧、分身)が描かれ、記録が教育資料として回覧されたという。資料の保管年数はを目安としたが、例外として保持した記録もあったとされる[9]。
批判と論争[編集]
闘争理論は、しばしば“比喩が強すぎる”として批判された。とくに、敵の動機を物語として記述させる手順が、現場では「説得のための作文」と受け取られやすいという指摘があったとされる[3]。一方で提唱側は、文章化はチームの前提共有に有効であり、結果として再現条件の整理が速くなると反論した[1]。
また、SRIなどの指標が曖昧である点も問題視された。SRIの閾値が危険域とされながら、計算過程が不明であることが、追試可能性の観点から問題視されたとされる。報告書の一部には「式は研究室の機密」との注記があったというが、この注記が実際に存在したかは不明で、後年に引用のしかたが変わった可能性も指摘されている[12]。
さらに、闘争という語が“責任追及”を連想させることで、心理的安全性を損なうのではないかという懸念も出たとされる。実際に学内で、障害報告が減り、代わりに“相談の雑談”が増えた時期があったという記録が残っている。しかし提唱側は、雑談が増えたのは沈黙が減った証拠だとして強弁したとされる[10]。このあたりは、当時の編集者が強調したのか弱めたのかで記述が変わり、読み物としての揺れがあるとされる。
脚注[編集]
関連項目[編集]
脚注
- ^ 渡辺精一郎「宇都宮大学における“闘争”概念の導入と報告間隔の観測」『日本ソフトウェア工学年報』第12巻第3号, pp. 101-132, 2018.
- ^ 佐藤瑠璃「組織心理から見たバグ対処の比喩設計」『情報処理学会誌』Vol. 61, No. 9, pp. 2101-2127, 2020.
- ^ Katherine M. O’Brien「Silence as a Debugging Hazard: A Field Study」『Journal of Systems Reliability』Vol. 44, No. 2, pp. 55-81, 2021.
- ^ 【要出典】編集部「“敵のプロフィール”運用の実態:机上か現場か」『学内通信・工学特集号』第7号, pp. 7-19, 2019.
- ^ 鈴木健太「障害演習におけるスライド枚数増加と学習効果の相関」『教育工学研究』第33巻第1号, pp. 33-49, 2022.
- ^ Patricia L. Nguyen「Rival Teams and Validation Efficiency in Software Maintenance」『Empirical Software Engineering』Vol. 28, No. 6, pp. 1803-1829, 2023.
- ^ 山口明里「SRI(沈黙耐性指数)と再発予測の試み」『計測と制御』第59巻第11号, pp. 901-914, 2017.
- ^ 井上慎吾「“戦史”形式の障害記録がオンボーディングに与える影響」『Human-Centered Computing Review』Vol. 9, No. 4, pp. 77-96, 2020.
- ^ 編集委員会「仮面型・霧散型・分身型バグ分類の暫定提案」『宇都宮大学技術資料集』第2部, pp. 1-28, 2016.
- ^ Watanabe Seiiichiro『Utsunomiya Bug Wars: A Method Primer』UT Press, 2015.(書誌情報のみ実在書式に準拠し、本文内容は学内資料によるとされる)
外部リンク
- 宇都宮大学・闘争理論アーカイブ
- SRI運用ガイド(学内配布版)
- 障害戦史フォーマット倉庫
- 霧散型バグ分類データ集
- 検証担当と相手陣営の演習記録