派遣で働くエンジニアのスキルアップを応援するサイト

PRODUCED BY RECRUIT

【イベントレポート】エンジニアが生き残るためのテクノロジーの授業 [第1回]「ITエンジニアに求められるスキルと、業界のトレンドを知る」

株式会社リクルートスタッフィングが運営するITSTAFFINGでは、弊社に派遣登録いただいている皆さまのスキル向上を支援するイベントを、定期的に開催しています。

2018年4月18日のイベントでは「エンジニアが生き残るためのテクノロジーの授業」を開催。

技術士の資格を持ち、著書に『エンジニアが生き残るためのテクノロジーの授業』(翔泳社刊)を持つ増井敏克さんが、同書をベースに、エンジニアが生き残るためのテクノロジーについて、6回に分けて解説します。今回はその第1回目です。

f:id:itstaffing:20180607124720j:plain

■今回のイベントのポイント

・ITエンジニアを取り巻く環境の変化
・ITエンジニアのキャリアと求められるスキル
・ビジネス目線でITを考える
・IT業界のトレンド(人工知能/IoT/こどものプログラミング教育)


【講 師】増井敏克さん
▲【講 師】増井敏克さん
増井技術士事務所代表。技術士(情報工学部門)。情報処理技術者試験にも多数合格。ビジネス数学検定1級。「ビジネス」×「数学」×「IT」を組み合わせ、コンピュータを「正しく」「効率よく」使うためのスキルアップ支援や、各種ソフトウェアの開発、データ分析などを行う。著書に『おうちで学べるセキュリティのきほん』『プログラマ脳を鍛える数学パズル』『エンジニアが生き残るためのテクノロジーの授業』『もっとプログラマ脳を鍛える数学パズル』(以上、翔泳社)、『シゴトに役立つデータ分析・統計のトリセツ』『プログラミング言語図鑑』(以上、ソシム)がある。

ITエンジニアを取り巻く環境の変化

増井さんは、手始めに、いくつかの調査結果についてグラフを示してくれました。「世界のICT市場の推移」という調査では、今後もICT市場は右肩上がりで成長していくことが予測されています。ICT市場の成長は、IT人材の不足という切実な問題を生じます。IPAの「IT人材の“量”に対する過不足感」という調査では、IT人材が明らかに足りていないと感じている企業が年々増え続けています。

f:id:itstaffing:20180607124728j:plain
▲右肩上がりで成長するICT市場とIT人材不足。エンジニアは環境の変化に対応しなければ生き残れない

では、そうした人材をどう調達するか。案としては、社内で調達する(別部署から確保し新たなスキルを身に付けてもらう)、社外から調達する(中途採用)、外部に委託するという3つが挙げられます。面白いことに、ユーザー企業とIT企業では「社内調達」が40%以上を占め、ネット企業では「中途採用」が55%近くを占めています。

いずれにせよ、エンジニアが生き残るためには、新たなスキルを身に付け、環境の変化にいち早く対応していく必要があるのです。

ITエンジニアのキャリアと求められるスキル

では、どのようなスキルを身に付けていけば良いのでしょうか。増井さんは「時代が変わっても、変わらない知識を持っておくことが大切」と強調します。

これまでは、大企業における典型的なエンジニアのキャリアパスといえば、プログラマからSEへステップアップしていくというものでした。しかし、現在は役割も細分化・専門化され、必要な知識やスキルは大きく異なります。

f:id:itstaffing:20180607124731j:plain
▲これまでと違い、現在のキャリアパスは多様化している

IPAの調査でも、変化に不安を感じているエンジニアが半数前後を占めているという結果が出ています。そのため、新しい技術やスキル習得に自主的に取り組む必要があります。

一方で、企業の経営者が今後エンジニアに求めていくものとして「事業全体の技術を俯瞰し、全体を設計する能力」「ビジネスアイデア構想力」が挙げられています。

つまり、個々の技術よりも、経営者が求めているのは全体を見る能力だということ。特にビジネス目線は外せない要素となりつつあります。

ビジネス目線でITを考える

たとえば、Webで収益を上げるには、どうすれば良いでしょう? すでにいくつかのモデルがあります。たとえば、サービスの提供(サービス利用料を徴収する)、広告を入れる(広告収入)、Webと連動したWeb以外のサービスから得る、人と企業のマッチングを図る(人材紹介)などです。

f:id:itstaffing:20180607124735j:plain
▲マネタイズもエンジニアが考えていく時代へ

これからの時代は、どうやってマネタイズするかということも、エンジニアが考えていかなければなりません。

たとえば情報を収集するセンサーは、自動販売機、自動改札、POSレジなど、すでに私たちの暮らしのいたるところで利用されています。今年はビッグデータ利活用元年と言われており、そうしたセンサーで収集・蓄積されたデータの利活用が本格的に始まろうとしています。

「従来は課題を解決するために、新たな技術を生み出してきました。しかし、今はそうではありません。技術も一通り出そろっており、あとは、それらをどう組み合わせて課題を解決していくか――そんな発想が求められていきます」(増井さん)

f:id:itstaffing:20180607124744j:plain
▲課題解決のために技術を生み出すのではなく、これからは技術を組み合わせて課題を解決する

IT業界のトレンド

第1回の締めくくりは、今後注目すべきIT業界のトレンドについて紹介してくれました。

まずはAIです。「AIに関わらずにいられるのは、ここ10年ぐらい。今後は、必ず何らかの形で関わることになる」(増井さん)とのことでした。

AIを根本から学ぶには高度な数学の知識が必要ですが、実際には数学を知らなくても、Pythonがわかれば、豊富なライブラリを使って簡単にAIの応用システムを構築できるそうです。

f:id:itstaffing:20180607124748j:plain
▲Pythonと豊富なライブラリを使えば、たった10行で機械学習を実装できてしまう

次にIoTです。IoTは、すでにさまざまなところで活用されており、最近、各社がリリースしているスマートスピーカーもIoTの応用製品の一つです。では、IoTの基礎は、どうやって学べば良いのでしょうか。

増井さんのお勧めは超小型PC「Raspberry PI」です。各種センサーを接続してIoTの基礎を学ぶのに最適な製品だそうです。「数千円で購入できるので、仕事でIoTに携わる機会がないという人も、自宅で触れてみると良いでしょう」(増井さん)とのことでした。

f:id:itstaffing:20180607124753j:plain
▲Raspberry PIを手に「仕事でやっていないから」ではなく、まずは自分でやってみることが大切とアドバイス。

もう一つ、面白かったのが、こどものプログラミング教育の話。2020年に小学校でもプログラミング教育が開始されます。しかし「プログラミング」という教科が増えるのではなく、各教科に「プログラミング的思考を取り入れる」とのこと。算数なら、三角形を描く手順を、プログラミング的思考で考えさせるということです。まさに不変のITスキルだと感じました。ただし、現状では教えられる教員がいないという課題もあり、そこにも何らかの形でエンジニアの活躍の場がありそうです。

AIやIoTは、すでに実務でも使われ始めています。「知らない」「まだ早い」は通用しません。「まずは自分でやってみるべき」というのが増井さんのアドバイスでした。

AIもIoTも興味はあるものの、忙しさを理由に、なかなか手を付けられません。しかし、今回のセミナーを聞き、そんなことは言っていられません。まずはPythonをインストールするところから始めてみようと思いました。

【イベントレポート】ネットワーク機器の基本的な仕組みを理解しよう

株式会社リクルートスタッフィングが運営するITSTAFFINGでは、弊社に派遣登録いただいている皆さまのスキル向上を支援するイベントを、定期的に開催しています。2018年4月12日に開催したのは、Geneさんによる、「ネットワーク機器」の基本を学ぶイベント。 近年ますます需要が高まるネットワークに関する知識を基本からじっくり解説しました。

■今回のポイントは

・ネットワーク機器の理解で押さえるべき「用途/役割」「転送範囲」「転送の仕組み」
・レイヤ2スイッチは「全体でひとつのネットワーク」
・ネットワークを相互接続するルータの仕組み
・レイヤ2スイッチとルータをあわせた「レイヤ3スイッチ」


【講 師】Geneさん
▲【講 師】Geneさん
2000年よりメールマガジン、Webサイト「ネットワークのおべんきょしませんか?」を開設。「ネットワーク技術をわかりやすく解説する」ことを目標に日々更新を続ける。2003年CCIE Routing & Switching取得。2003年8月独立し、ネットワーク技術に関するフリーのインストラクター、テクニカルライターとして活動中。

ネットワーク機器の理解で押さえるべき「用途/役割」「転送範囲」「転送の仕組み」

ネットワークを構成する基本的な機器は、「レイヤ2スイッチ」「ルータ」「レイヤ3スイッチ」の3種類があります。まず、これらの機器を理解するためには

・用途/役割
・データ転送範囲
・データ転送の仕組み

の3つのポイントを押さえることが大事だとGeneさんは言います。

f:id:itstaffing:20180522143456j:plain

普段データを送受信しているものといえば、PCやサーバなどを想像するかもしれませんが、通信の主体はアプリケーションです。主に、Webブラウザや電子メールなどのコミュニケーションツールを指します。

そのアプリケーションが動作するPCやサーバをつなぎ、データを転送する役割を持つのが、ネットワークです。アプリケーション間でデータを送受信するためには、階層ごとに通信経路を作っています。

「ネットワークは『誰に使わせるネットワークか?』という観点で分類されます。社内ネットワークなど、限られたユーザが使うプライベートネットワークや、いろんな会社や、個人ユーザのPCやサーバが繋がり、ユーザを限定しないインターネットがあります。これらはセキュリティをどの程度確保するかに応じて、考える必要があります」(Geneさん)

ネットワークを構成するものは、大きくわけて機器、ケーブルや電波などの伝送媒体、それらを接続して構成するリンクがあります。今回は、機器のなかでも、ルータやスイッチといったネットワーク機器を中心に解説します。

f:id:itstaffing:20180522143459j:plain

レイヤ2スイッチは「全体でひとつのネットワーク」

レイヤ2スイッチは「ひとつ」のイーサネットを利用したネットワークを構成するのが主な役割です。私たちが、普段ネットワークに接続するときの行動は、実際にはPCなどをレイヤ2スイッチに接続していることになります。

データを転送する範囲は同じネットワーク内であることがポイントだとGeneさんは言います。何台繋げても、全体でひとつのネットワークです。

また、転送する際に、判断に利用する情報をMACアドレスといいます。これは、LANのポートに最初から付帯するアドレスで、これでポートを特定します。

ここで、どのようにデータを転送しているか、下記の図を見てみましょう。まず、送信元AのMACアドレスをレイヤ2スイッチが記憶し、送り先Cに送ります。もし、送信先がわからない場合は、一旦全部の送信先に送られる、フラッディングという方法がとられますが、送信先が違った場合は5分程度で自動的に破棄されます。

転送は双方向に送ることができます。CからAに送る場合、送信元CがMACアドレスを記憶し、同様に送ります。何度も転送すると学習するので、次第に必要なところのみに送られるようになります。

f:id:itstaffing:20180522143502j:plain

レイヤ2スイッチで先ほど説明した、「ひとつのネットワーク」というのは、ルータやレイヤ3スイッチで区切られる範囲とも言えます。レイヤ2スイッチはイーサネットを利用した、ひとつのネットワークであることを押さえておきましょう。

ネットワークを相互接続するルータの仕組み

ネットワーク同士を相互接続するのが、ルータの役割です。データの転送範囲はネットワーク間やルータによるネットワーク間のデータの転送を行うルーティングになります。また、これらのデータを転送する上で判断に利用する情報はIPアドレスやルーティングテーブル です。

「ネットワークに接続する」ということは、電気信号など物理的な信号をやりとりする物理的な接続と、インタフェースにIPアドレスを設定する論理的な接続の2つを考える必要があります。単にネットワークに接続するだけであれば特に考える必要がありませんが、仕事として携わる場合は、理解していたほうがいいとGeneさんは言います。

IPアドレスは、ネットワークアドレスとホストアドレスの2つのパートから構成されます。注意するのは、この2つの区切りがわかりづらい点です。区切り方としては、A~Cのアドレスクラスというものがあります。しかし、ホストアドレスの数など、使用する上で無駄な面も多く、今ではクラスによらずに、サブネットマスクで、ネットワークアドレスとホストアドレスの区切りが明確化されています。

ここで、ルータによるネットワークの相互接続を確認しましょう。今回は、1つのルータで3つのインタフェースを持ち、2つのルータで5つのネットワークを接続する例を考えます。まずはルータ1ですが、インタフェース1を物理的に接続し、IPアドレスを設定することで、ネットワーク1と接続します。他も同様です。ルータはネットワーク間のデータの転送をするので、IPアドレスが異なるものでも、接続することができます。

f:id:itstaffing:20180522143505j:plain

ルータでは、データを転送することをルーティング、ルート情報を保持するデータベースのことをルーティングテーブルと呼びますが、ルーティングでは、どのようにルーティングテーブルを作成し、管理するかがとても重要です。ルーティングテーブルに登録するルート情報を登録するには、「直接接続」「スタティック」「ダイナミック」の3種類があり、これらを組み合わせていきます。

もしルーティングテーブルに登録されていないネットワーク宛てだと、データは破棄されます。レイヤ2スイッチの場合は、送信先がわからない場合は一旦送信しますが、ルータは、わからない場合は破棄します。データにはMACアドレスだけでなくIPアドレスも登録されます。

「障害発生時におけるルーティングテーブルのルート情報の切り替えや更新をすることを、コンバージェンスといいます。起動時や障害発生時に発生する作業のため、コンバージェンスにかかる時間は、できるだけ短く、正確にすることが求められます」(Geneさん)

f:id:itstaffing:20180522143509j:plain

ルーティングでは、ネットワーク上のすべてのルータが必要なルート情報をルーティングテーブルにひとつひとつ登録されていることが重要です。規模が大きくなればなるほど、この作業は難しくなります。インターネット上のルータのルーティングテーブルはだれでも見ることができます。ぜひ確認してみてください。

▼手順は以下のWebサイトにまとめています。
http://www.n-study.com/att_looking_glass/

レイヤ2スイッチとルータをあわせた「レイヤ3スイッチ」

レイヤ3スイッチを理解するために、先に少しだけVLANについて触れます。VLANとは、仮想(バーチャル)のLANのこと。レイヤ2スイッチでネットワークの分割をするのがVLANの役割です。

レイヤ2スイッチはひとつのネットワークをつくるものですが、それを2つ以上にわけたいときに使用します。VLANはスイッチの内部で作成するものなので、スイッチを仮想的に分割し、それぞれのVLANとポートがどのように繋がっているかをイメージすることが大切です。また、分割したネットワークは、実際には繋がっていないので、注意しましょう。

あわせて、ひとつのポートを複数に分割することができるトランクポートも押さえておきましょう。今回は詳しく触れませんが、一般的にはタグVLANとも言われます。

f:id:itstaffing:20180522143512j:plain

ようやくレイヤ3スイッチの説明に入っていきます。レイヤ3スイッチはレイヤ2スイッチとルータをあわせた機能を持ちます。VLANでわけたネットワークを、再び相互接続する役割を持っており、ルータよりも高速なネットワーク間の通信ができます。データの転送範囲も、ネットワーク内とネットワーク間です。

例えば、社内ネットワークをVLANで部署ごとにわけたとします。そのままでは、部署間の通信ができないので、レイヤ3スイッチを使って、相互接続します。

VLAN同士を繋ぐことはVLAN間ルーティングと呼ばれます。かつてはルータで行っていましたが、VLANで分割した数だけルータのインタフェースが必要になるため、拡張性に乏しくなります。レイヤ2スイッチの内部にルータの機能を統合したレイヤ3スイッチを使うと便利なのです。

f:id:itstaffing:20180522143515j:plain

レイヤ3スイッチでネットワークの相互接続をするには、IPアドレスの設定が重要です。 方法は2通りあります。内部に仮想的なインタフェース(SVI)を作成することで、IPアドレスの設定をする方法か、物理的なポート(ルーテッドポート)にIPアドレスを設定する方法です。

レイヤ3スイッチの例としては、ブロードバンドルータが挙げられます。皆さんが家庭でネットワークを接続する際は、レイヤ3スイッチを使って、ネットワークに接続していることになります。

f:id:itstaffing:20180522143518j:plain

今回は、ネットワークを理解するために、機器を中心に解説しました。普段ネットワークを利用する上では、仕組みまで理解する必要はありませんが、エンジニアの皆さんはじめ、何らかの形でネットワークに携わる方は、基礎知識を理解する必要があるでしょう。本イベントレポートを足掛かりに、学んでみてはいかがでしょうか。

 

【イベントレポート】派遣エンジニアとして働くために知っておくべき「スキル」とは?

株式会社リクルートスタッフィングが運営するITSTAFFINGでは、弊社に派遣登録いただいている皆さまのスキル向上を支援するイベントを、定期的に開催しています。3月28日に開催したのは、高橋裕之さんによる、リアル版『派遣エンジニアとして働くために知るべき「スキル」を理解する』イベント。“エンジニアスキルの全体像”を知っておくだけで、これからの行動が変わるはずです。

■今回のポイントは

・モチベーションとスキルの相関関係を知る
・ハードスキル、ソフトスキル、メタスキルの違いを知る
・固定思考と成長思考の違いを理解する

いくつかのワークを交えながら、スキルについて理解を深めていきました。これからの自分の行動にもよい影響があることでしょう。

【講 師】ウイングアーク1st株式会社 高橋裕之さん
▲【講 師】ウイングアーク1st株式会社 高橋裕之さん
ウイングアーク1st株式会社 技術本部SVF・SPA統括部 ソフトウェアエンジニアリング部 部長。ITエンジニアとして10社を超える現場、いくつものプロジェクトに参画。次第にIT業界の影に潜むプロセス、マネジメント、人間系の問題に気付き、日々その解決のために活動している。派生開発推進協議会(AFFORDD)役員。認定スクラムマスター(CSM)、認定スクラムプロダクトオーナー(CSPO)、認定スクラムプロフェッショナル(CSP)。

モチベーションとスキルには相関関係がある

高橋さんは、IT業界29年目。さまざまな企業や業種業態を経てきました。まず、その経緯をグラフにしたものをスライドに映します。アップダウンが激しく揺れ動いているグラフです。

「スキルのスタートから今までのモチベーションをグラフにしたものです。皆さんにもこういうグラフを書いてもらいます。スキルとモチベーションには、相関関係があると思っているからです」

高橋さんは、転職のタイミングや、結婚、子どもの誕生といったライフステージの変化、リーマンショックなどの社会環境の変化などをグラフにプロットしながら、モチベーションの変化を解説していきました。

その後、参加者にワークとして取り組んでもらいます。スキルのスタートを左端に、現在を右にして時間軸を置いたら、それ以外は比較的自由に書いてよいとのこと。モチベーションの高いとき、低いときにどんなことがあったのか、どんなイベントがモチベーションに影響を与えたかを書いてもらいました。さらには、書いたものを隣の人とシェアします。

f:id:itstaffing:20180510111157j:plain

「スキルを手に入れるときには、モチベーションが上がっている」と高橋さんは言います。スキルを手に入れているからモチベーションが上がっているのか、モチベーションがあるからスキルが手に入るのか、因果関係は定かでないにしろ、相関関係があるのは確かなようです。

エンジニアのスキルとは「ハードスキル」「ソフトスキル」「メタスキル」に分けられる

「エンジニアのスキル」とひとことで言っても、さまざまな種類があると高橋さんは説明します。大きく分けて「ハードスキル」「ソフトスキル」「メタスキル」の3種類。

それぞれの詳しい内容は、高橋さんのコラムで詳しく紹介されています。
https://www.r-staffing.co.jp/engineer/archive/category/高橋 裕之

f:id:itstaffing:20180510111200j:plain

ハードスキルには、書籍やインターネットなどで学べる「自習可能ハードスキル」と、特定の組織に入ることで得られる「組織固有ハードスキル」があります。求人要項で「◯◯の業務知識があると尚可」のように書かれたときは「組織固有ハードスキル」を指すことが多いようです。

ですが、あまり怯む必要はないと高橋さんは言います。なぜなら、もともと組織の中で身に着けるスキルのため、求人側は入社してから覚えてもらえば良いと考えているからです。

むしろ「入社後、ちゃんと勉強してくれるだろうか?」といった普段の学習意欲が問われるので「自習可能なハードスキル」を普段からどのように身に着けているか?が問われる事でしょう。

ソフトスキルはヒューマンスキルとも呼ばれます。そのひとつに「コミュニケーション」スキルがありますが、その仕組みを理解しているか否かでソフトスキルの伸びには差が生まれます。

送り手が「情報」「感情」「意思」「価値」を他人に伝える場合、コンテキスト(文脈)がきちんと合っていれば齟齬は発生しません。ところが現実のコミュニケーションでは情報の送り手/受け手の双方が、人生のなかで得た文化や知識、信念、哲学などを持っています。メールやチャットといったメディアに乗せて情報を送るとき、これらが邪魔をすることが多く必ずしも送り手の意図したメッセージが相手に意図通りに伝わるとは限りません。

このように、情報の伝達にはさまざまな処理が介在するため、もともと質が高いコミュニケーションとは難しいのです。如何に努力してコンテキストをお互いに合わせるか?が重要で、これをコミュニケーション・マネジメントと呼びます。コミュニケーションスキルを伸ばすためには、このような前提を知っておく必要があるのです。

f:id:itstaffing:20180510111203j:plain

ほかに、送り手の情報を非言語メッセージと共に読み取る手法「アクティブ・リスニング」や、価値観の違いによる摩擦や対立を解消する手法「コンフリクトマネジメント」と言ったスキルがあります。これらを学ぶことはソフトスキルの向上にとても有効でしょう。

メタスキルはすべての応用スキル

メタスキルとは、スキルを使いこなすスキルだと言えます。たとえば次のようなものです。

・問題の発見力
・問題の形成力(大局的に現象を把握し、仮説を組み立て対策する力)
・問題の解決力
・チームワーク力
・プロセス改善能力

メタスキル習得の大部分は、「自分の仕事経験」から身に付くと高橋さんは言います。よってメタスキルを得るための重要な鍵は、「自分の思考がどの様なマインドセットを持っているか?」です。

ここで、キャロル・S・ドウェック博士の、モチベーション分野での研究(*1)を紹介しました。マインドセットにより「固定思考の人」と「成長思考の人」を分け、比較したものです。それぞれのマインドセットは次のように説明できます。

・固定思考の人
人は生まれながらにして何かについて得意か不得意であり、その状態は変わらないと思っている

・成長思考の人
努力と練習によって能力は身につき、向上していくと考えている

*1 Carol Dweck, Mindset: The New Psychology of Success(New York: Ballantine Books, 2006).

f:id:itstaffing:20180510111206j:plain

メタスキルを伸ばすためには、成長思考のマインドセットが必要です。そのためには、次のような言葉を普段自分が発していないか注意したほうがいいそうです。

「それ、私の仕事じゃありません」
「私、その手のツール使ったことがないので」
「自分はこれまでもこうしてきたので」
「社員のAさんより、よっぽど私の方ができます」
「それ、やる意味あるんですか?」

このようなセリフは固定思考の現れです。成長思考の人は難しい問題を「学習の機会」としてとらえますので、当然新しいスキルや知識がアップしていきます。

メタスキルは、履歴書やレジュメで表現しにくいものの、仕事の現場で重宝されることは間違いありません。つねに成長思考のマインドセットを持ち、経験と実践を経てメタスキルを向上させるよう心掛けるとよいでしょう。

自らを成長思考にするため、パフォーマンス目標を作るワークを最後に行いました。アジャイル開発でよく使われる「ユーザーストーリー」を活用。次のようなテンプレートに記入していきます。

・今日の日付
・「(誰/役割)として(何を/アクション)したい。それは(なぜ/理由)のためだ」
・どうなれば目標に近づいたと言えるか(Acceptance Criteria:受け入れ基準)

次のような記入例が紹介されました。

『ITエンジニアとしてコミュニケーションスキルを身に着けたい。それはもっと職場の人と打ち解けていろいろと教えていただくためだ』
Acceptance Criteria:
f:id:itstaffing:20180510120827j:plain コミュニケーションに関する書籍を1冊完読する
f:id:itstaffing:20180510120827j:plain 打ち合わせでは必ず3回以上発言できている
f:id:itstaffing:20180510120827j:plain ほかの人から自然とアドバイスをもらえるようになっている

f:id:itstaffing:20180510111210j:plain

時間を取って、それぞれシートに記入してもらいました。それにより、それぞれの目標と理由、やるべきことが明らかになっているはずです。

自分のスキルを伝えるタイミングは転職や職場訪問など多々あります。来るべきときに備え、普段からスキルの棚卸しや、スキルを伸ばすための方法を知っておくとよいでしょう。

 

【イベントレポート】わかりやすく伝えるコツとツボを試験対策とマンガから学んでみる

株式会社リクルートスタッフィングが運営するITSTAFFINGでは、弊社に派遣登録いただいている皆さまのスキル向上を支援するイベントを、定期的に開催しています。2018年3月9日のイベントでは「わかりにくいことをわかりやすく伝えるコツとツボを試験対策から学んでみる」を開催。

コンピュータプログラマ出身で、フリーのライター&イラストレーターとして活躍し『キタミ式イラストIT塾シリーズ』などの著書を持つきたみりゅうじさんが、難しいことを相手にわかりやすく伝えるためのポイントを紹介してくれました。

f:id:itstaffing:20180418114242j:plain

■今回のイベントのポイント

・資格試験、その勉強のコツとツボとは
・難しいことを、わかりやすくマンガにする、そのプロセス公開
・わかりにくいをわかりやすいに変える、そのテクニックとは


【講 師】きたみりゅうじさん
▲【講 師】きたみりゅうじさん
コンピュータプログラマのかたわら自身のWebサイトで4コマまんがの連載を行ったのをきっかけに、書籍のイラストや執筆を手がけるようになる。現在はフリーのライター&イラストレーターとして活動中。著作『フリーランスを代表して申告と節税について教わってきました。』(日本実業出版社)にて、2007年度 SOHO AWARDS選考委員賞を受賞。その他『キタミ式イラストIT塾シリーズ』(技術評論社)など著書多数。

資格試験、その勉強のコツとツボとは

きたみさんはプログラマ出身ですが、当時勤務していた会社では「この資格がないと昇級させない」という社内規定があったとのことで、自身も1999年に第二種情報処理技術者(現:基本情報処理技術者)資格を取得したそうです。

そのときの経験をもとに、基本情報処理技術者資格試験に向けた、きたみさんなりの勉強のコツとツボについて教えてくれました。

基本情報技術者の試験は午前と午後に分けて行われますが、「午前については、過去問をきちんとやれば、100%合格水準に達します」とのことでした。

ただし「丸暗記はお勧めしません」とアドバイスします。なぜなら、この資格を取得するのは、自身のITに関する知識が一定の水準にあることを証明するためであり、テクニックだけで合格しても意味がないからです。

午後の試験は選択式で、プログラミング以外に、表計算ソフトなども選べますが、同様の理由から「午後の試験は、できるだけプログラミングに挑戦して欲しい」というのがきたみさんの意見です。

f:id:itstaffing:20180418114250j:plain
▲資格そのものではなく、試験勉強を通じて知識の棚卸しをすることに意義があります。

虫食いレベルのソースコードやSQL文など、現場の技術者にとっては難しくありません。そのため「そんな資格を取得しても意味はない」という人もいます。

しかし「資格そのものが価値を持つのではなく、資格取得のために勉強をして“知識の棚卸し”をするところに価値がある」のだと強調します。

難しいことを、わかりやすくマンガにする、そのプロセス公開

では、資格試験に挑戦する際の心強い味方「キタミ式」は、どのように作られているのでしょうか。

きたみさんは、「プログラミングと、本を書くという工程は、実は同じです」と語ります。

プログラムも本も、いきなり通しで書こうとすると、品質の低いものにしかならないため、まず、全体の流れをプロットとして作らなければなりません。

C言語でプログラムを書く際も、main()関数の中に、初期化して、ファイルをオープンし、データを読み込み、整形し、ファイルを閉じて、終了するという“章立て”を書き、“目次”を固めてから、中身を作り込んでいきます。本を書く時も、それと同じなのです。

f:id:itstaffing:20180418114254j:plain
▲プログラムを書くのと解説マンガを描く工程は実は同じ。プログラミングは本を書くのにも役立つ訓練になるそうです。

そういう意味で、プログラミングは、作品を論理的かつ簡潔にまとめる上で、かなり応用のきく良い訓練になるそうです。

では、マンガが優れている点とは何でしょうか?

コンテンツに含まれる情報には、画像、テキスト、マンガ、動画など、いくつかの種類がありますが、マンガは一目見てわかる(ように構成できる)のが利点だと言えます。

たとえば、通信データがパケット化されて高速に送受信されていることを、一枚の絵で伝えることができます。しかも理解できるまで、その絵をじっくり眺めることもできますし、すぐに理解して次の絵に目を転じることもできます。受け手次第で時間の圧縮・伸長が自在に行えるのがマンガの特長です。

続いて、テクニカルライティングにおける「良い文章」とは何かについても、教えてくれました。

「今日は良い天気なので、私は撮影道具を持って朝から家の近所にある小さな山へと出かけています。」

という文章と、

「今日は良い天気です。そのため私は撮影道具を持って朝から出かけています。目的地は家の近所にある小さな山です。」

という文章があります。上の例は、1枚のイラストにすべて入れてしまうのと同じで、頭の中に全部置いていていかなければなりません。

下の例は3つの絵に分けることができます。もちろん、テクニカルライティングにおける良い文章は下の例文です。ポイントは、簡潔な文章で淡々と書く、推論や「だと思う」的な逃げを打たないことだそうです。

f:id:itstaffing:20180425121638j:plain
▲インプットして、分解し、イメージ化をすることで、「キタミ式」のわかりやすい簡潔な文章が生み出されています。

簡潔な文章を書くコツは、まず理解する(インプット)ことです。わかったつもりが一番怖いので、3箇所以上の解説をあたり、自分の理解に齟齬がないかを検証します。自分の理解があやふやだった箇所こそ、読者に詳しく解説していくべきなのです。

そして、初心者向けの解説の場合は専門用語を使わない(分解)ことも大切です。専門用語は語句内に多数の意味を含むため、語句の意味を分解し、どういう意味で使っているのかを明確にする必要があります。

最後に、人が理解する過程を肩代わり(イメージ化)します。自分自身がイメージで理解する過程をアウトプットしていくことにより、読み手は、本来イメージ化に使うべき脳のリソースを、内容の理解へ振り向けられます。

わかりにくいをわかりやすいに変える、そのテクニックとは

最後に、わかりにくいことを、わかりやすくするテクニックをいくつか紹介してくれました。

f:id:itstaffing:20180425121657j:plain
▲読み手に賢く思われようとしないのも、わかりやすい文章を書くコツだそうです。

まずは情報の粒度を揃えることです。粒度とは、1センテンスの分量や理解に要する重さのことです。読書体験を均一化することで、本に向かう苦手意識を払拭します。

ただし、淡々と読める本は、読後に何も印象に残りません。そこで、一定のリズムの中に「ひっかかり」を設けます。これによって、知識の定着化を促すことができます。「ひっかかり」とは、問いかけ等によって脳を受け身の状態から脱却させることだそうです。

さらに、作者が賢く思われようとしないこと。読み手に寄りそう存在が必要で、「自分よりちょっと理解が足りない」と思える存在がいることで、挫折せず、共に学ぼうとするモチベーションが生まれるということです。

今回のイベントに参加して、仕事でドキュメントを作成する際に、わかりやすい文書を作るための要点を学ぶことができました。今後に大いに活かせそうです。

 

【イベントレポート】Androidエンジニアとして自身の価値を高めるために、今おさえるべきこととは

株式会社リクルートスタッフィングが運営するITSTAFFINGでは、弊社に派遣登録いただいている皆さまのスキル向上を支援するイベントを、定期的に開催しています。

2018年3月2日のイベントでは「Androidエンジニアとして自身の価値を高める極意」を開催。独立系システムベンダーでエンジニアとしてモバイル向けアプリケーション開発を中心に活躍しており、Androidアプリ開発の著書も持つ木田学さんが、エンジニアが自身の価値を高めるための材料として、最新のAndroid開発のトレンドについて紹介してくれました。

【講 師】木田学さん

■今回のイベントのポイント

・なぜ自分の価値を高めるのか?
・Androidの現状
・Android開発技術要素の拡大


【講 師】木田学さん
▲【講 師】木田学さん
テックファーム株式会社。開発エンジニア。iOSやAndroid等、モバイル向けアプリケーションを中心に開発。健康支援アプリ、音声認識アプリ、ドローンアプリなど幅広い領域の開発を手掛けている。共著に『Androidアプリ 開発の極意』(技術評論社)などがある。

なぜ自分の価値を高めるのか?

テックファーム社のエンジニアとして、顧客である生命保険会社のスマホアプリ、音声入力の名簿検索アプリ、ドローン制御アプリなど様々なアプリを多数手掛けてきた木田さんは、冒頭で「なぜ自分の価値を高めるのか?」について、マズローの5段階欲求説に基づき、紹介してくれました。そして、自分の価値を高めるのは自己実現のためであると説きます。

f:id:itstaffing:20180418114301j:plain
▲自分の価値を高めることで、自分が本当にやりたいことをやり、本当に欲しいものを手に入れる自己実現が達成できる。

スマホは利用頻度が高く、人に影響を与えられる素晴らしいツールで、スマホアプリを作れることはすなわち多くの人に影響を与えられる素晴らしい仕事と考えているそうです。

多くの人に使われるAndroidアプリ開発を極めていくことは、エンジニアの価値向上につながると考え、今回のイベントも「皆さんの価値を高める材料を増やす」ためになればとのこと。

Androidの現状

まずはAndroidのシェアから。2008年に世界初のAndroid端末が登場し、現在は世界で75%のシェアを獲得。ライバルであるiOSは20%なので、数の上では圧倒しています。

でも、これはあくまでも世界規模で見た場合のお話で、日本国内はちょっと違います。

2011年時点の調査ではありますが、日本国内ではiOSが約6割、Androidが約4割という結果が示されており、国内におけるiPhoneの人気の高さがうかがえます。

f:id:itstaffing:20180418114230j:plain
▲バージョン5.0(Lollipop)、6.0(Marshmallow)、7.0(Nougat)が、まだ多数稼動しており、最新版の8.1(Oreo)は少数にとどまっている。

また、Android OSの最新バージョンは8.1ですが、市場ではバージョン5.0、6.0、7.0の3つのバージョンが8割を占めています。複数バージョンの存在は、Androidアプリ開発でも注意が必要かもしれません。

Android開発技術要素の拡大

では、いよいよ本題です。Androidアプリ開発に求められる技術にはどのようなものがあるのでしょうか。

「多様化する社会のニーズに向けてアプリやサービスを開発していくにあたり、開発の現場においても、幅広い知識が必要とされてきています」(木田さん)

実際にAndroidアプリ開発にも、さまざまなニーズがあり、品質重視、スピード重視、外部サービス連携、クラウド連携、複数ベンダーとの連携などが求められています。

こうした多様化するニーズに対応するため、Android開発の技術もすそ野が広がっています。その中でも重要な技術を6項目に分けて紹介してくれました。

f:id:itstaffing:20180418114234j:plain
▲Androidアプリ開発においても多様化するニーズへの対応のために基礎以外の技術知識やスキルが求められている。

開発環境

まずは開発環境について。IDE(統合開発環境)にはGoogle社が提供するAndroid Studioがよく使われています。

プロジェクトのビルドには、gradleが使われることが多いのですが、元々Google社内で使われていて今はOSS化されたbazelというビルドツールも使われ始めており、「今後はbazelに置き換わるのではないだろうか」(木田さん)とのことでした。

その理由として、Android OS 8.1から端末上の人工知能を加速させるNeural Networks APIが実装されており、TensorFlow Liteが使用できるようになりましたが、TensorFlow Liteのサンプルプロジェクトをみるとビルド方法にbazelが使用されており、これから出番が増えていくだろうというのが木田さんの見立てです。

また、プラグインや、メモリリークをチェックするアナライザーなどについても、開発現場で使われているものをいくつか紹介してくれました。

開発言語は、現在はJavaが主流ですが、今後はkotlinが使われるようになるのではないか、とのことでした。

OSS

Androidアプリの開発においてもオープンソースソフトウェア(OSS)が、いたるところで利用されています。

f:id:itstaffing:20180418114237j:plain
▲メジャーなアプリで使われている主なOSS。

「OSSを利用することで開発工数が大幅に減り、バグが出にくくなります。ただし、デメリットもあり、バージョンアップで動かなくなったり、そもそも(設計上の)バグを含んでいたりというケースもあります。しかし、それらを差し引いてもメリットのほうが大きいと言えます」(木田さん)

そして、イベント通知ライブラリEventBus、RESTクライアントライブラリRetrofitなど、OSS利用に有用なライブラリも紹介してくれました。

BaaS

BaaS(Background as a Service)とは、バックエンドの機能を提供するサービスのことで、Webアプリケーションで言うサーバサイドに相当します。

主要なものとして、AmazonのAWS、MicrosoftのAzure、GoogleのFirebaseなどがあります。FirebaseはGoogleのサービスなので当然ですが、AWSにはAWS SDK for Android、AzureにはAzure Mobile Access SDK for Androidという、それぞれを利用するためのAPIを実装したライブラリが提供されています。

そのほか、バックエンドの負荷考慮についても、いろいろなノウハウがあることを教えてくれました。

f:id:itstaffing:20180418114240j:plain
▲最先端の現場での経験をもとに木田さんが紹介してくれるAndroidの技術トレンドは多岐にわたる。

Googleサービス

アプリを公開するなら、Google Play Consoleで、できること(やるべきこと)を知っておくと良いそうです。同Consoleからは機種制限、レビューコメント、公開制限事項などの設定が行えます。

また、AndroidアプリがGoogleマップやGoogleドライブなどのサービスにアクセスするためのAPIを提供するGoogle Play Servicesの機能も、知っておくと良いとのことでした。

試験

バグレポートでは、リアルタイムクラッシュレポートツールFirebase Crashlyticsが便利とのこと。また、試験の自動化では、Googleが公開しているAndroid用UIテスト自動化フレームワークEspressoをよく利用しているそうです。

CI(継続インテグレーション)では、他の分野でもお馴染みのJenkinsや、Concourse CIなどが使われており、また、外部サービスとして、前述のFirebaseや、OpenSTFというツールを利用することもあるそうです。

デザイン

多様化するニーズに対応するには、デザインソフトの知識も求められます。木田さんのお勧めはSketch。モバイルに特化した機能があり、異なる解像度の機種に向けたデザインを作成するのにも便利だとか。

また、iOSアプリとの比較も重要で、コンポーネント(ボタンやテキストボックス等)や、フラットデザインとマテリアルデザインの違いを押さえておくことで、同じアプリのiOS版とAndroid版のUIの整合性が保てるなど、メリットも多いといいます。

f:id:itstaffing:20180418114244j:plain
▲自身のエンジニアとしての価値向上のため、Android開発技術スキルを身につけてみるのもよいかもしれない。

以上、充実した1時間半のイベントでした。今回のイベントで、Android開発の最新事情の一端を垣間見ることが出来ました。エンジニアとしてやりたいことがあるなら、自己実現のためにも、最新技術のトレンドを常にキャッチアップしておくことが大切ですね。

【イベントレポート】「人を行動に導く」効果的なプレゼンのテクニックを学ぼう

株式会社リクルートスタッフィングが運営するITSTAFFINGでは、弊社に派遣登録いただいている皆さまのスキル向上を支援するイベントを、定期的に開催しています。2018年2月23日のイベントでは「直感に刺さるプレゼンテーション」を開催。

大手玩具メーカーでヒット商品のマーケティングを手掛けた後、映像配信会社やゲーム会社などを経て、プレゼンテーションの専門会社を設立し、プレゼンテーションの研修やコンサルティングを行う望月正吾さんに、効果的なプレゼンテーションのテクニックについて紹介していただきました。

【講 師】望月正吾さん

■今回のイベントのポイント

・プレゼンテーションはコミュニケーション
・ビジュアルには図解とイメージがある
・タイトルスライドはプレゼンの顔
・聞き手を動かす話し方のポイント


【講 師】望月正吾さん
▲【講 師】望月正吾さん
PreZenDou LLC.代表。玩具メーカータカラ(現タカラトミー)にて、マーケティング部門を担当。タカラトミー合併後は、映像配信ベンチャーCOO、ゲーム会社を経て2011年プレゼンテーションの専門会社PreZenDou LLC.を設立。プレゼンテーション研修、制作、コンペ、個人指導と業務コンサルを行う。専門はプレゼンテーション&コンセプトメイキング。コミュニケーション戦略、新規事業プランニング、商品&サービス企画を得意としている。著書に『直感に刺さるプレゼンテーション』(技術評論社)『最速で最高に魅せるPowerPointプロフェッショナルテクニック』(技術評論社)がある。

プレゼンテーションはコミュニケーション

長年、玩具メーカーのマーケティング部門で活躍し、さまざまなプレゼンを手掛け、その後、いくつかの企業を経て、現在は独立し、各種プレゼンのコンサルなどを手掛けている望月さん。今回のセミナーでは、その豊富な経験をもとに「心を揺さぶり、行動してもらうビジュアルプレゼンテーションの原理とテクニック」を、事例を交えながら紹介してくれました。

望月さんのミッションは「世の中から退屈なプレゼンを無くそう」というもの。なんだかワクワクします。

まず、最初に示されたスライドは「禁煙促進」を呼び掛けたもの。そのスライドには、喫煙者の肺がん発生率が高いことがズラズラと「説明」されていて、どこかで一度は見たような、というもの。

このスライドについて望月さんは「言っていることは正しいし、理解もできる。でも、これではタバコをやめさせることはできない」と断言します。

「プレゼンの目的は行動してもらうこと。行動してもらえなければプレゼンは失敗です。残念なことに人は理解しただけでは行動してくれません」(望月さん)

f:id:itstaffing:20180412102434j:plain
▲行動してもらえなければプレゼンは失敗。そのためには「感情的アプローチが有効」と訴える望月さん。

プレゼンにおいては聞き手にも次のような階層構造があり、それを図にして紹介してくれました。ピラミッド状の図の下から順に、

・雑音(寝ているのと同じ)
・認知(何か話しているなぁ、程度)
・理解(なるほど、わかった→論理的に正しい)
・共感(自分もそう思う→意思決定は不要)
・行動(やってみよう→意思決定が必要~ビジネスプレゼン)

となっています。そして、頂上に近い共感と行動の2つには「感情的アプローチが有効」だと望月さんはいいます。

では、その感情的アプローチを行うにはどうすれば良いのでしょうか。

ビジュアルには図解とイメージがある

プレゼンテーションで感情的アプローチをするには、ビジュアルで伝えることが重要。ビジュアルには図解とイメージの2種類があり、図解は論理的、イメージは感情的であるという、それぞれの効果を紹介してくれました。

さらに、「理解できないイメージは混乱を招くだけです」といい、失敗例となる1枚のスライドを示してくれました。

f:id:itstaffing:20180412102438j:plain

そこには人の横顔の写真がイメージとして使われているのですが、その鼻の部分が画像修正をほどこされており、ニョキっと長く前に突き出ています。ここからイメージするのは「傲慢」(天狗)か、あるいは「嘘つき」(ピノキオ)か、人によって受け取る印象が異なるという例だそうです。

「いかにして言葉とイメージをシンクロさせるのかが重要です。イメージを使いこなすには、慣れやコツが必要なので、いろいろと試してみるとよいでしょう」(望月さん)

タイトルスライドはプレゼンの顔

プレゼンスライドと企画提案書は全く別のもの、「プレゼンスライドは魅せるための資料」「企画提案書は読んでもらうための資料」だそうです。いずれの場合も、大切なのはタイトルスライドだそうです。

構成立案やスライド制作で力尽きて、タイトルスライドには文字だけ入れて名前を書くという人が多いけれど「タイトルスライドで『聞きたい』と思わせられなければ、それは負けプレゼンです」(望月さん)とのこと。

f:id:itstaffing:20180412102441j:plain
▲企画提案書もプレゼンスライドも、タイトルを見て「読む気にさせる/聞く気にさせる」ものでなければダメ。ただし、中身の作り方は企画提案書とプレゼンスライドで、それぞれ異なる。

ただ単に「〇〇のご提案」と書くのではなく、「現在の状況に対する問いかけの言葉」や「提案を実行した後に訪れる明るい未来」、「解決すべき課題を放置しておくと起きる悲惨な未来」など、シンプルかつ聞きたくなるものを、パターン別に事例と共に紹介してくれました。

聞き手を動かす話し方のポイント

最後は話し方について。展示会のブースで説明をするナレーターは、話し方はとても上手ですが、自分が興味を持つテーマでない限り、なかなか足を止めて聞き入ろうとは思いません。それは「自分の言葉で話していないから」だそうです。同様の理由で、プレゼンにおいて、読み原稿を持つ、話す内容を丸暗記する、プロっぽく話そうとするというのもダメだとのこと。

f:id:itstaffing:20180412102446j:plain
▲読み原稿はいらない。普段から話している「自分の言葉」で話すことが伝わるプレゼンの秘訣。

「スライドを真剣に作っていると、いつの間にか話せるようになっています。会話するのに原稿を見て話さないでしょう。それと同じです。だから読み原稿は必要ありません。」(望月さん)

もし原稿なしでは話すことができないのであれば、それは構成かストーリーが間違っているかもしれない、と疑うべきだそうです。また「1スライド1メッセージ」「箇条書きのメモは手元に置いておいても良い」「普段の言葉で話す」など、コツを教えくれました。

とても中身の濃い1時間半のイベントでしたが、最後に望月さんは参加者に向け、「プレゼンテーションを楽しんでいただきたい」というメッセージで締めくくってくれました。

今回のイベントでは、反面教師となる残念な事例と、望月さんのテクニックを用いた洗練された事例とを見比べることができ、プレゼンをより良くするためのポイントがよく分かりました。自分でプレゼンする機会があれば、ぜひ試してみたいものです。

そして、そんな自分を客観視したときに、「あ、このイベント自体が『行動させるプレゼン』だったのか」と気づかされた方は、望月さんのプレゼンの凄さが分かったことでしょう。

【イベントレポート】なぜ要件定義がうまくいっても、使えないシステムができてしまうのか?

株式会社リクルートスタッフィングが運営するITSTAFFINGでは、弊社に派遣登録いただいている皆さまのスキル向上を支援するイベントを、定期的に開催しています。2018年2月8日のイベントでは「お金をドブに捨てないシステム開発の教科書」を開催。

「公認会計士でシステムコンサルタント」という異色の経歴を持ち、書籍『お金をドブに捨てないシステム開発の教科書』の著者でもある中川充さんに、要件定義がうまくいっても、使えないシステムができてしまう、その問題点と解決策を紹介していただきました。そのイベントの様子をご紹介します。

【講 師】中川 充さん
 

■今回のイベントのポイント

・システム構想こそ、システム開発成功のカギになる
・事例:資金が6億円も悪化するシステム
・システム構想の8つのステップ、コツとツボ

 
【講 師】中川 充さん
▲【講 師】中川 充さん
システムコンサルタント・公認会計士。公認会計士中川充事務所代表。システム・業務・会計を統合し、企業経営のしくみを改革することを得意とする。上場会社、中堅企業、ベンチャーへのシステム開発や業務改革のコンサルティング実績は全国50社以上。そのほか、システム選定委員やパッケージ製品の開発助言なども行う。

システム開発失敗の理由は本当に要件定義か?

日本情報システム・ユーザー協会が実施する「ソフトウェアメトリックス調査」によれば工期遅延や総費用増大の理由は、要件定義が4割、プロジェクトマネージメントに関するものが6割という結果が示されているそうです。

要件定義は理由の4割を占めていますが、「でも、要件定義のせいだけじゃないよね」(中川さん)というのが、今回のテーマとのこと。

中川さんは冒頭で、上場企業が公開している有価証券報告書から、システムがらみで減損損失や特別損失を計上している会社をいくつか拾い上げ、紹介されました。

f:id:itstaffing:20180322140841j:plain
▲有価証券報告書には、システム開発が減損損失になった理由もきちんと書かれている。普段目にすることがないので新鮮だ。

あるエレクトロニクス企業は、基幹システムの開発にかかった7億2千万円を減損損失に計上。その理由に「基幹システム導入の見直しを行った結果、当初想定した費用削減効果が見込まれなくなったため」と記されていました。中川さんによれば「あくまで推定ですが、買ったもののダメになり、結局稼働しないイメージ」だそうです。

ほかにも、「自社利用のソフトウェア(開発中)の一部に、システム開発の変更が生じたこと等に伴い、使用が見込まれなくなった」として8億7千万円を減損計上した医療系ホールディングス企業や、基幹システムの「導入規模・範囲を見直したため」に42億円もの損失を計上した機器メーカーもありました。

これらの原因は本当に要件定義なのでしょうか?

システム構想こそ、システム開発成功のカギになる

中川さんは、「要件定義が上手くいく = 使えるシステム」とは限らない、と訴えます。

なぜなら、業務要求に基づいて要件定義が行われますが、時間の経過とともに業務要求そのものが変わることがあるからです。このとき「手戻りして修正できればいいのですが、そうはいかないケースも多い」といい、特に全社システムでは、その傾向が強いそうです。

全社システムは、関係者も部門システムに比べると格段に増えます。部門間の要求の違いや、部門間の隠れた利害の衝突が起きてしまうことも多く、単純に各部門の業務要求を寄せ集めても、全社システムの業務要求にはなりません。

こうした課題をあらかじめ見つけ出し、解決しておくことが重要だと中川さんは強調します。この工程がシステム開発を成功に導く「システム構想」なのだそうです。これはシステム開発の一環というより、ビジネスモデルを設計していくのに近いとのことでした。

f:id:itstaffing:20180322140848j:plain
 
▲各部門の業務要求の隠れた利害関係の衝突などをあらかじめ顕在化させ、衝突を回避しつつ、ビジネスモデルを考えていくのがシステム構想というフェーズ。要件定義の前段できちんと行う必要がある。

システム構想においては、経営・会計・業務・システムの4つの視点が重要で、いずれかが欠けてしまうと、いくら要件定義が上手くいったとしても、後から業務要求が変わったときに、使えないシステムになってしまう危険性があります。

f:id:itstaffing:20180322140851j:plain
 
▲ビジネスモデルを設計するからには、経営・会計・業務・システムといったそれぞれの視点が必要。ビジネス(全社システム)を見渡して、部分最適でなく、全体最適を図る。

では、実際に後から業務要求が変わるケースとは、どのようなものがあるのでしょうか?

事例:資金が6億円も悪化するシステム?

会員向けオンラインサービスを提供している会社を例として採り上げました。

f:id:itstaffing:20180322140854j:plain
 
▲会員管理と課金方法の異なる事業の売上管理、そして予算上限という業務要求が課せられたこのプロジェクトに、情報システム部は果たしてどのようなシステムを考えるのか?

この要件に対してシステムベンダーが提示してきたのが、年払い機能の無いA案と、年払い機能ありだが予算を大幅に超えるB案でした。

f:id:itstaffing:20180322140858j:plain
 
▲売上の最も少ないパイナップル事業のためだけにプラス3000万円のシステムを開発するよりも、パイナップル事業の課金方法を変えたほうが、システムも業務もシンプルになるというが……。

年払いのパイナップル事業は売上も15億と少ないので、これを他の事業と同様の月払いに変更するというのがA案の提案ポイントです。請求データが売り上げになるので、業務もいたってシンプルになることがわかります。

B案は予算を大きくオーバーしているし、会員管理部も課金方法の変更を承諾したので、情報システム部の見解は A案でいいのでは? と、なりかけましたが、そこには大きな問題があったのです。パイナップル事業を月払いに変更してしまうと、会社の現金が足りなくなり6.6億円も資金が悪化してしまうことが判明しました。

f:id:itstaffing:20180322140901j:plain
 
▲月払いにしてしまうと、これまで前受分として会社が預かっていた現金が6.6億円減ってしまうため、最悪の場合、資金がショートして経営が立ち行かなくなってしまうかもしれない。

当然、経営者から「待った」がかかり「年払いへの変更は認められないのでB案を予算内におさめよ」という指令が下りました。

システム開発の要件で「PL(損益)まで考える人はいますが、CF(キャッシュフロー)まできちんと考える人は、あまりいません」(中川さん)

経営者の指示でしたが、B案を予算内におさめるのは金額に開きがあり難しいので、経理部も巻き込んで再検討します。そしてA案をベースにしながら、年払い分は入会月別明細を参照して、前受金を毎月手入力していく――すなわち経理部が自動仕訳の一部を諦める修正A案で落ち着きました。

システム構想の8つのステップ、コツとツボ

システム構想を要件定義の前段のフェーズと捉えるのではなく、1つのプロジェクトとして、切り離したほうがうまくいく、と中川さんは説明します。

「システム開発の流れの中に組み入れてしまうと、開発時間が足りないときに、システム構想かテストのいずれかの工程が、真っ先に切り詰められてしまう。しかし、システム構想はビジネスモデルデザインと呼ぶべきもので、通常、中堅企業でも6カ月はかかります。本当は6カ月でも足りないぐらいかもしれません。これをしっかりやるためには、システム開発プロジェクトのスケジュールに左右されないように、1つの独立したプロジェクトとしておくべきなのです」(中川さん)

f:id:itstaffing:20180322140906j:plain
▲システム構想は独立したプロジェクトとして行われるべき。きちんとやっておけば、せっかくのシステムをドブに捨てるようなことにはならないはず。

システム構想は、プロジェクトとしてきちんと予算を取り、必要ならばプロトタイプでしっかりとテストを行うべきで、できれば経営企画や情報戦略部門が担当するのが好ましいそうです。プロジェクトでは、4つの視点をしっかり持つために各部門から人を集めますが、誰でも良いというわけではありません。

会計の担当はシステムと業務のことも、業務の担当はシステムと会計のことも、システムの担当は会計と業務のことも、それぞれある程度は理解している必要があるといいます。

エンジニアとして、自分が心血を注いで作り上げたシステムが、実際に使われないことほど悲しいことはありません。すでに要件定義を手掛けている人はもちろん、これから要件定義のフェーズを学んでいく人も、目の前の業務要求だけでなく、システム構想がどのようになっているのかを意識していくべきだと感じました。