見出し画像

IPOがすべての基本(≠株式の話)

新型コロナウイルスによる感染症(COVID-19)流行の影響で気持ちに余裕がないのか、SNSには他人の発言を正そうとする人が目立つ。その中に、感染症の専門家に対してにわか知識を披露して、専門家の現在の主張が過去の発言と違うことを指摘し、過去の発言が誤りだったことを認めて謝罪せよと迫る人がいてぼくは驚いた。

言うまでもなく、このウイルスは新型であり当初は不明な点が多かった。その後、少しずつ知見が蓄積されている。その専門家は主張を変えたわけではなかったが、流行の初期段階でわかっていた情報を基にした発言と、その後明らかになった情報を基にした直近の発言は違っていた。

ぼくには入力が違うのだから出力が違って当たり前に思えるのだが―――そんなことを考えていたら、ふとIPOという言葉を思い出した。IPOは「アイポ」と発音する。

古いシステムの設計書

2002年春、ぼくは東京のとある中堅IT企業で働きはじめた。最初に配属された案件は某銀行系クレジットカード会社のオーソリ業務システムを保守するプロジェクトで、メインフレーム+COBOLで構築されていた。

当時の金融系システム開発プロジェクトでは、かなり詳細なレベルの設計書を潤沢な時間(=予算)をつかって作成していた。そして、その中の1つに"処理定義書(IPO編)"というものがあった。IPOはInput/Process/Outputの頭文字で、以下のようなテンプレートで記述した。

画像1

ちなみに処理の記述粒度はCOBOLと同等。つまり、一度日本語で処理を記述し、レビューを受けて問題がなければプログラムとして清書(COBOLに書き写す)する。今となってはバカバカしい手順だが、この経験でIPOという言葉を得たことだけは、その後の仕事に役立っている。

どこまでいってもIPO

情報処理システムでは、粒度の大小やその機能に関わらず、すべてでIPOが成立する。

※ある業務システムの例

画像2

XX業務システム
Input:ユーザーからの入力
Output:ユーザーへの出力、帳票

このように、1つのシステムでもIPOは成立する。さらにシステムを分割した機能単位でも同様にIPOは成立する。

A機能
Input:ユーザーからの入力
Output:DBへの出力
B機能
Input:DBからの入力
Output:ユーザーへの出力
C機能
Input:DBからの入力
Output:帳票出力

さらに各機能をクラスやメソッドに分解しても、そのすべてにIPOは成立する。

IPOは原則

このように、IPOは情報処理システムにおける大原則で基本中の基本なのだが、ベテランのIT技術者でも意識的につかっている人は少ないと思う。

***

さて。話を冒頭のエピソードに戻すと、専門家の発言(Output)が変わったということは、取り込んだ情報(Input)、または考え方や主義主張(Process)のどちらかが変わったということになる。

専門家本人によると、この場合は新型コロナに関する情報が更新されたことによるOutputの変化で、これは科学的に誠実な態度であると説明していた。この説明でにわか氏が納得したかどうか、その後のやり取りは追っていない。

*追記(20210514):この記事を新規公開株の話と勘違いされる方がいるのではないかという仮説から、タイトルを修正しました。

この記事が気に入ったらサポートをしてみませんか?