14 / 22
第三章:問題発生! さらに問題発生!
一
しおりを挟む
“焦ることは何の役にも立たない。
後悔はなおさら役に立たない。
焦りは過ちを増し、後悔は新しい後悔をつくる。“
ゲーテ
一
正月明け早々、安村と話をした。
現状の課題を我々だけで抱えていても進まないし、後で大問題になってしまう。現在の状況を堀田に包み隠さずに話し、対応策を相談するタイミングは今しかない。
安村も同じ想いだった。
これは、嫌な部類の会議になるのだが、プロジェクトの推進では往々にしてあり得る。抱え込んでいて炎上してしまう前に相談しておかなければならない。だが、そのタイミングは、本当はもっと早かった方がよかったのではないのか?そう思うと、途端に胸にすっぱいものがこみあげて来た。動悸も激しくなる。
会議室には、すでに堀田と竹内がいた。こちらは、安村と私だけ。神妙な顔を入っていったので、空気がピンと張り詰め、部屋の温度が下がったような感じがする。
用意していた資料を大画面テレビに映し出す。
私がまず、解析の見通しを具体的数字で示した。室山の解析ツールを使っても、生産性五割アップは困難であること、フルタイムでは働けないメンバーの多い今の陣容では解析だけでも一年近くかかることを正直に話した。
また、解析要員を追加したくても、伝田と私で退職者にあたった結果が今であり、これ以上の増員は難しいことも話した。
更には、今のメンバーも、介護問題、健康面の問題もあって、当初予定の工数消化が難しくなってきており、契約工数を減らしてほしいことも話した。
全てが後ろ向きな現状報告、解決策もない手づまりな話だった。
安村は、解析結果を基にしてJavaプログラムに落とし込むには、オブジェクト設計もできる上級技術者が新たに必要であること、解析結果からのプログラム製作に要する工数を試算すると、最低一年必要であることを話した。要は“人”が欲しいという話だ。
解析、Java化、各々一年だが、単純に足して二年という計算にはならない。解析が終わったプログラムをさみだれ式に作り替えていくため、各々の工程はラップして進められる。このため全体の工期は一年半だった。しかし、当初計画に対しては一年近い遅れとなる。
堀田は苦虫をかみつぶしたような顔をしつつも、ある程度は想定していた雰囲気もあった。その日は「単純に延長はできませんし、人の追加も容易でなないでしょう。しかしまずは受け止めておきます」とだけ言った。
堀田との打合せ後、DXチームと我々は、この先、何か効率よく進めていける方法はないか、解決策はないか、と打合せを持った。年の瀬までは、やや楽観的な雰囲気もあったが年が明けると、後がないという押し迫った感じにもなりだした。このためかみんなが真剣になり、その日の打合せは、飲み会で話した昔の会議のように、朝から夕方にまで及んだ。
解析して、その結果からオブジェクト設計しなおして、Javaプログラムを作る。それをスケジュール通りに行うには、やはり“人”を追加するしかない、いろいろアイデアを出してみても、結局、議論はそこで煮詰まってしまう。
夕方の休憩の後、DXチームの若手が、
「アセンブラから直接、Javaプログラムを作れないかな」と、つぶやいた。
安村がそれを聞いて、「えっ?もう一度言って」と言った。
「解析するんじゃなくて、その、アセンブラプログラムからロジックを“直接”Javaにしてしまうようなことができないかな? ということです」「ようするに、同じ動きをすればいいんでしょ? “同じ動きをする別のもの”に単純に置き換えられる方法があれば解決するんですよね?」と、その若手は、思っていたことを言った。
若者は更に続ける。「今回、Java化するアセンブラプログラムは、DXパッケージとの連携だけなので、新たな要件の追加改修はありませんよね?単純にJava化できればよいだけですよね?そうですよね!」
「単純移行か!」と、安村が手をポンとたたいた。
今まで、リバースエンジニアリングのセオリーに則り、解析・再設計・再製作を粛々と行うことで頭が凝り固まっていた。若手の意見は、純粋に素直な目線からの意見だった。
「われわれの頭は柔軟ではなかったな。“単純移行”する方法を考えてみよう」
アセンブラからJavaへの“単純移行”、翌日からはそれについて検討することになった。
人手には頼らず、機械的にアセンブラからJavaに移行するツールがあればよい。しかし、そんな都合の良い魔法みたいなツール、そんなものは世の中には存在しなかった。正直、アセンブラの連続した手順的なプログラム記述を、オブジェクト指向のJavaに直接変換するのは、素人目にも難しく思える。
また、そもそもアセンブラプログラムというもの自体が少なくなってきている。仮にそういうツールがあっても需要が少ないのではないか、という感じもする。
結局は、いろいろ検討してみても、人手に頼る今の方法しかないのかもしれない。
“単純移行”検討の間、作業の手を止めてしまってはお互いにロスタイムが大きくなる。
このため、我々のチームは、解析作業は進めることとし、DXチームはJava化作業を開始することとした。
しかし、解析結果からオブジェクト設計をするのは、実際にやってみると、ハイレベルのJava技術者をアサインしても、想定以上に時間を要していた。
ここも慣れによって生産性が上がったとしても、この方式で行っていった場合、更に工数が膨らみそうな印象だった。
DXチームとの何度目かの打合せ。
最近、いつもお互いに、ため息と苦笑で挨拶をし、雑談からの開始となっていた。しかしその日は、安村が見つけてきたツールの紹介から、いきなり始まった。
それは、Midas(ミダス)というツールだった。ミダスは、触ったものを黄金に変えるというギリシャ神話の神の名だ。このツールは、黄金に変えるのではなく、COBOLをJavaに置き換えるものだった。
「COBOLで書かれたプログラムをJavaオブジェクトに置き換えるツールはあった」と、安村は言った。
「しかし必要なのは、アセンブラからJavaに置き換えるツールだし・・・」
「まずはCOBOLがどんな感じでJavaに置き換えられるのか、ツールの試供版を使って環境を作って、試してみましょう」と、鹿野が言った。
打合せの後、室山が机で考え込んでいた。作業の手が止まっている。天井を見上げ、何かぶつぶつ言っている。そして、私に言った。
「ちょっと急ですが、今日の午後、もう一度、DXチームとの打合せをセットしてもらえませんか。詳しい話はその時にします」
DXチームを前に室山がホワイトボードの前に立った。
「資料が間に合わなかったので、ホワイトボードで説明します」
室山は、三個の四角を描き、それぞれに、アセンブラ、COBOL、Javaと書いた。
「Midasを使ってCOBOLからJavaに変換しましょう。それで、そのためにまずアセンブラプログラムをCOBOL化します」と言って、アセンブラの四角からCOBOLの四角へと大きな矢印を描いた。そして、COBOLとJavaの四角の間には、Midasと書いた。
「アセンブラからJava、直接移行するのではなく、COBOLを中間成果物とし、それを踏み台にするのです」
思いもよらない発想だった。
アセンブラを、一旦、COBOLに置き換える。そのCOBOLプログラムを、Midasを使ってJava化するというのだった。
「しかしアセンブラをCOBOLに置き換え・・」安村が言いかけるのを室山は制した。
「ええそうです。そのツールを作るのです!」
「このツールは私に検討させてもらえませんか? かなり昔、完成はしませんでしたが、アセンブラソースからCOBOLロジックに置き換えるツールの検討をしたことがあるのです。それを思い出したのです」と、室山は言った。
しかし室山がそのツールを検討したのは二十年以上も前の話だった。室山自身も自信を持ってツールを作れます、とは断言できなかった。
まずはこの移行ツールを作ることができるか、それを検討してみるしかなかった。
数日後、DXチームからMidasの試行結果が出てきた。
COBOLからJavaに置き換えた結果は、人間にとっては、決して読みやすいプログラムとは言えなかった。しかし、テスターにかけると同じ動きをした。
「まったく同じ動きをする別のものだな」
ここで室山は、似たものへの置き換えではなく、別のものに置き換える場合は、読みやすくないものになってしまうのは仕方のないことだ、という話をした。
例えば、COBOLからPL/Iへ置き換えを考えた場合、この二つは同じ構造化言語で兄弟みたいなものだ。そのため記述作法も非常に似ている。従って、COBOLからPL/Iに置き換えた結果は、非常に似たものが出来上がる。
しかし、COBOLからJavaの場合、言語仕様が異なるため別のものができあがる。当然、COBOLの作法とは異なるから、読みやすくはなくなる。
これは、アセンブラからCOBOLに置き換える場合にも言えることだった。その読みにくいCOBOLから、更にJavaに置き換える場合は、もっと読みにくいものができあがるのは必至だった。しかし人間にとって読みにくくても、少なくとも同じ動きはするのだ。
プログラムが読みにくいと、保守性が悪くなる。しかしその場合は、プログラムロジックを説明する何らかのドキュメントがあれば、読みにくさは補完できる。
室山は更に続ける。
「この先、何を優先するかということです。私は読みやすさを犠牲にしても、同じ動きをするものが出来ればよいと思っています。そこが達成すべき目標です。今は、アセンブラからJavaへの移行を優先して考えることにしましょう!」
プログラムの読みやすさは犠牲にせざるを得なかった。アセンブラからJavaへの移行が最優先だ。
アセンブラからCOBOLに置き換えるツールが出来てしまえば、移行作業は淡々と進めることができる。しかし室山は移行ツールの検討を始めたばかりだ。万が一、移行ツールが出来なかった場合、今まで通りの解析結果を基にしてのJava化となる。移行ツールが出来上がっても、読みにくさを補完するためには、ロジックが記述された解析ドキュメントが必要になる。
このため、室山以外の各自には、今まで通りに解析作業を続けさせる。
後悔はなおさら役に立たない。
焦りは過ちを増し、後悔は新しい後悔をつくる。“
ゲーテ
一
正月明け早々、安村と話をした。
現状の課題を我々だけで抱えていても進まないし、後で大問題になってしまう。現在の状況を堀田に包み隠さずに話し、対応策を相談するタイミングは今しかない。
安村も同じ想いだった。
これは、嫌な部類の会議になるのだが、プロジェクトの推進では往々にしてあり得る。抱え込んでいて炎上してしまう前に相談しておかなければならない。だが、そのタイミングは、本当はもっと早かった方がよかったのではないのか?そう思うと、途端に胸にすっぱいものがこみあげて来た。動悸も激しくなる。
会議室には、すでに堀田と竹内がいた。こちらは、安村と私だけ。神妙な顔を入っていったので、空気がピンと張り詰め、部屋の温度が下がったような感じがする。
用意していた資料を大画面テレビに映し出す。
私がまず、解析の見通しを具体的数字で示した。室山の解析ツールを使っても、生産性五割アップは困難であること、フルタイムでは働けないメンバーの多い今の陣容では解析だけでも一年近くかかることを正直に話した。
また、解析要員を追加したくても、伝田と私で退職者にあたった結果が今であり、これ以上の増員は難しいことも話した。
更には、今のメンバーも、介護問題、健康面の問題もあって、当初予定の工数消化が難しくなってきており、契約工数を減らしてほしいことも話した。
全てが後ろ向きな現状報告、解決策もない手づまりな話だった。
安村は、解析結果を基にしてJavaプログラムに落とし込むには、オブジェクト設計もできる上級技術者が新たに必要であること、解析結果からのプログラム製作に要する工数を試算すると、最低一年必要であることを話した。要は“人”が欲しいという話だ。
解析、Java化、各々一年だが、単純に足して二年という計算にはならない。解析が終わったプログラムをさみだれ式に作り替えていくため、各々の工程はラップして進められる。このため全体の工期は一年半だった。しかし、当初計画に対しては一年近い遅れとなる。
堀田は苦虫をかみつぶしたような顔をしつつも、ある程度は想定していた雰囲気もあった。その日は「単純に延長はできませんし、人の追加も容易でなないでしょう。しかしまずは受け止めておきます」とだけ言った。
堀田との打合せ後、DXチームと我々は、この先、何か効率よく進めていける方法はないか、解決策はないか、と打合せを持った。年の瀬までは、やや楽観的な雰囲気もあったが年が明けると、後がないという押し迫った感じにもなりだした。このためかみんなが真剣になり、その日の打合せは、飲み会で話した昔の会議のように、朝から夕方にまで及んだ。
解析して、その結果からオブジェクト設計しなおして、Javaプログラムを作る。それをスケジュール通りに行うには、やはり“人”を追加するしかない、いろいろアイデアを出してみても、結局、議論はそこで煮詰まってしまう。
夕方の休憩の後、DXチームの若手が、
「アセンブラから直接、Javaプログラムを作れないかな」と、つぶやいた。
安村がそれを聞いて、「えっ?もう一度言って」と言った。
「解析するんじゃなくて、その、アセンブラプログラムからロジックを“直接”Javaにしてしまうようなことができないかな? ということです」「ようするに、同じ動きをすればいいんでしょ? “同じ動きをする別のもの”に単純に置き換えられる方法があれば解決するんですよね?」と、その若手は、思っていたことを言った。
若者は更に続ける。「今回、Java化するアセンブラプログラムは、DXパッケージとの連携だけなので、新たな要件の追加改修はありませんよね?単純にJava化できればよいだけですよね?そうですよね!」
「単純移行か!」と、安村が手をポンとたたいた。
今まで、リバースエンジニアリングのセオリーに則り、解析・再設計・再製作を粛々と行うことで頭が凝り固まっていた。若手の意見は、純粋に素直な目線からの意見だった。
「われわれの頭は柔軟ではなかったな。“単純移行”する方法を考えてみよう」
アセンブラからJavaへの“単純移行”、翌日からはそれについて検討することになった。
人手には頼らず、機械的にアセンブラからJavaに移行するツールがあればよい。しかし、そんな都合の良い魔法みたいなツール、そんなものは世の中には存在しなかった。正直、アセンブラの連続した手順的なプログラム記述を、オブジェクト指向のJavaに直接変換するのは、素人目にも難しく思える。
また、そもそもアセンブラプログラムというもの自体が少なくなってきている。仮にそういうツールがあっても需要が少ないのではないか、という感じもする。
結局は、いろいろ検討してみても、人手に頼る今の方法しかないのかもしれない。
“単純移行”検討の間、作業の手を止めてしまってはお互いにロスタイムが大きくなる。
このため、我々のチームは、解析作業は進めることとし、DXチームはJava化作業を開始することとした。
しかし、解析結果からオブジェクト設計をするのは、実際にやってみると、ハイレベルのJava技術者をアサインしても、想定以上に時間を要していた。
ここも慣れによって生産性が上がったとしても、この方式で行っていった場合、更に工数が膨らみそうな印象だった。
DXチームとの何度目かの打合せ。
最近、いつもお互いに、ため息と苦笑で挨拶をし、雑談からの開始となっていた。しかしその日は、安村が見つけてきたツールの紹介から、いきなり始まった。
それは、Midas(ミダス)というツールだった。ミダスは、触ったものを黄金に変えるというギリシャ神話の神の名だ。このツールは、黄金に変えるのではなく、COBOLをJavaに置き換えるものだった。
「COBOLで書かれたプログラムをJavaオブジェクトに置き換えるツールはあった」と、安村は言った。
「しかし必要なのは、アセンブラからJavaに置き換えるツールだし・・・」
「まずはCOBOLがどんな感じでJavaに置き換えられるのか、ツールの試供版を使って環境を作って、試してみましょう」と、鹿野が言った。
打合せの後、室山が机で考え込んでいた。作業の手が止まっている。天井を見上げ、何かぶつぶつ言っている。そして、私に言った。
「ちょっと急ですが、今日の午後、もう一度、DXチームとの打合せをセットしてもらえませんか。詳しい話はその時にします」
DXチームを前に室山がホワイトボードの前に立った。
「資料が間に合わなかったので、ホワイトボードで説明します」
室山は、三個の四角を描き、それぞれに、アセンブラ、COBOL、Javaと書いた。
「Midasを使ってCOBOLからJavaに変換しましょう。それで、そのためにまずアセンブラプログラムをCOBOL化します」と言って、アセンブラの四角からCOBOLの四角へと大きな矢印を描いた。そして、COBOLとJavaの四角の間には、Midasと書いた。
「アセンブラからJava、直接移行するのではなく、COBOLを中間成果物とし、それを踏み台にするのです」
思いもよらない発想だった。
アセンブラを、一旦、COBOLに置き換える。そのCOBOLプログラムを、Midasを使ってJava化するというのだった。
「しかしアセンブラをCOBOLに置き換え・・」安村が言いかけるのを室山は制した。
「ええそうです。そのツールを作るのです!」
「このツールは私に検討させてもらえませんか? かなり昔、完成はしませんでしたが、アセンブラソースからCOBOLロジックに置き換えるツールの検討をしたことがあるのです。それを思い出したのです」と、室山は言った。
しかし室山がそのツールを検討したのは二十年以上も前の話だった。室山自身も自信を持ってツールを作れます、とは断言できなかった。
まずはこの移行ツールを作ることができるか、それを検討してみるしかなかった。
数日後、DXチームからMidasの試行結果が出てきた。
COBOLからJavaに置き換えた結果は、人間にとっては、決して読みやすいプログラムとは言えなかった。しかし、テスターにかけると同じ動きをした。
「まったく同じ動きをする別のものだな」
ここで室山は、似たものへの置き換えではなく、別のものに置き換える場合は、読みやすくないものになってしまうのは仕方のないことだ、という話をした。
例えば、COBOLからPL/Iへ置き換えを考えた場合、この二つは同じ構造化言語で兄弟みたいなものだ。そのため記述作法も非常に似ている。従って、COBOLからPL/Iに置き換えた結果は、非常に似たものが出来上がる。
しかし、COBOLからJavaの場合、言語仕様が異なるため別のものができあがる。当然、COBOLの作法とは異なるから、読みやすくはなくなる。
これは、アセンブラからCOBOLに置き換える場合にも言えることだった。その読みにくいCOBOLから、更にJavaに置き換える場合は、もっと読みにくいものができあがるのは必至だった。しかし人間にとって読みにくくても、少なくとも同じ動きはするのだ。
プログラムが読みにくいと、保守性が悪くなる。しかしその場合は、プログラムロジックを説明する何らかのドキュメントがあれば、読みにくさは補完できる。
室山は更に続ける。
「この先、何を優先するかということです。私は読みやすさを犠牲にしても、同じ動きをするものが出来ればよいと思っています。そこが達成すべき目標です。今は、アセンブラからJavaへの移行を優先して考えることにしましょう!」
プログラムの読みやすさは犠牲にせざるを得なかった。アセンブラからJavaへの移行が最優先だ。
アセンブラからCOBOLに置き換えるツールが出来てしまえば、移行作業は淡々と進めることができる。しかし室山は移行ツールの検討を始めたばかりだ。万が一、移行ツールが出来なかった場合、今まで通りの解析結果を基にしてのJava化となる。移行ツールが出来上がっても、読みにくさを補完するためには、ロジックが記述された解析ドキュメントが必要になる。
このため、室山以外の各自には、今まで通りに解析作業を続けさせる。
0
あなたにおすすめの小説
わたしの下着 母の私をBBA~と呼ぶことのある息子がまさか...
MisakiNonagase
青春
39才の母・真知子は息子が私の下着を持ち出していることに気づいた。
ネットで同様の事象がないか調べると、案外多いようだ。
さて、真知子は息子を問い詰める? それとも気づかないふりを続けてあげるか?
百合ランジェリーカフェにようこそ!
楠富 つかさ
青春
主人公、下条藍はバイトを探すちょっと胸が大きい普通の女子大生。ある日、同じサークルの先輩からバイト先を紹介してもらうのだが、そこは男子禁制のカフェ併設ランジェリーショップで!?
ちょっとハレンチなお仕事カフェライフ、始まります!!
※この物語はフィクションであり実在の人物・団体・法律とは一切関係ありません。
表紙画像はAIイラストです。下着が生成できないのでビキニで代用しています。
どうしよう私、弟にお腹を大きくさせられちゃった!~弟大好きお姉ちゃんの秘密の悩み~
さいとう みさき
恋愛
「ま、まさか!?」
あたし三鷹優美(みたかゆうみ)高校一年生。
弟の晴仁(はると)が大好きな普通のお姉ちゃん。
弟とは凄く仲が良いの!
それはそれはものすごく‥‥‥
「あん、晴仁いきなりそんなのお口に入らないよぉ~♡」
そんな関係のあたしたち。
でもある日トイレであたしはアレが来そうなのになかなか来ないのも気にもせずスカートのファスナーを上げると‥‥‥
「うそっ! お腹が出て来てる!?」
お姉ちゃんの秘密の悩みです。
JKメイドはご主人様のオモチャ 命令ひとつで脱がされて、触られて、好きにされて――
のぞみ
恋愛
「今日から、お前は俺のメイドだ。ベッドの上でもな」
高校二年生の蒼井ひなたは、借金に追われた家族の代わりに、ある大富豪の家で住み込みメイドとして働くことに。
そこは、まるでおとぎ話に出てきそうな大きな洋館。
でも、そこで待っていたのは、同じ高校に通うちょっと有名な男の子――完璧だけど性格が超ドSな御曹司、天城 蓮だった。
昼間は生徒会長、夜は…ご主人様?
しかも、彼の命令はちょっと普通じゃない。
「掃除だけじゃダメだろ? ご主人様の癒しも、メイドの大事な仕事だろ?」
手を握られるたび、耳元で囁かれるたび、心臓がバクバクする。
なのに、ひなたの体はどんどん反応してしまって…。
怒ったり照れたりしながらも、次第に蓮に惹かれていくひなた。
だけど、彼にはまだ知られていない秘密があって――
「…ほんとは、ずっと前から、私…」
ただのメイドなんかじゃ終わりたくない。
恋と欲望が交差する、ちょっぴり危険な主従ラブストーリー。
私が王子との結婚式の日に、妹に毒を盛られ、公衆の面前で辱められた。でも今、私は時を戻し、運命を変えに来た。
MayonakaTsuki
恋愛
王子との結婚式の日、私は最も信頼していた人物――自分の妹――に裏切られた。毒を盛られ、公開の場で辱められ、未来の王に拒絶され、私の人生は血と侮辱の中でそこで終わったかのように思えた。しかし、死が私を迎えたとき、不可能なことが起きた――私は同じ回廊で、祭壇の前で目を覚まし、あらゆる涙、嘘、そして一撃の記憶をそのまま覚えていた。今、二度目のチャンスを得た私は、ただ一つの使命を持つ――真実を突き止め、奪われたものを取り戻し、私を破滅させた者たちにその代償を払わせる。もはや、何も以前のままではない。何も許されない。
あるフィギュアスケーターの性事情
蔵屋
恋愛
この小説はフィクションです。
しかし、そのようなことが現実にあったかもしれません。
何故ならどんな人間も、悪魔や邪神や悪神に憑依された偽善者なのですから。
この物語は浅岡結衣(16才)とそのコーチ(25才)の恋の物語。
そのコーチの名前は高木文哉(25才)という。
この物語はフィクションです。
実在の人物、団体等とは、一切関係がありません。
ユーザ登録のメリット
- 毎日¥0対象作品が毎日1話無料!
- お気に入り登録で最新話を見逃さない!
- しおり機能で小説の続きが読みやすい!
1~3分で完了!
無料でユーザ登録する
すでにユーザの方はログイン
閉じる