投稿者: 沼田 勇作

  • (8月3日通信)社員が上司に聞かなければ、今すべきことが分からない会社

    特集【会社の見える化】— 従業員視点

    朝、出社して最初にすることが「今日は何をすればよいですか」と上司に聞くこと。仕事を終えるたびに「次はどれですか」と確認すること。この状態を見ると、社員の主体性が足りないように感じるかもしれません。

    けれども、自分の判断に必要な情報が見えなければ、勝手に進めないことはむしろ責任ある行動です。問題は人ではなく、仕事の現在と次の行動を結び付ける仕組みにあります。

    仕事の一覧だけでは、優先順位は決まらない

    「案件一覧は共有しているから、社員は自分で動けるはずだ」と思っていても、一覧に顧客名と件名しかなければ、次にすることは分かりません。期限、現在の状態、待っている相手、未解決の条件が必要です。

    たとえば三件の注文が並んでいても、一件は顧客の回答待ち、一件は本日中の在庫確保が必要、もう一件は社内承認が終われば発送できます。件名だけを見れば同じ「対応中」でも、取るべき行動はまったく違います。

    その違いを上司の頭の中だけで管理していると、社員は聞かなければ動けません。上司も質問に答えるたびに予定を中断され、忙しくなるほど指示が遅れます。やがて社員は、聞いても返事が来ない仕事を抱えたままになります。

    見えるべきなのは「状態」と「次の一手」

    従業員向けの見える化に、豪華な経営ダッシュボードは必要ありません。自分に関係する仕事について、少なくとも次の項目が分かれば、かなりの判断を自分で行えます。

    • この仕事は今、どの状態にあるか
    • 次に行う作業は何か
    • 誰が行うのか、または誰の返答を待っているのか
    • いつまでに必要か
    • 進められない理由と、判断を求める相手は誰か

    重要なのは、これらを社員が別の報告表へ書き写すのではなく、日々の処理から自然に更新することです。見積もりを送信したら「顧客回答待ち」へ変わり、承認されたら担当者の「本日着手する仕事」に現れる。仕事を進める操作が、そのまま次の人への案内になります。

    すべてを自由判断にする必要はない

    自律して働ける会社とは、社員が何でも自由に決める会社ではありません。決めてよい範囲と、確認すべき条件が明らかな会社です。

    たとえば、値引き率が一定以内なら担当者が進め、それを超えた場合だけ管理者へ承認を求める。納期に余裕があれば通常手順で処理し、遅延の恐れが出たときだけ責任者へ知らせる。この境界が仕組みの中で見えれば、日常の案件は止まらず、例外だけを相談できます。

    反対に「何かあったら相談して」という指示だけでは、何が「何か」に当たるのか分かりません。経験者は過去の空気から推測できますが、新人ほど小さなことまで質問するか、質問せずに危険な判断をすることになります。

    最初は、一つの定型業務を五つ程度の状態に分ける

    まず、毎週繰り返し発生し、質問の多い業務を一つ選びます。受注処理なら「受付」「条件確認」「承認待ち」「手配中」「完了」のように、現場の言葉で五つ程度の状態に分けます。

    各状態について、次へ進むための条件、担当する役割、標準期限、例外時の相談先を一枚に整理してください。そして一週間だけ、実際の案件をその状態に置いてみます。「どこにも当てはまらない」「同じ状態なのに次の行動が二種類ある」という発見があれば、それが自社の業務を理解する材料です。

    最初から完璧な定義を作る必要はありません。自社で小さく作れば、気づいた時点で直せます。社員が掲示板に「この場合は違うのでは」と書き、責任者が認めたら定義を更新する。その繰り返しによって、仕組みが会社の実態に近づきます。

    指示を待つ時間を、仕事を進める時間へ

    社員に聞かれなくてもよい会社を作る目的は、会話をなくすことではありません。単純な状況確認を仕組みに任せ、顧客への工夫や例外への対応など、人が話し合う価値のあることに時間を使うためです。

    社員が画面を開いたとき、自分の仕事だけでなく「なぜ今これをするのか」まで分かる。そこまで見えて初めて、指示待ちは個人の性格ではなく、仕組みで減らせる課題になります。

  • (8月2日通信)悪い意味での温故知新――COBOLとノーコードは、なぜ同じ「考古学」になるのか

    まだシステム化していない会社は、
    遅れているのでしょうか?

    私はむしろ、幸運だと思います。

    大企業や金融機関の中には、数十年前に作られたシステムを、今も止められないまま使い続けている組織があります。古いシステムが元気に動いているのではありません。会社や社会の仕事が依存し過ぎて、止めることも、簡単に取り替えることもできないのです。

    有り体に言えば、システムがゾンビ化しています。

    その象徴として、よく名前が挙がるのがCOBOLです。

    しかし、COBOLという古いプログラミング言語そのものが悪いわけではありません。問題は、人間が業務の仕組みを説明できなくなり、コードだけが動き続けていることです。

    そして、この問題は過去の話ではありません。

    最新のノーコードでも、同じ状態は作れます。

    COBOLは、なぜ金融機関の中枢に入ったのか

    COBOLは「Common Business Oriented Language」、日本語にすれば「共通事務処理用言語」です。

    1959年、コンピュータメーカー、利用企業、米国政府関係者らが参加したCODASYLという組織によって開発が始まりました。当時は、メーカーや機種が変わるとプログラムをそのまま移せないことが珍しくありませんでした。そこで、異なるコンピュータでも利用しやすく、企業の事務処理を共通の形式で記述できる言語が求められたのです。最初の仕様は1960年に公表され、その後1968年に標準化されました。IBMのCOBOL解説、米国国立標準局のCODASYL COBOL資料

    COBOLは、科学技術計算よりも、企業の大量の事務処理を得意とします。

    顧客番号、口座番号、日付、金額など、決まった形式のデータを「レコード」として扱う。大量のデータを順番に読み、集計し、更新し、帳票を出す。円やドルのような金額を、2進浮動小数点の誤差に任せず10進数として正確に扱う。こうした特徴は、給与計算、請求、保険、年金、予約、そして銀行業務と非常に相性が良いものでした。IBMは現在も、packed decimalを金融計算などで大きな数値を正確に扱う形式として説明しています。

    金融機関では、預金、引き出し、振込、利息、手数料、融資、為替、締め処理、帳票作成など、膨大な定型取引を正確に処理する必要があります。そこで、大量処理と安定稼働を得意とするメインフレームと、その上で事務処理を記述するCOBOLの組み合わせが、中枢システムへ深く入り込んでいきました。

    COBOLが今日まで残ったのは、役に立たなかったからではありません。

    むしろ、よく働き、金融機関の中枢を支えることに成功したからです。

    IPAが通信社ロイターの推計として紹介している数字では、COBOLは銀行システムの43%、個人取引の80%、ATMの95%に関係し、世界で約2,200億行のプログラムが稼働しているとされます。数字の定義には幅があるとしても、COBOLが現在も社会基盤を支えていることは間違いありません。IPA「レガシーシステムモダン化と、生き続けるCOBOLのリアル」

    COBOLは、いつ「考古学」になったのか

    最初に作ったプログラムが、そのまま何十年も残っているわけではありません。

    新商品が増える。法制度が変わる。手数料体系が変わる。店舗、ATM、インターネットバンキング、スマートフォンアプリが接続される。他の金融機関や決済網との連携も増える。

    そのたびに改修を重ね、例外処理と暫定対応を積み上げた結果、システムは金融機関の業務史そのものになりました。

    ところが、コードを書いた技術者は退職します。組織も変わります。委託先も変わります。設計書が更新されなければ、文書と実際の処理が少しずつ離れていきます。そして最後には、なぜその条件分岐が必要なのか、なぜそのデータを翌日へ繰り越すのか、誰も説明できなくなります。

    こうなると、システム開発ではありません。

    考古学です。

    コード、データベース、ログ、帳票、バッチ処理、昔の操作手順、ベテラン社員の記憶を「遺物」として集め、失われた業務仕様を発掘することになります。

    COBOLが古いのではありません。

    仕様が失われ、COBOLのコードが唯一の史料になっているのです。

    反対に、設計の目的、データの意味、判断条件、例外処理、外部システムとの関係、テスト条件まで、現行システムと一致した状態で残っていれば、COBOLから別の技術へ移すことはできます。簡単ではなくても、「変えられない」わけではありません。

    IBMも、COBOLの刷新は単なる別言語への翻訳ではなく、データ構造、実行基盤、外部連携、取引の整合性まで含むシステム全体の設計課題だと説明しています。IBM「What Is COBOL?」

    つまり、移行を難しくしている根本原因は、COBOLの文法ではありません。

    人間が、現在のシステムの意味を失っていることです。

    動いているのではない。止められない

    金融システムの難しさは、発掘調査のために簡単に止められないことです。

    日本の全銀システムは、国内のほぼすべての預金取扱金融機関を接続し、振込や送金をオンラインで処理しています。2018年からは24時間365日稼働となり、2023年実績で年間約20億件、約3,671兆円を取り扱ったとされています。日本銀行掲載「全銀ネットの取組みについて」

    もちろん、金融機関のすべてのシステムがCOBOLで動いているわけではありません。しかし金融サービス全体が24時間化したことで、中枢にある古い処理ほど、停止して一気に入れ替えることが難しくなりました。

    これは、宇宙空間を飛び続ける人工衛星を、地上から修理するようなものです。

    地上へ持ち帰れない。長時間停止できない。設計者はいない。設計図も完全ではない。それでも指令を送り、一部分ずつ動作を確認しながら修理しなければなりません。一つの判断を誤れば、通信そのものが途絶える危険があります。

    飛行機にたとえるなら、乗客を乗せて飛び続ける旅客機のジェットエンジンを、一基ずつ止めて修理するような状況です。

    だから古いシステムを一度に捨てるのではなく、旧システムを動かしたまま、新旧を並行稼働させ、処理を少しずつ移します。止められないから、複雑な移行になるのです。

    最新のノーコードが、なぜCOBOLと似ているのか

    ここまで読むと、「それは何十年も前の技術で作ったから起きた問題だ」と思うかもしれません。

    しかし、最新のノーコードでも、同じ構造は生まれます。

    ノーコードを否定するつもりはありません。試作品を早く作る、受付画面を用意する、情報を集める、小さな業務を自動化する。こうした用途では、ノーコードは非常に優れた道具です。

    問題は、社内の誰も理解していない処理によって、会社の仕事が勝手に進むことです。

    画面上で部品をつなげれば動く。担当者が設定した自動処理が、顧客へ連絡し、データを書き換え、承認を進め、請求情報を作る。しかし組織として、次の問いに答えられない。

    • 何をきっかけに処理が始まるのか
    • どの条件で判断が分かれるのか
    • どのデータが変更されるのか
    • 誰に何の権限があるのか
    • 例外が起きたとき、どこまで戻すのか
    • そのサービスをやめるとき、別の仕組みへ移せるのか

    これでは、仕事は動いていても、人間が業務を管理しているとは言えません。

    COBOLは、数十年かけて設計書と担当者を失い、ブラックボックスになりました。

    ノーコードは、設計と運用を残さなければ、導入初日からブラックボックスになれます。

    Microsoft 365の成熟度モデルでも、未成熟なノーコード/ローコード運用について、「その場で」作られ、設計・構築過程の文書がなく、ソース管理に相当する仕組みもなく、少数の詳しい人へ保守が依存する状態が挙げられています。一方、成熟した運用には、文書化、ソース管理、開発・テスト・本番環境の分離、そしてノーコード・ローコード・プロコードを切り替える判断が必要だとされています。Microsoft 365 Maturity Model

    つまり、問題はコードを書くか、書かないかではありません。

    組織が仕組みを理解し、責任を持って変更できるかどうかです。

    レガシーとは「古いシステム」ではない

    レガシーシステムという言葉は、古い言語、古いコンピュータ、古い画面を指すものとして使われがちです。

    しかし本質は、古さではありません。

    人間が、なぜその処理になるのか説明できない。安全に変更できない。止められない。別の仕組みへ移せない。

    その状態になったとき、今日作った最新システムであっても、既にレガシー化は始まっています。

    言い換えれば、レガシーシステムとは、古いシステムではありません。

    変更と廃止の方法を失ったシステムです。

    まだシステム化していない企業は、幸運である

    だから、現時点で十分にシステム化していない企業は、それを遅れとだけ考える必要はありません。

    過去のデータ形式に縛られていない。何十年分もの例外処理を抱えていない。24時間止められない旧システムもない。失われた仕様を発掘する必要もない。

    現在の業務を整理し、生成AI時代に合った仕組みを、最初から設計できます。

    ただし、焦って業務を既製SaaSやノーコードへ押し込めば、今から新しいゾンビを作ることになります。

    試作、受付、情報収集、画面づくりには、ノーコードを積極的に使えばよいでしょう。一方で、会計、請求、在庫、権限、会社資産を変化させる処理は、誰が読んでも判断根拠を追え、テストでき、移行できる形で設計する必要があります。

    重要なのは、すべてをコードにすることでも、すべてをノーコードにすることでもありません。

    会社の中に、業務の意味を理解している人間を残すことです。

    悪い意味での温故知新にしない

    COBOLから学ぶべきなのは、「古い言語を使ってはいけない」という話ではありません。

    どれほど優れた技術でも、人間が設計の意味を残さず、仕組みを理解できなくなれば、やがて止められないシステムになるという教訓です。

    昔の失敗から学ぶための温故知新が、昔と同じ失敗を最新技術で繰り返す温故知新になってはいけません。

    COBOLは、数十年かけて考古学になりました。

    ノーコードを、導入初日から考古学にしてはいけないのです。