SEA関西プロセス分科会(40回超記念)に参加してきた

昨日は、SEA関西プロセス分科会「40回超」記念セミナーに参加してきた。本当は40回記念のはずだったけれど、大人の事情により40回を超えての記念イベントになったとのこと。30人足らずのこぢんまりとしたセミナーだったけれど、中身は濃くて充実度は高かった。以下、講演内容よりポイントを抜粋。

松原友夫氏

「セーフウェア〜システム安全とコンピュータ」

  • ソフトウェア開発を始めた時(1960年!)、発電所向けという高リスクな内容だったため安全に関心を持つようになった。
  • 書籍「セーフウェア」はシステム安全を体系的にまとめた書籍であり、実際の事故事例に基づく記述が豊富。付録を読むだけでも充分に面白い。
  • オペレータエラーのリスクを減らした結果、保守や監視など、より高度な意志決定にリスクがシフトし、オペレータがスケープゴートにされるようになった。
  • 日本では、原因究明よりも犯人捜しに重点が置かれる文化になっている。形式的な記録、官僚的な業務を行うなど、問題を起こす組織の文化を根本的に変える事は難しい。
  • システムはコンポーネントの足し算としてではなく、あくまでも全体として把握すべき。作り手としては、システムを複雑に作らないというスタンスから始めることが必要。

セーフウェア~安全・安心なシステムとソフトウェアを目指して (IT Architects' Archive)

セーフウェア~安全・安心なシステムとソフトウェアを目指して (IT Architects' Archive)

岸田孝一氏

「ソフトウェア開発を多角的視点から考え直す」

  • Winston Royceの講演(1970年)は、ハードウェア製造プロセスとソフトウェア開発プロセスとの違いを論じていたのだが、ウォーターフォールを推奨したものと誤解されてしまった。
  • 現実世界は無限の属性を持っており、ソフトウェア仕様は有限でしかない。仕様作成時には妥当な仮説として受け入れられても、時間の経過と共に仮説は成り立たなくなる。これはソフトウェア進化の宿命である。
  • 様々な検証の組み合わせがある。「現実世界 vs 仕様」「仕様 vs プログラム」「プログラム vs 現実世界」
  • 人は具体的事実から離れて、抽象のハシゴを登りがちである。これが無益な議論の原因の一つ。
  • 矛盾のない完璧な要件の開発を目指すことはナンセンス。むしろ、各要件間の矛盾を明らかにして、関係者間のコミュニケーションに役立てることを意図した方が良い。

ソフトウェアの超上流工程の、さらにその上の源流を探し求めるような哲学的議論が続き、なかなか興味深かった。複雑化、巨大化、ブラックボックス化が続くソフトウェアシステムにおいて、その安全性が置き去りになっているのではないかという指摘はもっともだと思う。2000年問題や最近のプリウスの事例、海抜高度より低い高度を飛んで事故を起こした飛行機(どのような状況か想像出来る?)の例も紹介され、ソフトウェアが本質的持っている限界を痛感せざるを得ない。

質疑応答でも出ていたが、技術者はタコツボに陥りがちで、これでは全体が見えなくなるので好ましくない、異なる視点からシステムを捉え直すことが重要、という指摘には同感だ。「専門性を極める」と言った安直な文句に踊らされてはいけない。専門性と同時に、それを俯瞰出来るだけの広い視野も合わせて必要になるだろう。言われたものを何の批判もせずに受け入れてしまう受動的な体質を直していかないことには、自分なりの見解とか意見は出てこない。即効的な解決策は何も示されなかったけれど、これから考えるべき方向を考える上で有意義な議論であったと思う。



関連