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

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

 発想力とは、アイデアを生み出す力です。発想力が高いということは、情報に対する感度が高く、豊富に集められた論理的・体系的な情報をベースに、そこから新しい発想を作り出すのに長けているということです。この能力を高めるには色々な方法がありますが、プログラミングに取り組むことでも向上します。

 システム開発に着手する前段階として、解決したい問題があります。例えば、前回、段取力に関し「酒肴料格納システム」についてお話ししました。ある組織において、職員が年末年始に出勤した場合に酒肴料として手当が支給されるのですが、このシステムは、その配分を給与明細データに格納するためのものです。なぜこのシステムを開発したかと申しますと、「市販の勤怠管理システムにデータを一件一件手入力するのが面倒だ。時間も掛かる。なんとかならないか」といった問題があったからです。

 その様な問題提起から、「じゃあどうすれば解決できるだろう」と思考が始まり、
  ・酒肴料に関するデータは既にある。このデータを生かせないか。
  ・職員コードは必ず各職員に割り振られている。
  ・職員コードの重複はない。
  ・酒肴料データには、職員コードと氏名が記載されている。
  ・では、職員コードをキーにして市販の勤怠管理システムと酒肴料データを
   リンクさせられないか。
  ・エクセルに、市販の勤怠管理システムと酒肴料データ、あとプログラムを
   実行するための3つシートを用意しよう。
  ・ボタンを誤って複数回押したとき、その都度酒肴料の金額が加算されると
   酒肴料を多く振り込むことになってしまいとんでもないことになる。
   ボタンを何度押してもリセットされるよう工夫する必要がある。
など思考していくことになります。

 このように、プログラミングによるシステム開発に着手することで、「考え→発想する」という工程を繰り返すことになります。
 次回に続きます。