多くの情シスは、システムに不得意なことをやらせている
人と同じようにシステムには「得意なこと」と「不得意なこと」があることをご存知でしょうか?実際のところ、あらためて聞かれるとドキッとする方は案外多いです。
不得意なことをかかえたシステムは、稼働した直後から負の遺産となり、じわじわとあなたを苦しめることになります。
最近、AI技術がすすんでおり、これまでシステムが不得意だった部分が補完されるようになってきています。だがしかし、それでも苦手なことはある。
世の中のシステムを見ていると苦手なことをやらせていたり、その一方で得意なことをやらせていない状況をよく見ます。
ここにあげる7つの基本原則は、だれもが聞くと、「そりゃそうだ」となるものばかりです。しかし、しかしですよ。実際の情シスがシステムを開発・導入や運用を考える時、この逆のことをしていることが多い。
システムに不得意なことをさせて何が問題となるのか?断言しますが「お金」「時間」「品質」の3つに悪い影響がでます。ボディブローのように徐々に、そして確実に。
厄介なのは、すぐにはその影響がわからないものが多いということ。さらには別の選択肢をとったときとの比較が難しいので、システムを知らない人からの理解を得にくいということ。これらが、問題の根を深くしています。
❶開発だけではなく運用・保守でもお金がかかる
まずは運用費・保守費。パッケージ製品をカスタマイズした場合は、一般的に別で運用費や保守費が発生します。「あなたの会社の特別な機能」ですから、運用も特別。法改正や定期的なパッチなどをあてるのも特別。特注品はお金がかかるのです。
ただでさえそんな状況ですので、システムが苦手とするような特別な機能を取り込んでしまった場合、余計なお金がかかってしまう。せっかく、パッケージ製品という最適化されているシステムなのに。
多くの情シスがイニシャル費用ばかりを意識して、運用・保守費を考えていないことが多い。これが問題になるのが、次年度の予算策定のとき。「昨年と比べて運用・保守費が多く発生している、これはなんだ?」と。
スクラッチ開発でも同様で、システムが苦手なことを頑張ってやらせようとすると、その多くは複雑になります。無事に稼働したあと、ちょっとした改修でも簡単にはできない状態になっている。
「たったこれだけなのに、なんで何百万もかかるの?」
こういった声をよく聞きますが、実は自身が選択した結果であることは多い。発注側の要望を実現した結果、システムが複雑になってしまっているのが原因というのはよくある話です。
❷開発も改修も、そして処理においても時間がかかる
まずあげたいのが、処理時間。オンライン・バッチともに言えることですが、苦手なことをがんばってやらせると、処理時間がかかることはよくある話。性能問題は、何かしらのバグより根深く、そのほとんどがしんどい。
もちろん、プログラムのアルゴリズムが悪い場合もありますが、業務要件自体が無茶なことをやらせようとしているのはよくあります。
もうひとつお伝えしたいのは、「苦手なことをやらせる=プログラムが複雑になる」という公式は、多くの場合にあてはまるということ。結果、ちょっとした改修でも、テストを入れると数ヶ月なんてのはあるある。条件分岐が多いプログラムはそれだけで開発が大変なんです。
❸とにかく品質が悪くなる
エクセルは普段からみなさん、お使いになっていると思います。たまに、関数を使いまくって便利ツールを作ったことありませんか?そのあなたが作った完璧で究極の便利シート。例えばですが、作り終わった後に、次のようなことが起きたとします。
・いくつかのセルで関数が入っていないのを発見した
・ちょっとした修正をしたいが、どこをどうなおせばいいのかわからない
・行を追加すると関数がうまく働かないが、どうしても行を追加したい
あなたのテンションは猛烈に落ちているはず。そして、頑張って関数を入れ直すものの、だいたいこんなときは注意力が散漫になっているため、間違いを起こす。悪循環です。
これ、システム開発でも全く同じ。やっていることも規模も複雑さも、システムの方が難易度高い。何を言いたいかというと、複雑なシステムというのは、それだけで品質が悪くなる可能性が高くなるのです。
情シスであれば絶対に知っておくべき7つの基本原則
システムは極論すれば、なんでもできます。だからこそ、ちゃんとシステムを知っている人は、要望を安易にシステムで実現しようとはしません。
システムでやらせるべきなのか?その価値はなんなのか?を必ず考えます。いま、その瞬間だけをみて判断するのではなく、ある程度の先をみて判断するのです。
【基本原則1】あいまいなことは絶対にシステムにやらせない
【基本原則2】めったに起きないことはできるだけやらせない
【基本原則3】おなじ繰り返し処理を積極的にやらせる
【基本原則4】覚えるのが得意、そして忘れないからこそ注意する
【基本原則5】24時間365日、積極的に働かせる
【基本原則6】複製が得意だからこそ細心の注意を払う
【基本原則7】探すという行為を全力でやらせる
【基本原則1】あいまいなことは絶対にシステムにやらせない
システムは「決められたこと」しか処理できません。むしろ「決められたこと」をやるのが超得意。たとえば、人がやっている業務をシステムに置き換えようとした場合、手順やルールが整理されて決められているものは確実にシステム化でき、効果がでます。
多くのシステム開発・導入プロジェクトを見ていると、手順やルールが決められていない・決まらない業務をシステム化しようとする場面を多く見ます。手順・ルールをちゃんと理解している人がいないけど、なんとかシステム化してよ・・・みたいな。
要件定義が不十分というやつが代表例。結果として、なんとかシステムにやらせるのですが、ほとんどの場合で問題がおきる。最悪、裁判。このケース、本当に多いです。
【基本原則2】めったに起きないことはできるだけやらせない
システムは決まった時間に何かを処理するということを確実に行うことを得意とします。これをバッチ処理といいます。同じように、明確な要求・指示のもとに画面を通してリアルタイムにやり取りすることは得意です。これをオンライン処理といいます。
この逆のことはできるだけシステムでやらせない。年に一回あるかないかの業務をシステムにやらせるか?内容が簡単であればべつにやらせてもいいでしょう。
しかし、多くの現場では、年に一回あるかないかだからこそ、「業務を忘れちゃうから」「便利だから」「楽したいから」という理由で、それをシステム化しようとする。
実際、やりたいことの要件を整理していくと、毎回微妙にやることが変わったり、考慮しなれければならない点が増えていたり。つまり、ちゃんと要件を定義できないことが多い。
【基本原則3】おなじ繰り返し処理を積極的にやらせる
システムはとにかく繰り返し処理が得意。人間ならとっくに飽きてしまうようなことでも、文句も言わず、延々と繰り返して処理してくれます。当たり前のようですが、この特性をあらためて覚えておきたい。
もし、あなたの前に「同じこと」を「何回も」やっている仕事があったとすれば、それは積極的にシステムに置き換えるべきです。定型フォーマットに入力されたチェックなんかは、瞬殺してくれる。案外、この基本的なことを忘れている人が多く、そして一生懸命その仕事をやっていたりします。
【基本原則4】覚えるのが得意、そして忘れないからこそ注意する
システムは一度記録してしまえば、記憶媒体が飛ばない限り情報は永遠に残ります。人間はどうでしょう?昨日の夜、何を食べたかすら曖昧なはず。
だからこそ、データの管理方法は慎重におこなう。細かいところでは、データ不整合が起きないような制御やバックアップなど。だからこそ、記録されたデータに信頼がおけるようになるのです。
【基本原則5】24時間365日、積極的に働かせる
人は寝ないと気が狂っちゃいます。でも、システムは文句も言わず、24時間365日働いてくれます。案外、この基本も忘れている人が多い。
たとえば、情シスが忙しくなることの上位を占めるユーザーからの問い合わせ。メールや電話、直接声をかけられることもあるでしょう。基本的には8時間勤務なわけですから、勤務中にしか対応できません。24時間営業する店舗を持つ事業を行なっている会社の情シスは大変です。
思い出してください。システムは24/365で働くことができます。FAQサイト開設してみてはどうでしょう。せっかくなので、問い合わせフォームも設けましょうか。余裕があるなら、チャットボットもどうでしょうか?
これらも立派なシステムの得意なことを活用した例です。当たり前のようで、システムが得意なことを十分活用しきれていな人は多いのです。
【基本原則6】複製が得意だからこそ細心の注意を払う
システムはデータの複製が超得意です。いくらでも同じデータを複製できます。だからこそ「マスターはどこにあるのか?」「元ネタ(ソース)はどこにあるのか?」ということをおさえておくことが重要です。
会社にはいろんな基本となる番号があります。従業員番号、部門コード、商品コードなどあげればキリがありません。ちゃんとおさえておかないと、いろんなものがどんどんおかしくなっていく。
元ネタも同じ。多くの場合は、複製されて何かしらの加工が施される。「補正」という善意の行為とともに。こうなってくると、何が正しい数字なのかわからなくなることはよくあります。
データ活用を考えるとだいたい行き着くのは「最強は生データ」。そのくらい、データが加工されてしまい、嘘を言っていることは多いです。
【基本原則7】探すという行為を全力でやらせる
大量なデータから指定された言葉を探すことが得意です。どんなに時間がかかっても探し当てる。だからこそ、どうデータをシステムに持たせるか。ここにこだわる必要があります。
昔に比べると、随分とデータの持たせ方を意識する必要性は低くなっていますが、まだまだ、ある程度の考慮は必要。
「探す」という行為は仕事をしていく中で、もったいな時間の使い方の上位に入ります。できるだけ無くしたい。
多くの情シスは、なぜシステムに不得意なことをやらせるのか?
なぜ、多くの情シスがシステムに不得意なことをやらせているのか?もしくは積極的に活用していないのか?理由は3つです。
- 外部圧力が強い
- 忘れている
- 理解していない
❶外部圧力が強い
実際の情シスの現場では、さまざまな葛藤があります。「業務部門の要望が強い」「予算が限られている」「政治的な理由」などなど。ITがわかっていて仕事ができる人ほど、この葛藤に苦しんでいる。
世の中の本や雑誌、ネット記事では理想やあるべき論をよく見ますが、それができたらとっくにみんな幸せになっている。どの時代でもどの世界でも、結局悩みは変わらない。
この7つの原則は、そうとうひねくれているか意図的に意地悪をされない限り、ほとんどの人が理解できます。せめて「こういったリスクがあると考えます」くらいはコメントしておきたい。この程度であれば、そんなに波風は立たないはず。
リスクが顕在化した場合、あなたの言った通りになるわけで、次回からは周りの方が耳を傾けてくれるかもしれません。物事を中長期の視点でとらえると、一見ネガティブな事象であっても次につながる可能性はあります。
❷忘れている
多くの人が、当たり前のことや基本的なことを忘れてしまい、違う判断をする時は大体次の2つの条件が重なった時です。
時間が足りない + 考えることが多い
わかっているのにやってしまうというやつですね。だって、人間ですもの。だからこそ、チームと仕組みでなんとか乗り切りたい。
❸理解していない
自分たちのことは横に置いて、得に注意したいのはその業界で専門家と言われる人たちと仕事をするとき。情シスやIT業界にいるだけで、ちゃんと学んでない人って案外多いです。「にわか」があんがい通用する。本人はそれで勘違いしちゃう。
ここにあげた7つの基本原則と真逆のことを提案してくる人って、皆様が思っているよりかなり多いので、ぜひご注意ください。
<情シスおさえどころ>
さまざまな理由で、苦労する未来が選択される場合はあります。がんばって説明を試みるも、理解がされない。会社に所属している以上、あまり強引に意見を通すと、厄介者扱いにされる可能性もある。自ら立場を悪く必要はないです。
見方を変えると、その意思決定はリスクを許容した経営判断とも取れます。そんなときは無理せず、しかし少しでも未来につながる行動を。うまくいけば、長い目で見た時に、情シスが頼りにされる組織になれるきっかけにできます。