対象:プログラミングを通じて得られる能力について知りたい方 
効果:プログラミングがもたらす能力面での副産物について知ることができます。

 前回、プログラミングによって磨かれる能力に関し、構築力についてお話しました。今回は、システム作成の過程で研鑽した能力が、プログラミング以外でどう生かされるかについて考えたいと思います。

 例えば、経営組織は、様々な要素により構築されています。
 層別に捉えると、
   ・経営層
   ・管理層
   ・現場担当者
 役割別としては、
   ・会計
   ・総務
   ・人事
   ・営業
   ・製造
   ・開発
など、視点を変えることで別々のカテゴリーが浮かび上がってきます。

 そして、各層や各役割においての活動内容も多様なパーツにより構成されています。
 「経営層」を例に挙げると、
   ・会社の存続・発展
   ・社会的存在意義の実現
という大目的を実現するため、
   ・収益向上
   ・支払義務履行
   ・計画的返済
   ・資産管理
   ・新商品・サービス創出
   ・雇用管理
   ・職員の生活を守る
   ・職員のやりがい創出
   ・顧客の創出
   ・顧客との関係継続
など、各目的を水準以上の状態に維持し続ける必要があります。
 そのため、管理層に働きかけ、上記 会計から開発までの各部署にそれぞれの役割を遂行するよう指示します。

 以上のような、課題設定から様々な機能実施の流れは、プログラミングによりシステムを作成する流れにも共通した点があると考えます。
 前回、システムの作成について、
   1.課題の明確化
   2.システムを作成するための各種情報の取得
   3.システムの構成
   4.全体の処理の流れ
   5.大ブロック毎の処理の流れ
   6.各大ブロックを構成している中小ブロックの処理の流れ
   7.中小ブロックの処理を実現するためのプログラム文の作成
といった流れのなるとお話ししましたが、それに経営を当てはめるなら、

   1.課題の明確化
    〈大目的〉
      ・会社の存続・発展
      ・社会的存在意義の実現
    〈中目的〉
      ・収益向上
      ・支払義務履行
      ・計画的返済
      ・資産管理
      ・新商品・サービス創出
      ・雇用管理
      ・職員の生活を守る
      ・職員のやりがい創出
      ・顧客の創出
      ・顧客との関係継続

   2.システムを作成するための各種情報の取得
    ・各部署からの情報収集

   3.システムの構成
    〈層別〉
      ・経営層
      ・管理層
      ・現場担当者
    〈役割別〉
      ・会計
      ・総務
      ・人事
      ・営業
      ・製造
      ・開発

   4.全体の処理の流れ
    ・全社における役割の遂行

   5.大ブロック毎の処理の流れ
    ・会計から開発までの各部署における、部署全体での役割の遂行

   6.各大ブロックを構成している中小ブロックの処理の流れ
    ・会計から開発までの各部署における、部署内での各チーム単位での役割の遂行

   7.中小ブロックの処理を実現するためのプログラム文の作成
    ・会計から開発までの各部署における、各個人の業務の遂行

となります。

 このように、プログラミングによるシステムを作成する活動は、経営全体を把握する能力の研鑽にも繋がると考えます。時代劇で、よく戦国武将が囲碁や将棋をたしなむシーンがあります。それは、娯楽の他に戦略脳を鍛える意味もありますが、プログラミングにも同様の効果があると思います。
 次回に続きます。