普通の社会人が接するシステム設計は、NASAのロケット軌道予測プログラムみたいなものではなくもっと身近なものです。
なので人の顔色をうかがうとか、じっくり考える内向的な人でも稼ぎやすい分野です。
設計で一番最初にするのは、徹底的に既存業務を観察する事です。
そして既存業務に従事している人が解決できない事を、本人たちに成り代わって解決します。
これは難しい事のように思えますが、システムの知識がある上で既存業務を観察すると、自然と答えが出てくるようになります。
わたしは論理性が優位な人間ではないですが(エゴグラムの結果)、視点を変えて物事を見るのが得意だったので、システムの設計に関しては9割方うまくできました。
設計は上流工程の仕事なので、自然と年収が上がりやすい仕事です。
本ページは自ら設計をする人にも、システム化を外部に発注する人にも参考になるよう書いています。
システム設計はハードルが高いように見えますが、日常の中でも行われています。
例えば専業主婦が1週間の買い物をして、そこからメニューをやりくりするのもシステム設計と言えます。
システム設計のスタートは徹底的な観察から
システム設計をする人が最も必要な能力ですが、わたしは観察眼だと思っています。
最新の技術を知っているとかより、現場の状況をインプットして統合する方が重要です。
ナゼ自分で観察できる能力が重要かと言うと、既存業務の作業従事者から聞くと間違いに誘導されやすいからです。
システム化は長年やっている人が解決できない事を変えていく作業です。
作業従事者の意見に耳を傾けると、手作業に毛の生えたようなあまり意味のないシステムになりがちです。
システム化は手作業の100倍の速さを目指すものなので、普段手作業をする人には想像がつかない考えが必要です。
前後の業務を観察する
業務をシステム化する時、その業務の前と後の業務も観察する必要があります。
どういう形で前工程の業務から物・情報が入ってきて、それをどう処理して次の工程に渡すのか。
工場の作業を浮かべて、仕事の流れをイメージしてください。
システム化で100倍の効率を目指すには、前後の工程も含めた方が容易いです。
あなたにシステム化を依頼する人がいたとしたら、その人がシステムと既存業務に詳しい事は殆どないでしょう。
だからあなたが主導権をとって、勝手に範囲を広げてしまいます。
これは悪い事ではなくて、会社のためになる有益なことです。
例えあなたに依頼した人がヘソを曲げたとしても、その上の役職は効率化を喜ぶはずです。
それでも会社に居づらくなったなら、実績を持ってどこかの会社に移ればいいだけです。
観察してもすぐに結論は出さない
観察の作業は、まず既存の業務を追体験するのが手っ取り早いです。
IT系のように売買をメールでやり取りしている場合は、メールを見せてもらいます。
この時に営業は取引先の異性を誘ったり、イチャイチャしていたりするので見せたがらないものです。
「都合の悪いメールは見ないですよ」
と冗談めかしたり、上と話をつけて自分のデスクで勝手に各員のメールのやり取りを見られるようにしてしまいます。
こうして各員の売買の動きを頭に入れていきます。
そこですぐに結論は出さず、情報が頭の中に浸透していくのを待ちます。
この時間を『熟成』と呼んでいます。
脳の構造上、情報を頭に入れて整理するのに時間がかかります。
夜、夢を見るのは情報を整理するためと言われています。
研究で煮詰まった人が散歩をして閃きを得るのも、脳に入れた情報が散歩というリラックスする動作で紐づいた結果です。
設計作業の着手はゆっくり
観察で現場の作業を頭に入れても、着手はすぐにはしません。
一度目の観察では気がつかなかったことが、再度の観察で見えてきたりします。
設計をしたくてウズウズする気持ちを抑えていると、設計作業を渇望してより頭が冴えます。
わたしが設計に着手するキッカケは観察を繰り返して、頭の中で各業務を連結させていて、腑に落ちるという風にストンと納得する感覚を覚えた時です。
肝心カナメになる点に気が付いた時に、腑に落ちる感覚を覚えます。
『よし、やろう』
と思えたらシステム設計スタートです。
最初に欲しい機能を考える
観察に時間をかけて既存業務を頭に入れたら、システム設計に着手したら欲しい機能を考えます。
そのシステムが稼働した時に得られるものです。
スタート地点と稼働した時のゴール地点を考えて、それを満たす中間の工程を設計で埋めていきます。
このゴールを考える時に重要なのは、自分の保身を考えない事です。
失敗するシステムを見ると設計者が責任をとらされない事を考えて、やたらと安全装置みたいなのが設けられます。
それが実稼働でボトルネックになり、使い勝手の悪いものになります。
失敗の設計例
わたしが見たものでは、売買システムの中に
『取引先にログインしてもらい、承認のチェックボックスをクリックしてもらう』
という工程が入っているものがありました。
自社の内部システムに外部の人を取り込んでいるというのが、観察の少なさを物語っていました。
ネット広告の会社が律儀にチェックボックスをクリックしないのは、メールのやり取りの時間を観察していればわかったはずです。
前日夜のメールに対し、すぐに返信できる内容でも取引先の返信が翌14時とかだったりします。
それは相手が午後に出勤して、商談と称してゴルフの会話ばかりする人間性である事を物語っています。
そんな人を自社システムのトリガー(工程を進めるスイッチ)にしたら、そこで止まるのは当然です。
どんなシステムを作る?
普通の会社であったら、最新の技術を使ったシステムは不要です。
会社の状態に合わせたシステムを作るのが正解です。
全国の保健所100箇所をオンラインで結ぶ、といったらとかPHPやPythonとSQL(データベース)を組み合わせて作る事になると思います。
ですが一般の会社でシステム化をしようとなったら、もっと狭い範囲で完結する事が殆どです。
使えるシステムは、稼働した時の事も考えて作る必要があります。
システムが出来上がったとしても、教育に時間がかかったり使うのが面倒だと、そのシステムは廃れます。
わたしが見たなかで普通の会社で最も多い形が、エクセルによる管理でした。
各営業マンが売買の記録をエクセルでつけて、それを管理に渡す方式です。
この方式では営業と管理で意思の疎通がうまくできず、破綻をしてシステム化が必要という状態が多かったです。
ここでくみ取る情報は、営業マンが少なくともエクセルに慣れているという事です。
入力はエクセルが優れている
新たにシステムを作り、1案件ごとにデータを入力していく形だと何が起こるでしょう?
これだと売買を活発に行った営業マンほど、入力の負担が増えてしまいます。
これでは煩わしくて、売上を上げようという気持ちに心理的なストップがかかっていまいます。
もしも入力がエクセルで済めば、案件をコピーして一部分だけ変更すればいいので、案件数が増えても入力の手間はさほど増えずに済みます。
それにエクセルであれば、新たに入社したメンバーもシステム教育の時間が少なくて済みます。
外部にシステムを依頼すると教育の費用もキッチリ請求されるくらい、教育の簡便さは重要なポイントです。
だから各自にエクセルで入力をさせて、それを管理側でデータベースに取り込むのが最適解です。
他の社員に使わせるVBAはボタン一つ
テレビのリモコンにボタンが多すぎて、かえって使い勝手が悪いと感じないでしょうか?
マニアックな人には欲しい機能かもしれませんが、大多数の人はシンプルな事を望みます。
これと同じように他の社員に使わせるエクセルVBAも、可能な限りボタンを一つにします。
例えば『計算』と『再計算』のVBAのプログラムを書いたとします。
スプレッドシート上(エクセルの表)に『計算』と『再計算』のボタンを作るのではなく、『計算』ボタン一つにします。
計算か再計算かは、プログラムの内部で判別して分岐させます。
これは複雑な方法ではなくて、『計算』を一度実行したらスプレッドシートのどこかに「1」とか入力しておけば、プログラムは簡単に判別できます。
ボタンをたった一つにすれば、他の社員は迷うことなくエクセルVBAを使えます。
このあたりの感覚は理系とかではなく、他人を気にする性質が有利になります。
小さい会社での経験
例えばPHPとSQL(データベース)の組み合わせでシステム化したら、メンテナンスが必要になります。
アップデートされたら動かなくなったとか、セキュリティホールが見つかったとか、突発的な対応も出てきます。
小さな会社ではシステムに掛かりきりになれる人員はいません。
そういう会社では多少の先進的な技術を捨てても、メンテナンスフリーなシステムの方が有効でした。
車に例えるなら一般の会社は街中みたいなものなので、乗用車が都合良いです。
カーナビがついていて小回りが利いて、なおかつ燃費がいい。
これが求められるものです。
そこに高度な技術のF1カーがあっても、使い勝手が悪いです。
システム設計できるか自信がない人
『わたしは文系だから・・・』
と思ってシステム設計を諦めている人がいたら、わたしのレベルほどレベルが低いか比較してみてください。
文系・理系の前に偏差値が低すぎて、どちらかわからないレベルです。
それでも最終的に結構な規模の会社で色々な仕事をシステム化しました。
会社の規模の目安としては、複数のサービスでテレビCMを流すくらいです。
(現存する会社なので、ちょっとボヤかします)
CMは広告枠を買うだけでなく、タレントを起用したCM製作費を合わせるとかなりの額になります。
コンプライアンス(怪しい会社でないか)的にも真っ当な商売である事が求められます。
そういう規模の会社でグループ各社のデータを集約して、瞬時に経理から経営用の数字までを出せるシステム等を作りました。
システム設計最初の一歩
わたしは初めての正社員の就職で、システム会社に就職しました。
しかしココでは客先に飛ばされたりデバッグ要員だったりが多く、殆ど何も身につきませんでした。
その中の業務の一つに、『既存のデータベースシステムを町工場用に改造せよ』
という命令がありました。
先輩についてやるはずが、先輩は社内の問題児で何も出来ませんでした。
当然、わたしも出来ずにただただ無力感を味わいました。
この会社を半年で辞めた後も、悔しかったので独学で勉強をしました。
次の営業会社では物件管理のエクセル表を作るよう命令されたのを拡大解釈して、独学で勉強した知識を試しました。
エクセルにVBAというプログラムを組み込んだり、Access(マイクロソフトのデータベースソフト)を使ってデータベース化したり。
営業に出ないでこんなことをしていたので、社長直々に片道2.5時間かかる所に飛ばされて退職しました。
ですが自分の仕事を独力でシステム化するという、実戦的な経験が積めました。
この経験をノートパソコンに入れて、IT系の面接でPRをして転職が成功しました。
何でもいいので、まず目の前の事をシステム化
例えば株をやっている人なら、決算データをまとめるようなものを作ってみてはどうでしょう?
わたしはFXで5秒ごとに値を取得し、買い時のシグナルを計算するプログラムを作った事があります。
結果的にこのシグナル通りにFXをやったら破産しかねない失敗作でしたが、プログラムを作る経験値は上がりました。
こんな風に成功でも失敗でも、システム設計は経験値が上がります。
最初は電卓を使う業務をなくすとか、手の届く範囲をシステム化するだけで大丈夫です。
システム化成功例
FXのシステムに似ていますが、入札型広告に自動で入札するシステムを作った事があります。
入札型広告というのは金額に応じた順位で広告が表示されるもので、セリ市みたいなものです。
わたしは2時間ごとに順位データを取得し、最適な順位に表示されるよう単価を計算して入札に応募するシステムを作りました。
それを24時間稼働させて、会社の収益にしました。
システム化は効率化によるコスト削減がメインですが、このように収益を得る時にも使えます。
ちょっと長くなったので、
システム設計の考え方【その2 データベースは難しくない】に続きます。
いっぺんに読むと疲れる場合は、後日に回してください。
本ページよりもう少し具体的な内容になります。