投稿日:2021年6月1日
近年IT関係者の頭を悩ませているのが「2025年の崖」問題。その一つの要因であるIT人材の大量引退にどう対処するかお悩みの方も多いと思います。ことにRPGスキル人材は元々他言語スキル保有者に比べ少ないという問題を抱えています。本記事では、開発言語をFF RPGに移行することでそうした状況を打破する戦略が有効であることを述べています。自社のIBM iおよびRPGの将来をどうするかお悩みの方は是非ご一読ください。(編集部)
現代のRPGを容易に習得でき、部門の残りの人々を現代化するのに一役買う開発者をどう採用するか。
08/01/2019 クリスティン・レウォツキー
RPGとIBM iは、その最初期の製品以来ずっとビジネス・アプリケーションの開発と実行を簡素化するように設計されてきました。プログラミング言語とOSの名前や形式さえも変わったかも知れませんが、このコンビは何十年もの間ビジネス遂行にとって基本的なものであり続けてきました。今日、何十年とRPGアプリケーションを書き、維持管理してきた多くのプログラマーが引退の時を迎えつつあります。企業は、縮小する人材プールの中で代替要員を探していることに気付きます ― あるいは少なくともそう思っています。現実は全く異なります。
IBM Power Systemsアカデミック・イニシアチブと提携している単科大学や総合大学でRPGコースを履修している学生に加え、企業は他の言語の経験がある開発者の中から採用することができます。適切なスキルセット(ヒント:必ずしも何年ものRPG/IBM iの経験がある必要はありません)を持つ候補者を探すことで、適度の時間と努力をつぎ込むことを厭わない組織は、少しの非RPGの経験をもつ開発者を熟練のRPG開発者に変えることができます ― そしてその過程で、自身のRPG部門をより良いものに変えるのです。
適切な品質を探す
RPG開発者の空きを埋めるために募集を行おうとする際に、多分企業が抱える最大の問題は、必要なスキルセットを持った候補者の不足ではなく、そもそも間違ったスキルを要求する傾向にあることです。「ほとんどのRPG使用組織は募集広告を行う際に、現実には存在しない人を探しており、たとえ仮にそんな人が居たとしても、彼等はその人を雇う経済的余裕がありません」とPartner 400の共同経営者にしてRPGトレーニングのスペシャリストであり、経験豊かな複数言語による開発者そしてIBM iの伝道師でもあるスーザン・ガントナー氏は言います。
会社は、候補者プールが一般的に未経験者か30年の経験者という2極分化した状況で、しばしば3~5年のRPGの経験を求めます。引退する開発者の代替要員として30年の熟練者を雇えば、この先2~3年後には同じ問題が生じます。
経験と言う落とし穴は始まりに過ぎません。あまりにも多くの場合、求人は具体的過ぎます。組織は特定のビジネス・アプリケーション又はある変更管理システムの経験さえも望みます。
「たとえば、製造業の会社に15年の医療又は保険業の経験者を雇うよう説得するのは困難です」とエクセル・テクニカル・サービス社の社長ボブ・ランジエリ氏は言います。「会社は、適切な人材を見つけるのに単に特定の業種経験を求めるだけでなく、オープンである必要があります。」
「企業はアプリケーション開発の経験、とりわけビジネス・アプリケーションの開発経験をもつ候補者を探すべきです」とガントナー氏は言います。「企業は、書面や口頭でうまく意思疎通ができるといった基本的な能力と、単独でもチームでも働ける能力を必要としています。ソフトウェア開発における長年の経験が欲しいと指定しても、必ずしもRPG又はIBM iの経験である必要はありません。なぜなら、それは容易に教えることができる部分だからです。今日のRPGは、もう1つの現代的言語です。難しいのは、ビジネス・アプリケーションと、ビジネス・ユーザーのニーズを満たすために彼等と働くことの重要性を理解している優れた開発者を見つけることです。」
自身の会社をモダナイズする
ガントナー氏が、今日のRPGを「もう1つの現代的言語」と言う場合、彼女は長い歴史を持つ言語の最新版を指してそう呼んでいます。元々RPGは固定形式の言語で、その様々な属性は特定の列に特定の構文で定義することが要求されました。間違った列に書かれたコードはエラーを引き起こします。これは他の言語を経験した開発者には異質な概念です。
1994年、RPG IVつまり統合言語環境(ILE)RPGでは、幾つかのフリーフォームの式が使えましたが、事実上コードは依然として主に固定形式でした。2001年初めにRPGプログラムのロジック部分がフリーフォームで書けるようになりましたが、データやプロシージャの宣言は依然として決められた列に固定形式で記述することを求められました。それはRPGの構文を現代的言語のそれに更に近づける大きなステップでした。
その一連の過程は2012年のリリースまで続き、事実上すべてのRPGコードがフリーフォームになりました。この「現代的」RPGで書かれたアプリケーションをJava、C又はPHPに馴染みのある開発者に見せれば、彼等はとても見慣れたもののように感じるでしょう。それは、彼等がこの言語を学ぶのに幾らかの時間もトレーニングも必要としないという意味ではなく、学習過程が非常に効率的だろうという意味です。
新しい才能に道を開く
RPGの価値RPGトレーニングのスペシャリストであるスーザン・ガントナー氏は、6人のJava開発者のチームにRPGのトレーニングをする様子を書いています。コースの初回セッションの後、彼女は翌月の第二回セッションに戻ってくる前に彼等に宿題を課しました。彼女が戻ってきたとき、彼等は宿題をやっていないことをおずおずと認めました。彼女が口を開く前に、彼等は理由を説明しました。彼等は既存のビジネス・アプリケーションの幾つかをJavaで書いていました。授業の後、彼等はそのコードの幾つかをJavaからRPGに変換しました。「彼等はRPGの基礎を1週間で学んだだけでなく、RPGの威力と簡便性が、以前Javaで書いた幾つかのコードにとってもっと良い選択になることを学んだのです」と彼女は言います。「これほど嬉しいことはありませんでした。」 |
上記事例の注意点は、RPGコードはフリーフォームである必要があるということです。それは決して当たり前のことではありません。IBMは以前のRPGのバージョンとIBM iをサポートするために膨大な努力を注いできました。その結果、1990年代あるいは1980年代に固定形式で書かれたアプリケーションが、世界中の企業で今でも動いているのです。列が決められた固定形式バージョンのRPGは、初心者には遥かにややこしく、習熟に時間がかかります。これは課題を少々大きくする可能性がありますが、ガントナー氏は効果的な戦略を提案しています。
第1に、どの程度であれ可能な限りRPGコードをモダナイズすることです。これは少なくともそれを完全にフリーフォーム形式に変換することを意味します。コードを再利用できるようにするために大きなコードをモジュール化することや、UIを柔軟にするのはコードのモダナイゼーションのもう1つのステップです。そう、それは時間と労力に一定の投資を伴います。しかし、人材配置はもとより、コードを一層効率的に機能拡張したり、維持管理したりするという点で、御利益にはそれだけの価値があります。1980年代以降、コーディング技法は劇的に改善されてきました。数千行を要する固定形式のRPGアプリケーションは、現代的RPG言語の能力とモジュール化を有効活用するためにリファクタリングを行うことで、劇的に無駄を省ける可能性があります。アプリケーションをモダナイズすることで、RPGとIBM iの利点を残したまま無駄な物を一掃します。同様に重要なことですが、現代的コードは、経験豊かなRPGプログラマーと新世代の開発者双方にとって理解し易く、維持管理し易いものです。
この作業を支援するための自動化されたツールがあります。もちろん、すべてのITアプリケーションが更新に適している訳ではありません。幾つかのコードは、IT部門が更新不能と感じる又は更新できると感じない独自のコードを使っているかも知れません。他の組織は、そのタスクの膨大な範囲を不快だと感じるかも知れません。業務と人員配置の両方の面で価値ある御利益があります。「できるだけ多くのコードを少なくとも2012年のRPGの水準に変換するよう提案しています」とガントナー氏は言います。「そうすれば、新しい人を雇い、それは単にもう1つの言語に過ぎない言うことができます。彼等はコードに取り掛かり始め、リファクタリングしてコードを次のレベルに持って行くことができます。」
ほとんどの会社には少なくとも幾つかの固定形式のコードが残るでしょうが、それで構いませんと彼女は言います。「彼等に新しい事を教え、RPGを大好きにさせてください。なぜなら私の経験によれば、彼等は本当にIBM iが好きになり、RPGもまた好きになるだろうからです。」(上述の「RPGの価値」をご覧ください。)ひとたびフリーフォームRPGを心地良く思う様になれば、彼等は固定形式のアプリケーションに触れることができ、多分簡単な移行を行います。「その時点で、彼等のほとんどが残りのプログラマーの様に多分ともかくRPGに飛び付き、それとうまくやって行くでしょう」と彼女は付け加えます。
その過程は、組織内のすべてのプログラマーに実際に恩恵をもたらします。何人かは、始めからずっとコードをモダナイズするのを心配しているかも知れません。固定形式が好きな人達は、レガシー・アプリケーションの維持管理の責務を負えます。モダナイゼーションはソフトウェアの品質を向上させ、IT部門をもっと即応型にし、組織の将来性が保証されます。このことは、組織が他の経験豊かなRPG開発者の引退を管理し、現代的アプリケーションを拡張する基盤を据えるのに役立ちます。
トレーニング・アプローチ
過去にRPGの経験がない個々の人を訓練する技法には、大まかに次の4つがあります。伸るか反るか、独習、メンターを付ける、組織化されたトレーニングです。
正式なトレーニング
フランシス・カリゾ氏がRPGアプリケーションを書き、これを更改するためにバンヤン・エアサービスに採用されたとき、彼にはRPGの経験はありませんでした。彼の上司は直ぐに彼を90日のRPGトレーニングコースに出席させました。「私は3か月間1日8~9時間、完全にRPGに没頭することができました」とカリゾ氏は言います。「コース終了後、2~3日後にはITチームのためにプログラムを作成したり、保守したりして貢献することができました。」彼はまた、JavaScriptとSQLのコースがRPGの中核となるプログラミング概念を学ぶのに役立ったと認めています。「1つのプログラミング言語を学ぶと、別の言語を学ぶのは間違いなく容易になります」と彼は言います。「また、RPGはDb2に対する照会言語としてSQLを組み込むので、RPGを学ぶ前にSQLに馴染んでいたことは大変役に立ちました。」
独習
もし正式なトレーニングが選択肢になければ、やる気のある生徒は同じアプリケーションを独習のための題材と結び付けることができます。最初のトレーニングを増補したいと思ったとき、カリゾ氏はWebに頼りました。「私は沢山の記事と私と同じ疑問をもつフォーラムをそこで見つけました」と彼は語ります。「YouTubeも役に立ちました。なぜなら、私はどちらかと言えば間違いなく視覚で学ぶタイプですから。」
新しいRPG開発者にメンターを付ける
どのようなトレーニングも、生徒が追加の助言を受ければもっと効果的です。カリゾ氏は優れた同僚から学ぶという機会を活用しました。「彼等は皆30年以上のRPG経験がありました」と彼は言います。「私はRPGとIBM iについてのどんな質問でも彼等のところに訊きに行くことができました(また、今でもそうです)し、彼等はこれからも援助してくれるでしょう。私にとって全く未知の言語を学ぶときに、傍に2人の偉大なメンターがいたことは重要だったと思います。」
もし会社がリソースを利用可能にすることを確約しているのであれば、ランジエリ氏はこのアプローチはとても良いと考えています。「見習いまたはJavaプログラマーを受け入れ、彼等にRPGを教えるためには、Javaプログラマーに時間を割くことができないほどRPGプログラマーが過剰負荷状態にはないように確実にしておく必要があります」と彼は言います。
メンターとメンティー間の接触は、生徒に利益があるだけではありません。他の言語や環境で経験を積んだ開発者は、既存のRPGプログラマーに多くのことを教えることができます。新規採用された人達は新しい言語とプラットフォームの習得に忙しいと同時に、彼等の経験はRPGプログラマーに価値をもたらします。
時間の投資は必ずしも多い必要はありません。「スタッフにシニアメンバーと新規採用者との週1回1時間のコードレビューをさせなさい」とランジエリ氏は言います。「誰もが少し学び、それによって文書の標準を構築すると同時に、開発に携わる全員が同じ技法とスタイルを使用し続けるようになります。」
乗るか反るか
トレーニングへの投資キーボードを叩き続けることに集中していた時代には、IT部門も開発者も自分たちのスキルを最新に保つのに必要な十分な時間とトレーニングに要するお金に投資をしなかったとエクセル・テクニカル・サービス社のボブ・ランジエリ氏は言います。「もし会社が学習に対してもっと開放的であったなら、会社はもっと良いプログラマー、もっと品質の高いソフトウェアを手にし、人々をもっと容易に引き付けたでしょう。COMMONが主催するPOWERUpからSystem i開発者向けに半年ごとに開催されるRPG&DB2サミットまで、様々なトレーニングあるいは教育イベントが全国で行われています。地域のユーザーグループ会議は、限られた予算内に収まる優れたスキル・リフレッシュや直ぐに始められる学習の機会を提供しています。」 |
ほとんど一貫性のない結果をもたらすトレーニング・アプローチは、自分自身で学ぶために既存コードを新しい開発者に好きにさせることです。この方法の有効性は開発者の経験と問題のコードの品質に大きく依存します。経験の浅いプログラマーに固定形式RPGで書かれた1980年代のアプリケーションを与えると、彼等は単に悪い習慣をまねることを覚えるだけです。実際のところこの技法は、例題として高品質のアプリケーションを使い、指導および質疑応答するメンターを付ける形で実施することによってのみ有効です。
伸るか反るか型のトレーニング・アプローチの誘惑に負ける前に、組織は問題のアプリケーションのビジネス運営に対する価値 ― そして失敗あるいは遅延さえも、そのコストを定量化するべきです。大抵の場合、その数字に比べればトレーニングコースのコストあるいは会議に出るための旅費は小さなものです。(「トレーニングへの投資」をご覧ください。)
持続するビジネス価値
当たり前ですが、RPGはビジネス・アプリケーションで広く使われ続けています。「ビジネス・アプリケーションに関しては、特にデータ集約型のビジネス・アプリケーションで、あまり複雑なことをせずにビジネス・アプリケーションが容易に実行できるという点で、RPGを打ち負かせる言語はありません」とガントナー氏は言います。正しい採用アプローチを採り、トレーニングの実施を確約することで、組織は自分達が当面のRPGの恩恵を享受できるようにする筈の才能ある人材を引き付けることができます。
著者紹介
クリスティン・レウォツキー氏はニューハンプシャー州アマーストを拠点とするフリーランスのテクニカル・ライターです。