生命保険会社でCOBOLを使った開発って?

私は、文系出身で当時新設されたメディア情報学部を卒業後、
新卒採用で生命保険会社のシステム開発に8年間携わっていました。
土日の出勤はなかったものの、残業なしに開発のリーダーとして活躍することは厳しく、10年前出産を機に退職しました。
私が経験したCOBOL開発について紹介したいと思います。

COBOLは古い開発言語?


COBOLは20年前私が学生時代だった頃でも基本情報技術者試験に出てくる一世代前のプログラム言語というイメージを持たれていました。
就職する際、システム会社に絞って就職活動をしていましたが、まさか自分がCOBOLを使ってシステム開発をするとは思ってもみませんでした。
そして今でも、銀行系や保険会社などのメインのシステム内で使われています。
理由としては、膨大な量のデータ処理を、短時間に行えるというメリットがあるからです。また長い期間保守してきた、プログラムの乗せ替えは、多額の費用がかかるので金銭的にも難しいからです。こうした背景から、プログラムを分割することはあっても、完全にCOBOL開発されたシステムがなくなることはないと思います。歴史ある開発言語なのです。

COBOLって難しい?

プログラミング


学生時代は、JavaScriptの授業なども選択履修しましたが、まったく学生時代勉強しなかったCOBOLのほうが文系の私にとっては座標など数字配列が出てこないため、格段易しく感じました。
私が勤めていた会社のシステムは、特に汎用性をもつことと長い期間使うことを前提としたプログラムだった為、だれが見ても分かりやすいことを第一とした作りをしていました。学生時代フローチャートの勉強はしたとはいえ、COBOLについては全くの初見でしたが、初めはif文、そしてcase文が分かればプログラミングに困ることはありませんでした。そして、だんだんにプログラムを読んで修正しという作業を行っていく中で、COBOLの知識を増やしていくことができたと思います。

テスト


一方テストは、今考えると大変でした。

通常、テストといえば、まずは作成したロジック全て通るホワイトボックステストをしますが、現実にはあり得ない条件などもあり、テストパターンの精査が必要でした。また、大型汎用機で動かすプログラムなので、わからないからといって家で試しにやってみることはできません。テストには、プログラムを保存するテスト環境や、専用のテスト端末。修正内容にあったデータが必要でした。

また、プログラムは十数本、多いものでは百本を越えるため、複数のチームに分かれて開発を行っていました。複数のチームで作成した全体スケジュールにのっとり、最終的には関連する全てのプログラムを結合し、限られた時間でテストすることが求められました。更に、汎用的に使われているプログラムに関しては、他へ影響を及ぼさないということを保証するため、大量のデータを入力にして、照合を行っていました。

このような条件を満たすため、リーダーには、業務の仕組みの理解が必要になります。このため、研修では情報処理の資格試験のほかに、保険業務に関する講義と資格試験もありました。

ここまで難しいと散々述べてきましたが、初心者がこれら全てを考えて作業をする必要はありません。チームで開発を行っているので、初めは入力データから、テスト環境すべて指示された内容で実施すればいいのです。また、今までのノウハウがきちんと整理されていることが多いです。しかしながら、作業者は言われたことをそのまま実施するのではなく、なぜこのテストが必要なのか?なぜこのテストのパターンなのか?きちんと考えて作業を行うこと、また自分にできることはどんどん請け負って学ぶことが長く開発を行う秘訣だと思います。

運用


運用に関しては、当日動かす処理をスケジュールして、結果を確認する専門担当がありました。また、夜間に大量のデータを流し、翌日使う事務の帳票や、保険の契約者に送る帳票を作るので、夜間監視業務を専門とする担当もあります。

なので、開発がかかわる運用の仕事としては、新設する処理の順番及びサイクルを考えること。また、日々、事務でエラーになった契約に対する原因調査がありました。 また、テストで使用するデータを保管すること、テストを行う環境の整備が運用といえるでしょう。

まとめ


このように、専用の端末がないとプログラムの開発・テストが行えない為、自宅で開発を行うことはできず、客先での開発が主となります。そしてチームでの作業が多いです。その分、わからないことを聞ける環境、資料は整っています。
自学自習の方法としては市販されているテキストを買って、トレースすることは可能です。プログラム開発者を目指すのであれば、自分でプログラムを読んでどのように処理がされるのかを学ぶのが第一です。あくまで言語はプログラム開発を行う手段です。そのプログラムがいつ動くのか、何を入力にしてどのようなものが出てくるのか?今でも、保険の控除証明書を電話で取り寄せたり、自動車保険の契約試算をインターネットで実施したりすると、この後ろでどのような処理が機械的に行われているのか、つい想像してしまいます。
知らないから難しいとおもわず、チャレンジしてみませんか?大きなシステムの開発はやりがいもあり、チームメンバーとの交流も図れて楽しいですよ。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA