スキップしてメイン コンテンツに移動

投稿

ブログを翻訳

知らなかった…日本が“言語”を握っていた時代——日立とCOBOLの真実

 えっ、コードを書く前に“言語そのもの”を日本企業が握っていた世界があったのか!? ■社会人6年目、初めて知った衝撃 社会人6年目、システムの現場に深く入り込んだときだった。 私はそれまで、プログラム言語は“誰かが作ったものを使うもの”だと思っていた。 Javaにはサポート会社があり、Sun Microsystemsが方針を決める。 Pythonにもルールがあり、コミュニティが進化をリードする。 つまり、「言語は世界のどこかが決めるもの」。 そう信じて疑わなかった。 だが、日立に入って初めて、その前提が崩れる。 ■日立が“COBOLを作っていた”という事実 有名なプログラム言語であるCOBOL。 金融、基幹システム、社会インフラ——日本の根幹を支えてきた言語だ。 そのCOBOLを、日立が作り、リードしていた時代があった。 協議会を作り、仕様を整え、改善を重ねる。 まるで今のPythonやJavaのように、「ルールそのもの」を握っていた。 これは単なる利用者ではない。 “言語の設計者”としての立場だ。 ■メインフレームと一体化した言語戦略 当時の主戦場は、汎用機——メインフレーム。 巨大な1台のサーバーに、すべてを詰め込む時代だ。 このメインフレームを導入する際、 単なるハードウェアでは終わらない。 プログラム実行基盤も含めて、ひとつの“完成されたシステム”として提供される。 そして、その中核にあるのがCOBOLだった。 つまり、メインフレームを導入する=COBOLで作る。 言語は選択肢ではなく、“前提条件”だったのだ。 ■IBMと戦った日本企業の意地 世界ではIBMがメインフレーム市場を席巻していた。 その巨大な牙城に、日本企業は真正面から挑んでいた。 日立は、その中で単なるハード競争では終わらない戦いを選ぶ。 ハードを作り、基盤を作り、 そして、その上で動く言語まで作る。 つまり、“スタック全体”で戦っていた。 メインフレームに入っているCOBOL。 そのCOBOL自体も進化させていく。 オリジナルのCOBOLをベースにしながら、 実運用に合わせて改善を重ねる。 この一連の動きは、まさにプラットフォーム戦略そのものだ。 ■言語を握るということの意味 言語を作るということは、単なる...
最近の投稿

衝撃!CobolからJavaへ——構成管理の迷宮に飛び込む

動くシステムはある。でも未来のJava版をどう描くか? ああっ、まるでパズルのピースが逆さまに飛んでくるようだ! 私が任されたのは、金融システムのCobolからJavaへの変換プロジェクトでの構成管理だ。 すでにCobolで動いているシステムがあり、設計書も残っている。 だが、それを最新のJava設計書に書き換え、プログラムとして組み上げなければならない。     多様なチーム、複雑な利害 プロジェクトには、日立製作所を1次受けとして、5社ほどの2次受けが参加していた。 各社、Cobolが分かるエンジニア、Javaが分かるエンジニア、そして金融分野に精通した設計者を揃えている。 優秀な2次受けベンダーの方々からの圧も相当で、緊張感は増すばかりだ。 Cobolの常識とJavaの自由度 Cobolの世界では、プログラムの作り方や書く環境はほぼ決まっている。 構成管理といえば、ソースの管理だ。 見出し部、環境部、データ部、手続き部などを決め、各チームの書き方を揃えるのが定石だった。 しかし、Javaとなると話は複雑になる。 書き方のルールだけでなく、パッケージ基準やソース構成、オブジェクト指向を活用した共通クラス構成まで考慮する必要がある。 設計書からDebug、バージョン管理まで まず着手したのは、Java設計書の整理だ。 Cobol設計書を参照しつつ、Javaのクラス構成やパッケージ体系に落とし込む作業。 各チームがバラバラに動くと、後々のDebugやテストで混乱する。 だからこそ、Debug順序も先に決めておく。 構成管理の肝は、バージョン管理だ。 Javaのように複雑な環境では、少しのずれが全体の破綻につながる。 GitやSVNを使い、各チームのコミットルールを統一する。 コミット単位、ブランチ戦略、マージ方針まで細かく定め、2次受け全体で共有する。 学びと挑戦の統合 一方で、Cobol時代の常識は無視できない。 既存の環境・手続き・データ部は大きな制約条件だ。 それを踏まえつつ、Javaのモダンな書き方を適用する。 オブジェクト指向の利点を活かし、共通クラスやライブラリの再利用も進める。 毎日の会議では、5社の代表者が設計書とコードの違いを詰める。 Cobol出身者の意見、Javaエン...

震えるほど重い責任——200人規模システムの構成管理担当者として

ああっ、気がつけば日本の金融システムの心臓部に手をかけている! 社会人6年目の私は、少しずつ大きなプロジェクトに参加してきた。最初は数人規模、次第に十数人、そして開発人員が最大八十人規模のチームをリードするまでになった。百人規模でもリードできる自信はあった。しかし、次に待っていたのは最大200人規模のプロジェクト。しかも、対象は日本の根幹を支える金融業界の中心となるシステムだ。このシステムが止まれば、新聞に載るどころの話ではなく、たぶん現場では人の生活や仕事に直接影響が出る。それを意識した瞬間、身震いが止まらなかった。     大規模でも“改善プロジェクト” 200人規模と言っても、大規模プロジェクトとしてはそこまで特異ではない。理由は、これは新規構築ではなく、改善プロジェクトだからだ。最初の構築時は壮絶だったらしいが、私が参加した時にはリリース後で、チームは100人にも満たなかった。 私が指示を受けたのはJavaの構成管理。しかし開発の中心はCobolでの管理が主流だった。Cobolでは管理方法を熟知していたが、Javaでの管理は初めて。サーバの構成、プログラムの構成、どのように本番に載せるか、テストはどう行うか、テスト環境の作り方、設定ファイルの扱い――構成管理の領域は多岐にわたる。プログラム中心で考えてきた私にとって、新しい専門分野への挑戦となった。 構成管理の現場 構成管理担当とは、開発段階から常に話してきた。新人のトレーニングでは、自分で全てやっていたこともある。しかし今回は違う。これは日本を支えるシステムであり、責任の重さが桁違いだ。ミスは許されない。どのサーバに、どの順番で反映するか。テストの順序、バックアップの取り方。すべてを設計し、チームに伝える必要がある。 新しい挑戦と学び このプロジェクトでは、ただコードを書くのではなく、チーム全体の作業効率やリスク管理も意識することが求められる。構成管理という専門分野を深く理解し、現場での判断力を磨くこと。これが次世代のリーダーとしての成長につながると感じた。 百人規模の経験が、200人規模の現場で確実に生きる。自信と緊張が混ざり合う中で、私は初めて「自分が日本を支えている」という実感を持った。 私ならできる!明日から踏み出す

止まれば日本が止まる——その裏側は、まだCOBOLだった

うわっ、日本の根幹が、まだこのコードで動いているなんて——。 社会人6年目。私はすでに5つほどのプロジェクトを経験していた。規模はどれも大きく、100人を超える体制はもはや特別ではない。「これが普通のITプロジェクトだ」と自然に思うようになっていた。周囲も同じだ。関わる案件はどれも社会インフラに近く、失敗が許されないものばかりだった。 そんな環境にいたからこそ、ある日ふとした瞬間に見た光景が、強烈に記憶に残っている。 ■巨大プロジェクトの“当たり前”に潜む違和感 日立製作所という巨大な会社の中で、私は一つの基幹システムの改修プロジェクトに関わっていた。関係者は100人を軽く超え、複数のベンダーが入り乱れ、会議は毎日のように続く。進捗、課題、品質——すべてが緻密に管理されていた。 だが、実際に手を動かす現場に入ったとき、私は思わず息を飲んだ。 画面に並んでいたのは、COBOLのコードだった。 整然と並ぶ英字と数字。長年積み重ねられてきたロジック。その一行一行が、日本の金融や物流、社会の根幹を支えている。 「これが、まだ動いているのか」 それは驚きというより、むしろ“現実”だった。 ■社会インフラを支える見えない技術 COBOLは古い言語だと言われる。しかし、そのシステムは何十年も止まらずに動き続けている。信頼性、安定性、そして実績。どれをとっても圧倒的だ。 だからこそ、簡単には変えられない。 100人規模のプロジェクトが当たり前になる理由も、ここにある。変更一つで影響範囲は膨大に広がり、テストには膨大な時間と人手が必要になる。結果として、プロジェクトは巨大化し、慎重になり、変化は遅くなる。 私はその中で、ある種の矛盾を感じていた。 最先端のITを語りながら、最も重要な部分は“変えられない技術”に依存している。 ■変革はなぜ進まないのか この構造は、日本のITが抱える本質的な課題を示している。 変えたい。でも、変えられない。 効率化したい。でも、リスクが大きすぎる。 だから現場は、巨大な体制と緻密なプロセスで“守る”ことに最適化されていく。 それは間違いではない。むしろ合理的だ。 しかし、その一方で、変革のスピードは確実に鈍る。 私は6年目にして、初めて気づいた。 「プロジェクトの大きさ」や「人数」ではなく、 本当に向き...

撤退命令の先にあった“再会”——同じ場所で、もう一度戦う意味

うわっ、終わったはずの戦場に、また呼び戻されるなんて ■支援のはずが、踏み込めない違和感 あのプロジェクトは、支援として入った現場だった。同期が苦しんでいる。だから助けたい——そう思って動いていた。 だが現実は違った。手を出そうとすると、どこかで止まる。 「そこは依頼範囲外です」 「契約上、難しいですね」 まるで見えない壁があるようだった。 ■組織をまたぐと“お金”が発生する構造 大企業では、組織間の支援にも明確なルールがある。 プロジェクトに必要な人員を計画し、その分の人件費を依頼元に請求する。 依頼元が顧客から収益を得ていれば、そこから支払われる。 もし得られていなければ、戦略案件として赤字覚悟で進める。 つまり、支援ですら“コスト”として管理される。 これは冷たい仕組みに見えるかもしれない。 だが、いくつかの企業を見てきた今なら言える。 この仕組みは、むしろ健全だった。 ■支援の終わりは、突然に ある日、判断が下った。 「依頼元からの予算が尽きた。撤退する」 あっけなかった。 我々の部隊は、そのプロジェクトから外れることになった。 残るのは、元の部署。 それが、本来の姿だった。 彼らは、自分たちでできると信じて仕事を取り、プロジェクトを立ち上げた。 しかし回らなかった。 だから、我々が支援に入った。 だが、お金がなければ、支援は続けられない。 ■残された責任 その後どうするか。 リスケするのか、顧客と再交渉するのか。 それは、依頼した部署の責任になる。 企業として一枚岩ではないのか? そう感じる瞬間もあった。 正直に言えば、もっとできたと思っている。 あのとき、もう一歩踏み込めていたら——。 だが、上の判断は明確だった。 そして、次の指示が来た。 ■次のプロジェクトは、同じ場所だった 次の案件。 それは、日本の証券業界のど真ん中にある会社の基幹システム。 そして、その開発拠点は—— 前のプロジェクトで、必死に戦っていた場所だった。 また、同じ場所。 だが、役割は違う。 状況も違う。 あのときの悔しさが、胸に残っている。 ■ビジネスにおける“支援”の本質 この経験から見えたことがある。 支援とは、善意だけでは成立しない。 構造と責任と、そしてコストで成り立っている。...

3か月で去ったプロジェクトが、なぜか一番忘れられない理由

うわっ、終わったはずのプロジェクトが、いまだに頭の中で続いている――。 ■プロジェクトは「長さ」で記憶に残るのか 社会人になってから、いくつものプロジェクトを回してきた。 短いものから長いものまで。 短くて2、3か月、長くて2年以上。 やはり記憶に残りやすいのは長いプロジェクトだ。 そりゃそうですよね。 時間をかけ、苦労し、乗り越えた分だけ、思い出は濃くなる。 しかし、例外もある。 短いのに、妙に強烈に残るプロジェクトがあるのだ。 ■3か月で終わった、終われなかったプロジェクト 今回のプロジェクトもそうだった。 わずか3か月で離れることになった案件。 正直、悔しかった。 「役に立ちませんでしたよ」と言われているような気がしたからだ。 もちろん、そんなことはない。 理由はシンプルで、部署間の取り決め。 最初から「いついつまで」という約束が決まっていた。 直前に一つのプロジェクトをやり遂げていた私は、 次も活躍できる自信があった。 だが現実は違った。 ■“関われるのに、踏み込めない”という制約 契約上、メインタスクには関われない。 意思決定にも深く入れない。 できることは、情報を伝えること。 補足説明をすること。 私は、できる範囲で動いた。 説明会の資料作成を手伝い、 何かあればアドバイスをする。 しかし、それ以上は踏み込めない。 目の前では、同期がメインでプロジェクトを回している。 明らかに忙しい。 助けたい。 でも、リードが取れない以上、 そのタスクをカバーすることはできなかった。 ■やり切れなかったという違和感 そして、3か月。 私はプロジェクトを離れた。 形式的には「完了」。 しかし、感覚としては「未完了」だった。 何か引っかかる終わり方。 やり切った感覚が、まったくない。 ■その後に知った“もしも”の連続 そのプロジェクトは、その後も何年か続いた。 そして、かなりドタバタしていたらしい。 作り直し。 方向転換。 混乱。 話を聞くたびに、こう思ってしまう。 あの時、もう少し踏み込んでいれば。 あの時、自分の手を動かしていれば。 何か変えられたのではないか。 もちろん、後からなら何とでも言える。 契約や役割の制約は現実だ。 それでも、この「心残り」は消えない。...

見えない巨大プロジェクト――「支援部隊」が知る本当の開発の姿

途中 から 入る 者 に しか 見え ない プロジェクト の リアル う わっ、 気 づ い たら プロジェクト が“ 満員 電車” に な って い た! IT プロジェクト に は、 さまざま な 関わり 方 が あり ます。 その 中でも「 支援」 という 立場 は、 少し 特殊 な ポジション です。 私 が 所属 してき た の は、 大規模 アプリケーション 開発 を サービス として 支援 する 部隊。 プログラム の 整理、 構造 の 整理、 ベンダー 間 の 調整 や 交渉 など、 巨大 化 した プロジェクト を 支える 役割 です。 しかし、 この 仕事 に は 一つ 特徴 が あり ます。 それ は―― プロジェクト の 最初 に 立ち会う こと が ほとんど ない という こと です。 ■ プロジェクト は 最初 から 巨大 では ない 大規模 プロジェクト と 聞く と、 最初 から 大 人数 で 始まる よう に 思える かも し れ ま せん。 しかし 実際は まったく 違い ます。 最初 は 数 人 です。 新しい システム の 検討 は、 ほんの 数 人 の メンバー から 始まり ます。 方向 性 を 議論 し、 必要 な 機能 を 整理 し、 どの 会社 と 組む か を 考える。 やがて 中心 と なる ベンダー が 決まり、 基本 設計 に 入り ます。 この 段階 でも まだ 数 人。 しかし、 設計 が 進む につれて、 少し ずつ 人 が 増え てい き ます。 ■ 設計 から 開発 へ、 人 が 爆発 的 に 増える 設計 が 本格 化 すると、 メンバー は 数 十人 に なり ます。 ここ で 各 ベンダー が 開発 要員 を アサイン し 始め ます。 設計 書 の 承認 が 下り、 開発 フェーズ に 入る 頃 に は、 プロジェクト は 一気に 膨 ら み ます。 設計 が 10 人 なら、 開発 は 5 倍〜 10 倍。 つまり、 50 人 から 100 人 規模。 そして、 テスト 工程 に 入る ころ。 ここ が プロジェクト の ピーク です。 ■ プロジェクト ルーム は 鮨詰め 状態 人 が 一番 多く なる タイミング。 プロジェ...