投稿日時:

皆さん、こんにちは。フロンティアリンクの佐藤です。前回の第一回コラムでは「世の中を動かす力-『プログラミング』技術」と題して、現在の世の中に欠かすことの出来ない技術である「プログラミング技術」について、その特色を述べました。今回のコラムでは、プログラミング技術は開発者・技術者だけでなく、ビジネスに携わる全ての人々にとって有効なスキルであり、プログラミングスキルがあらゆる仕事に共通の「基礎体力」を形成することに役立つことを述べていきたいと思います。

「ビジネスにおける基礎的な能力」というと、皆さんはどのようなスキルを想像されますでしょうか? 2012年8月に日経BPコンサルティング社が20代の若手社員及び40代の管理職合わせて約1,000名に対して行った「企業で必要なスキルと大学教育に関する調査」によると、「課題設定力」「グローバル視点」「能動性」「創造力」「伝達力(コミュニケーション力)」「視覚化力(プレゼン力)」等がビジネス上の必要な能力であるとのことでした。

私自身がビジネスに必要な基礎的能力を3点挙げるとすれば「創造力」「論理思考力」「コミュニケーション力」となります。先程の調査結果における「課題設定力」「伝達力」「視覚化力」は全て「論理思考力」がベースとなりますし、「創造力」を高めるためには自ずと「グローバル視点」や「能動性」が必要となります。そのため、どのようなビジネスにも共通の基礎スキルとしては「創造力」「論理思考力」「コミュニケーション力」の3点が重要であると私は考えますが、実はプログラミングスキルを習得することで、これら3点の力を「全て同時に」引き上げることが出来るようになります。だからこそ、私はプログラミング技術は開発者・技術者だけでなく、ビジネスに携わる全ての人々が習得すべき「基礎スキル」であると思っています。

まず、プログラミングスキルと創造力の関係について説明しましょう。前回のコラムで、プログラミングとは「人間の思考様式と行動を自動的に再現することによる価値創造手段」であると書きましたが、プログラミングとは「価値創造ツール」すなわち「無から有を生み出すことが出来る」ツールであるということが言えます。ただし、プログラミングだけで全ての価値が創造できるわけではありません。プログラム=ソフトウェアと、それと組み合わされるハードウェア=機械、さらにはそれらを活用する「人間」が存在することで、初めて様々な価値が創造されます。ここでの大切なポイントは、新しい価値を創造したいと思った際に、それが「ソフトウェアのみで出来ること」なのか、「新たなハードウェアも必要となるもの」なのか、あるいは「人間の関与が不可欠なもの」なのかを見極めることになります。この見極めこそがまさに「創造力」が最も発揮される領域なのですね。

ビジネスの目標を達成するために、

1. パソコンやスマートフォン等の既存ハードウェアや、その上で動作する既存ソフトウェアを活用し、目標達成のためのソフトウェアのみを新規作成する必要がある
2. 既存ハードウェアだけでは目標達成が出来ないので、追加ハードウェアを作成または購入し、さらにそのハードウェア用のソフトウェアも新規作成する必要がある
3. ハードウェアやソフトウェアでは解決しないので、人手をかける必要がある

これら3つのケースが存在するとした場合、必要なトータルコストは一般的には1→2→3の順に増加します。言い換えれば、実現したいことを出来るだけ「1」=ソフトウェアの開発のみで達成できるように様々な視点で考えることが必要ですが、この検討を進める上では「出来ること」「出来ないこと」の切り分けはもちろんのこと、ありとあらゆる代替手段を検討したり、あるいはビジネス目標(または目的)に立ち返り、本当に必要なものなのかどうかを熟考するなど、非常に高い「創造力」が要求されます。

この創造力を高めるためには、まずは当然ですが「ソフトウェアで出来ること・出来ないこと」の見極めが出来なければなりません。例えばある業務改善を行うために「Excel+マクロ/VBA」(=ソフトウェア)だけで処理が出来るのか、それとも「専用のデータベースサーバー」(=ハードウェア)との連携処理が必要なのか、というイメージですね。これが出来ないと「マンパワーの力業で解決する」という非効率な選択肢しか出てこなくなる可能性があります。そのためにはまずは「プログラミングスキル」を習得し、「プログラムとは何か」「プログラム=ソフトウェアで出来ることは何か」を知る必要があるということになります。逆に「ソフトウェアで出来ること・出来ないこと」の判断が可能になれば、思考回路の範囲を拡張し「人間でなければ解決できないこと」を創造的に検討することも可能となります。すなわち、プログラミングスキルは創造力を高めると同時に「問題の本質」を考えることにも役立つということになります。

次に、プログラミングスキルと論理思考力の関係について説明しましょう。プログラミングは「プログラミング言語」と呼ばれるプログラム記述のための仕組みを使って作成されます。実は、プログラミング言語のルール自体はさほど難しくはありません。実際、例えば弊社のVBAやJava等のプログラミングセミナーでは、プログラミングの基本ルールは1-2日で習得出来るようにカリキュラムを設定しています。ただし、ルール自体はそれほど難しくなくても、実際に「どのようにルールを適用するか」言い換えれば「自分が実現したいことを、どのようにプログラミング言語で書き表すか」を自分自身で考えられるようになるためには、膨大な練習が必要です。これがまさに「論理思考力」を強化するプロセスになるのですね。

論理思考の基本は「ピラミッド思考」すなわち「論点(階層)の掘り下げによる詳細化」「同一階層における事由や状況の網羅」
「各論点・事由等の順序指定」によって行われますが、プログラミングはまさにこの「詳細化」「網羅」「順序指定」を行うことで作成を進めていくことになります。開発したいテーマがピラミッドの最上段にあり、その機能毎に詳細化を行い、詳細化を行った各ブロックに対して、そのブロックに必要な開発要素を網羅し、さらに各要素間の実行順序を指定することで、全てのプログラムは作製されます。

言い換えれば「開発テーマはどのような大まかな要素に分解することが可能か」「それぞれの大まかな要素を実際にプログラムとして記述するためには、何をどのような順番で網羅すれば良いか」ということを繰り返し考えていくのがプログラムのロジック・アルゴリズム作成の基本的な流れであり、この作業を開発テーマ毎に何度も行うことになります。さらに論理思考を考える上での大切なポイントである「MECE(Mutually Exclusive and Collectively Exhaustive)=『漏れ・ダブり無し』」の考え方についても、「重複する機能・プログラム記述をひとまとめにして共通化する」ことを通じて「ダブり無し」の状態を徹底的に創り上げ、その上で必要な開発要素を「漏れなく」網羅していくことで、MECEの考え方を「実践的に」習得することが出来ます。まさに「よいプログラムはMECEである」と言えるわけです。

私自身も論理思考=ロジカルシンキングをプログラミング以外にもMBA等を通じて習得し、また実際にセミナーでも教える立場にありますが、自分自身の経験や、他の論理思考に関する書籍等を読んで思うのは「プログラミングほど論理思考の習得に適した仕組みはない」ということです。通常の論理思考の学習方法が抱える一番の問題は「現実(=業務上)のテーマに対する答えが分かりにくい」ことと「自習に適さない」ことにあります。論理思考を「考え方に筋道が通っているかどうか」と読み替えれば、筋道がきちんと通っているかどうかを判断することは最初は専門家(コンサルタントや講師等)の手助けを借りなければ、自分だけではなかなか出来ません。従って、通常の論理思考の学習方法は「仕組みは理解できるけれど応用が利かない」「自分一人では学習を進めにくい」というものがどうしても多くなってしまっているのが事実だと思います。

一方でプログラミングの場合、そのロジック・アルゴリズム=論理を考えてプログラムを記述し、実行して結果を得ることができれば「自分の考え方は一応は合っている」ことが分かるわけです。「一応は」と付けたのは、重複する記述を共通項にくくり出していなかったり、非効率な(=プログラムのステップ数が多い)記述をしていたりしていても「実行」は出来るため、その点については自分自身で気をつける必要があるからなのですが、この点についても「同じことを実行するプログラムであれば、ステップ数が少ない方が良い」という原則を守るだけで、アルゴリズムのブラッシュアップも自分で出来るようになります。言い換えれば「より洗練された論理思考」を「自習で」身に付けることがプログラミングの場合は可能であるということなのです。

最後に、プログラミングスキルとコミュニケーション力の関係について説明しましょう。プログラミングスキルの習得とコミュニケーション力向上に関連性があるということには、少し意外に思えるかもしれません。特に先程の「論理思考力」との関連で、プログラミングは「自習」出来る点が他の論理思考力向上法よりも優れていると書きましたので。

「コミュニケーション」の定義を広辞苑で調べると

コミュニケーション【communication】社会生活を営む人間の間に行われる知覚・感情・思考の伝達。言語・文字その他視覚・聴覚に訴える各種のものを媒介とする。

とあります。この定義をもう少し整理して考えると、発信者から発せられた「情報」が受信者に伝わること、言い換えればコミュニケーションとは「複数の関係者間での情報伝達と共有」と言い換えることが出来ます。プログラミングの場合は確かに基礎的なものであれば一人で開発を進めることが普通ですが、より実践的かつ大規模なプログラミングを行う場合は「外部からの開発テーマ指示」の下に「複数の開発スタッフが機能分担をして」作業を行うことが殆どです。すなわち、実践的なプログラミングの場においては、様々な形での「コミュニケーション」に基づいて、複数の関係者間での役割・機能分担を行うことが一般的ということになるのですね。

プログラミングを進める上でコミュニケーションが欠かせない最大の理由は「開発テーマの決定プロセス」にあります。自分自身で開発テーマの詳細までを全て一人で決められるような立場や状況であればコミュニケーションは不要なのですが、業務上の開発テーマの場合、それが大規模なシステム開発であろうと現場レベルでのExcelを使った業務改善であろうと「自分以外の他者」のニーズ・要望を汲み上げることが殆どの場合で必要となります。要は、自分一人で完璧に完結する仕事であれば何をどのように進めても良いのですが、そのような仕事は一般的に見れば、非常に少ないということです。

従って、開発テーマを決める際には、社内外の関係者の様々な意見をまずは集約し、先程の「創造性」のところで触れたように「出来ること・出来ないこと」を一つずつ検討した上で開発内容の詳細を決めていきます(この作業は「要件定義」と呼ばれます)。この要件定義の際には、関係者それぞれが使う「言葉」の定義一つ一つにも気をつけていく必要があります。なぜならば、同じ言葉であっても人が違えば頭の中のイメージが異なるケースがあるからです。

コミュニケーション能力の高さとはつまるところこのような「人によって異なるイメージを持つ言葉の定義を明らかにし、共通化した上で情報共有すること」が出来るかどうかにあります。プログラミングを行う場合は、言葉の定義が関係者間で実際には異なっており、もし現場のニースと異なるイメージのものを開発してしまった場合には「最初から開発をやり直す」必要がある場合もあるため、できる限り綿密に言葉の定義の明確化を進める必要があります。そのため「言葉の端々まで注意をし、情報に行き違いがないかどうかを確認する」癖が自然と備わることになります。結果として、プログラミングスキルを高め、実践的な仕事を多く経験するようになると、自然とコミュニケーション能力も高まることになるのですね。

このように、プログラミングスキルを習得することで「創造性」「論理思考力」「コミュニケーション力」といった、ビジネスにおいて共通の基礎能力を効率的かつ効果的に高めることが可能となります。しかも、プログラミングスキルを習得することで、現場レベルでの業務効率化も実際に進めることが可能となるメリットも生じるところが、他のいわゆる「机上の学習」とプログラミング学習の最大の違いです。

例えば現場のスタッフがプログラミングスキルの基礎を習得していた場合、様々な業務改善案を実現可能か否かについて効率的かつ創造的に考えることが出来るだけでなく、実際の業務改善を自らの業務として進めることも可能になりますので、他者に任せる場合に比べて時間短縮やコスト低下も期待することが出来ます。さらに、もしマネジメントレベルがソフトウェア・ハードウェア等の技術面にまで踏み込んで「出来る・出来ない」の判断を自らのスキルで出来るようになれば、意思決定に必要な時間も大幅に短縮可能となります。

プログラミングスキルを習得することの最大のメリットは、「プログラミングの仕組み」のイメージを理解することで、様々な業務課題やお客様の抱える問題の解決策をシステマティックに検討することが可能になることです。プログラムによる自動化だけで解決できるのか、新たなハードウェアが必要なのか、それともマンパワーが不可欠なのか、あるいはこれらの組み合わせなのか。この視点で物事を捉えることが出来れば、業務は大幅に効率化し、ビジネスチャンスも大きく広がります。

ここまで読み進めて下さった皆さんには、プログラミングが決して開発者・技術者だけのためのものではなく、ビジネスに携わるあらゆる人々にとって有益なスキルであることをご理解いただけたのではないかと思います。ただし、前回のコラムでも書いた通り、プログラミングの習得には「時間」が必要です。先の「論理思考力トレーニング」の部分に、一般的には2-3年程度の時間が必要となります。早く習得すればその分、早く実務に応用することが可能ですから、興味をお持ちの方は是非、まずは基本的なところから学習を始められることをお薦めいたします。

投稿日時:

ビジネスパワーアップコラム<プレゼン編> 第四回

前回のプレゼン編コラムでは「プレゼン作成において覚えておくべき数字キーワード」のお話をしましたが、今回は少し視点を変えて、「プレゼン本番を迎えた際のキーポイント」をご紹介したいと思います。

プレゼン本番。どれだけ入念な準備をし、練習を行ったとしても、本番ではどうしても多かれ少なかれ「緊張」をしてしまうと思います。私自身もプレゼン本番、特にプレゼン前の1時間くらいは、何度経験をしてもあまり好きな時間ではありません。この緊張の原因ですが、大きく分けて2つあると私は考えています。一つは「時間に起因する緊張」、もう一つは「雰囲気に起因する緊張」です。

プレゼンにおいて最も悩ましいポイントの一つは「持ち時間」です。自身が伝えたいことを「時間内に」伝え、それに対して同意を得ることが出来るかどうかがプレゼンの最大の目的ですから、時間をオーバーしてしまうことはもちろんのこと、時間内に内容を分かりやすく伝えられなければ、それもプレゼンとしては「失敗」というわけです。

この「時間」の制約については、当たり前の話ではありますが「練習」あるのみと私は考えています。前回の「数字キーワード」でお伝えしたように「1枚1分」「1分で最大300文字」という決まりをしっかり守って作ったつもりでも、最初の通し練習では「時間超過」をすることが殆どです。通し練習を行って時間感覚をつかんだ後、内容の絞り込み・整理を一度行い、その上で「時間内に」話し終える練習を最低2~3回は繰り返すこと。この「リハーサル」をしっかり行うことで「時間感覚」を身に付けられれば、時間を味方にすることが出来ます。こうなると、内容をしっかり固めてあるプレゼンであれば、本番でもほぼ8割方はうまく行くと思います。

そして、もう一つの緊張の要因は「雰囲気」です。プレゼンを経験した方ならイメージが沸くかと思いますが、どのような場所や内容であれ、プレゼン時には「独特の雰囲気」が流れていると私は思っています。「相手の話を真剣に聞こう」という想いや「何か突っ込むポイントはないだろうか」という感覚等が入り交じった、まさに「張り詰めた空気」がプレゼンの場を支配することは多いと思います。

この「独特の雰囲気」にのまれてしまうと、せっかくよい資料を用意しても、言葉がうまく出てこずに失敗をしてしまうかもしれません。特に聴衆の中に「腕を組んで眉間にしわを寄せている」ような、友好的な雰囲気ではあまりない方がいると、余計に緊張してしまったりするかもしれません。

このような場合、私が良く行うのは「プレゼンの味方」を探す作業です。「プレゼンの味方」の探し方は簡単です。話し始めの30秒~1分くらいで、まずは「きちんと目を合わせて話を聞いてくれる人」を探します。さらにその中で、目が合うと少しほほえんでくれたり、雰囲気が柔らかそうなど、「一対一であれば話をしやすそうな人」を2~3人探します。私の経験では、どのようなプレゼンであっても、このような「話しやすそうな人」は、1人はいるものです。

この「プレゼンの味方」が見つかれば、プレゼンはほぼ成功したも同然です。後はこの「味方」の人だけに順番に目を合わせながら、話をすれば良いのですね。相手が10名だろうと100名だろうと、あるいは1,000名だろうと、すべきことは同じです。対象を2~3人に絞って話すイメージをつかんでしまえば、雰囲気による緊張感を和らげることが出来ます。他の大多数は「空気」と思ってしまえばよい、ということですね(もちろんですが、必要なフォローは後からする必要がありますが)。

以上、時間と雰囲気というプレゼンの2大緊張要因に対して、緊張を和らげることが可能なキーポイントのご紹介でした。プレゼンで緊張してしまう方は、是非参考にしていただければ幸いです。

(担当:佐藤 啓

投稿日時:

講師からのコメント

今回もマンツーマンとのことで、私もいろいろと細かくお話が出来て良かったです。Wordへの劣等感が少し減ったとのことで、嬉しいです。ぜひお仕事で使ってみてくださいね! ありがとうございました。
(担当:福井 康江

講師からのコメント

初級・応用とのご受講、ありがとうございました。エクセルには今回お話ししたように「普段使っていないけれど、便利な機能」もたくさんあります。是非、今日の内容をしっかり復習し、お仕事にお役立ていただけたらと思います。またのご受講をお待ちしております。
(担当:瀧川 仁子

講師からのコメント

VBの学習に王道はありません。基礎をしっかり学び、それを使ってみること。また、既存のソースを色々見て、いじってみること。まずはこれらを繰り返すことです。2日間、大変お疲れ様でした。次のステップへのご参加も、お待ちしております。
(担当:奥田 英太郎

講師からのコメント

VBの奥深さ、分かっていただけましたか! いや、嬉しいですね。ありがとうございます。確かにVBは面倒な言語ではありますが、ここまで来ればあとは「慣れ」という話もあります。プログラミングの学習は「使うのが一番」です。是非時間を見つけて、色々なソースを書いてみて下さいお疲れ様でした。次のステップへのご参加も、お待ちしております。
(担当:奥田 英太郎

講師からのコメント

VBAについては全く初めてとのお話でしたが、今日学習した基礎的な部分についてはしっかり学べていただけたとのことで、嬉しいです。何事もそうですが、VBAは特に「基礎」が重要です。明日の応用編も引き続きご参加とのことですので、是非続けて「基礎文法」を学習していただけたらと思います。
(担当:瀧川 仁子

講師からのコメント

VBAは英語と同じ「言語」ですので、どうしても習得には時間が必要です。ただし、どこかで始めなければ習得もかないませんので、まずは第一歩を踏み出すことが大切だと思います。是非今回学んでいただいた内容を練習し、業務で活用してみていただけたらと思います。
(担当:瀧川 仁子

講師からのコメント

初級編に引き続きのご参加、お疲れ様でした。ご不明点も解消されたとのことで、嬉しく思います。ぜひお仕事で活用いただき、機会があればまたテーブル設計やクエリ実践等にご参加いただけたらと思います。ありがとうございました。
(担当:福井 康江

講師からのコメント

セミナーご受講お疲れ様でございました。今日の初級編の内容は、今後のアクセス学習を進める上での一番の土台となります。初級の内容をしっかり理解することで、応用、テーブル設計とステップを進めやすくなります。是非お仕事で復習し、活用いただければ幸いです。
(担当:佐藤 啓

講師からのコメント

セミナーご受講お疲れ様でございました。ライブセミナーは最初は講師がすぐそばにいないので不安に思われるお客様も多いのですが、講師も皆様の進捗や疑問点等に対して、通常のセミナーよりも一層気を配るようにしております。アクセスはテーブル設計まで学んで始めて「使える」ようになりますので、今後も是非学習を続けていただけたらと思います。
(担当:佐藤 啓