SIer関連メモ書き

SIer関連のメモ書きをしておきます。お客様向けも、業界人向けも、ごっちゃまぜ。

SI業界叩く前に発注者のRFPを見直せ!

先日、RFP(提案依頼書)をいただいた。

この内容があまりに酷かったので、ダメな点をメモしておく。
SI出身者が社内SEになって、初めて書きました的なクオリティーだった。

SIerを否定する声は多いけど、こんな酷いRFPしか書けない発注元から正した方が良い。

守秘義務があるので内容には一切触れないし、作りたいシステムの中身はこのエントリーの主題とは関係ない。
何がダメなのか?だけを書いていく。

 

目的に数値がない
RFPを書く人にKPIという言葉を知らない人が多い。
どんな数字を達成したいか、明記すべきだろう。
例えば既存社内システムからのリプレースなら、オペレーションの改善時間などは、当然書かれるべきだ。
それらの数字からROIが出せて、提案する側も予算感が見える。

 

曖昧な表現が多い
使いやすい、容易な入力、視認性が良い、ストレスなく動作する、etc
といった曖昧な表現が多い。
そのようにRFPに書けば、SI側が満たしてくれる(後で直させられる)と思っている。
新規開発するシステムのUXが最初から完璧だとでも思っているのだろうか?
初期に満たせる要件と、アジャイル開発で何度も改善しないと満たせない要件の、整理がついてない。

 

開発期間が長すぎる
全部一気に作り切ろう!と言う意気込みはわかるが、1年近く先の全スケジュールを最初から立てられるわけがない。
要件定義どころか、実現性調査すら済んでないもので、期間と費用を出せという。
加えて、1年近くかけて作ったシステムを、リリース直後に全社展開したいとか…。
どう考えても、ハードランディングになるだろうよ。

 

予測を提示させたがる
「サーバの構成と費用を提示ください」
「バッチの処理時間を提示ください」
「保守にかかる費用を提示ください」
要件定義すら済んでない上に、1年近く先に出来上がるシステムの付帯費用って何ですかね?
サーバ費?クラウド使おうよ!
バッチの処理時間?並列処理化してインスタンス並べるか、hadoop系で組もうよ!
保守費?出来上がってもないシステムの保守費って何よ?

 

やたらに長いし、細かい
読む気が失せるくらいにRFPが長い。
納品物の詳細、納品方法、出力したい帳票類、接続したい別システムの仕様書、etc
全部一気に伝えたい気持ちはわかる。
ただ、資料のボリュームがあると、本質から焦点をずらす結果になる。
それが分かってない。

 

他にも沢山ツッコミどころがある。
もう、まるで分かってない。

 

こうして、まるで分かってないシステム担当者が書いたRFPをベースに、提案された酷い計画書を元に、ダメSIが実施され、ガラパゴスシステムが量産される訳だ…。
なんだか、悲しくなる。

 

どうすれば良いか?
要件を整理することすら出来ない社内のダメ人材に任せるのではなく、プロにお願いすべきだろう。
しかも、昔ながらのSIじゃなくて、正しいIT戦略投資を計画できるプロのCIOサービスに頼んだ方が良い。

事業会社のIT部門が、早く改善される日が来る事を願う。

 

サラリーマンSEがSI業界の悪!

タイトルで言い切った!

その理由を説明しよう。

 

サラリーマンSEとは?

ITの新しい技術に飛び付くでもなく、技術力の問われる業界に飛び込むでもなく、ベンチャー的挑戦もしないで、ただただ目の前に与えられたプロジェクトや保守のみを長期に渡って行う、自称PG、SE。

こういう人は、技術論とか一切語れない。

大手SIerや社内SE向きで、かつ、SI業界の大多数の人がこれに該当する。

要するに、エンジニアじゃないのに肩書きだけエンジニアな方々を指す。

 

特徴は、技術力が総じて低い

サラリーマンSEは、交渉能力、コミュ力なんかがそこそこ高い人が多いから、ビジネスマンとしての技量でみれば、悪くはない。

だからこそ、本来、技術を磨かないといけないはずの技術者なのに、そんなことはせず、目の前の業務を、いかに問題無くこなすかだけにフォーカスし、社内評価を落とさない事にまい進する。

技術が好きでたまらない!みたいな感情が無いから、社内評価(昇級、昇給)が、活動の源泉になる。

そりゃ、技術力なんて上がるわけが無い。

 

なぜ悪か?

技術力の低い管理者が、プロジェクトリーダーに立つから。

技術革新に伴う新しいシステム提案などしないし、新しい技術への挑戦も行われないし、5年くらい前に自分が現役で使ってた枯れた技術の新バージョンを選択し、生産性も一昔前のまま。

なぜか根性論(努力を見せる)による残業も好き。

「火が噴いたら毎日の終電と土日出社でカバー」 みたいな、意味不明な選択を平然とし、最新のソフトウェア工学なんて、一ミリも見ない。

そのスタイルが後輩にも受け継がれ、日本のIT生産性は低いまま。

「WHY JAPANESE PEOPLE!!」

と言われる訳だ。

 

どうすりゃ良いの?

「自分はサラリーマンSEだな…」と思ったら、まずは勉強しよう!

若手なら、最新技術を追って、提案しよう!

社外勉強会、社外交流会に積極的に行こう!

ネット上のossやコミュニティに少しは触れてみよう。

プロジェクトリーダーなら、ソフトウェア工学をしっかり学ぼう!

そして、目の前のプロジェクトや職場を変えよう!

 

そんでもって、何度提案しても、どうしても変わらないような、そんなクソ職場だったら辞めて転職しよう!

転職先は、以下がオススメです。(PR)

≪AI×広告≫機械学習、AIを駆使したモノづくりに挑戦したいエンジニア募集 - 株式会社EVERRISEの求人 - Wantedly

 

PG・SEからPMへなるための5つの心得

最近、PG・SEからPM(プロジェクト・マネージャ)に変わるタイミングを迎えてる人に、意見を言う機会が増えたので、どうせならブログに書いておきます。

PMは忙しいから、手短に5つにまとめました。

 

1.プロジェクト管理の書籍を読んで実践する

まずは、正しい知識をいれましょう。

最初にこれをやらない人が、多いことに毎回驚きます。

自分の知識だけで、なんとかなると思ってるんですかね?

また、運営してて困った事があったら、改めて読み返しましょう。

知識を入れて実践しつつ、自分なりに身に付けよう。

 

2.管理作業をメインにする

下に5人のメンバーがいたら、PM一人が頑張るより、5人を正しい方向に誘導した方が良い。

自分がプログラムを組んだ方が早いと言ってはダメ。

 

3.とは言え自分もやる

メンバーにだけ作業をやらせて、自分は何もやらなくて良い訳ではないです。

むしろ、面倒な雑務、一番難しいところを、しっかりやり切るのは、PMの作業範囲です。

 

4.一方的に決めない

タスクを一方的に部下に押し付けるのは、駄目です。

まったく相談されずに自分のタスクやスケジュールを決められたら、嫌ですよね?

また、報連相も一方的させるのではなく、PMから部下へもしてみましょう。

 

5.進捗遅れを残業で解決しない

問題の対処策に、残業を選ぶのは避けた方が良いでしょう。

ゴールが明確に見えていて、ちょっとだけ踏ん張るのは良いですが、先が見えてない状況ではこの選択は間違っています。

 

他にもたくさん言いたいことありますが、まずはこの5つに注意してやってみましょう。

頑張れ新米PM!

※頑張りすぎて盲目になるのは要注意

 

 

 

 

【4月入社PG】最初の一歩につまずいた君へ

4月入社した新卒プログラマの皆さん、こんにちは。

 

お盆の時期ですね。 

既に研修を終え、初めてのプロジェクトで先輩プログラマから色々教わりながら頑張っている頃でしょうか?

 

「何でも質問して良いよ」と言われたのに、くだらない質問をして「それくらいググれよ!」と怒られてますか?
先輩は、学校の先生とは違いますからね。
ただ、安心して下さい、通過儀礼ですよ。

 

あと、夏休みはいくら待っても来ません。

夏はクーラーの中、外に一歩も出ずに生産性を高める時期です。
慣れるまで大変ですが、慣れればむしろ快適になります。
いずれ「真夏に外出とか無いわぁ」となりますから。

 

そんな学生生活との違いを一つ一つ覚えながら、社会の役に立つように頑張ってる皆さん。

そろそろ同期の中で明確な差が付いてきているかと思いますが、いかがですか?

 

上位2割に居る、あなた!おめでとうございます!

そのまま無理はし過ぎず、頑張ってください。
ただ、東京(駅周辺)で消耗し過ぎてはダメ!
必ず明るい未来が待ってますよ!
ベンチャー社長目指したり、CTOを目指したり、色々と楽しい事が待ってます。

 

中間6割に居る、あなた!ちょっぴり安心していいですよ。

普通のプログラマとしては合格です。
ただし、まだ勝負はついてませんからね。
自分の不得意はなるべく潰して、得意を伸ばしていきましょう。
「インフラが大好物です」「美しいjsに興奮します」とか言っとけばOKです。

 

さて、下位2割の皆さん…、体力的にも精神的にもお疲れ様です。

前置きが長くなりましたが、このエントリーはあなたの為に書いています。
開発現場で「あれ?ついて行けてないかも?」と少しでも思ったら、参考にして下さい。

 

下位2割の皆さんへ

同じ未経験で始めた同期が、バンバンとプログラムを書いてるのを尻目に、自分は上手く書けない。
苦しんでますよね?
経験値を積めば何とかなるから、今は耐えよう!と思ってますよね?

…これ残念ながら、いつまで経っても解決しませんから!

 

目の前の業務だけを何とかこなしていても、いっこうに楽になりませんよ。
上手くなるには、正しい訓練が必要です。

分かりやすい例が、身近にあります。

「あなたの箸の持ち方は、完璧ですか?」
「あなたの書く文字は、綺麗ですか?」
「あなたは歯を完璧に、磨けてますか?」

どうですか?そんなわけ無いですよね?
プログラムも一緒で、どんなに毎日書いてても、適当にやっていれば、いっこうに上手くなりません。

 

どんな訓練が必要か?

皆さんは、入社後に研修をやってきたことでしょう。
ただ、研修はあくまで知識を教えることがメインです。
プログラマとしての地力は、実は訓練していません。

プログラマの地力とは、IQと論理的思考能力です。

 

とりあえず、今のあなたのIQを知るために、以下のIQテストやってみてください。

(くれぐれも、結果のシェアはしないようにw)

curazy.com

一応、プログラマとしては、そこそこ成功した私のIQをお伝えしておくと135です。

全然自慢できる数字じゃないですが135です

上記URL以外にもテストは沢山ありますが、大体、似たような結果になりますよ。

IQは、最低でも120以上にしておいた方が良いです。

出来るプログラマは総じてIQが高い!

 

もう一つの地力である、論理的思考(ロジカルシンキング)ですが、社会人全般に必須のスキルです。

プログラマも例外では無いです。

それどころか、他の職種よりも、強く求められます。

matome.naver.jp

論理的思考能力が高く無いと、意図したプログラムを組めません。

「言ったのと違うの作ってるよね?」とか言われたらガクブルです ( ;゚Д゚)ブルブル

 

ただ、安心して下さい、上記した2つの能力は伸ばす方法があります。

IQであれば脳トレ、論理的思考であれば専用の訓練をやれば良いでしょう。

「好きこそ物の上手なれ」と言われますが、まさにこの辺を好きな人々がプログラマに向います。

結局、好きなやつになれば、勝手にやりますからねぇ。

 

下位2割の皆さん!まずはこの辺の訓練が苦にならないように、好きになりましょう。

 

とはいえ急いでプログラム能力を高めたいアナタへ

「ゆったり勉強して地力をつけてる暇ないッス!今やばいッス!」
そんな心の声が聞こえます。

そんな時、いつもしているアドバイスがあります。

それは、まずは日本語でプログラムを書け!です。

日本語プログラミング言語(有名なのは、なでしこ)で書きましょう、という意味ではないですよ。

日本語で書く事で、まずは内容を完成させましょうということです。

 

内容を完成させるとは?

要は、英語に慣れていない人が、英語の論文を書くときと同じです。

まずは、慣れた言語(日本語)で考えて、内容を完成させてから、翻訳すれば良いのです。
重要なのは「内容(ロジック)が正しい事」です。

ただでさえ実力が足りない未経験者で、しかも地力不足の人達には、いきなりプログラム言語で、正しいロジックを書くのは、ハードルが高過ぎるわけですね。

しかも、言語の問題以外にも、

フレームワークが分からない

・ツールの使い方が分からない

・ライブラリが上手く動作しない

といった様々なトラップが待っているわけです。

一旦そういう問題は無視をして、まずはロジックの完成だけを目指しましょう。

全てに慣れてくれば、遠回りする必要がなくなります。

 

まとめ

やや話が長くなりましたが、簡単にまとめます。

諦めずに、頑張れ!正しい方法でね。

 

既存SIerがベンチャーにDisrupt(破壊)される日

下のニュース見て思ったことを、素早くメモっておく。

jp.techcrunch.com

Fintechが日本で普及したら、その時が大手SIerの再編の始まりですね、と。

 

ちょっと前に話題になった「20万人月4000億円(約5年)のみずほ銀行の基幹システム刷新」や「11万人月2500億円(約3年)の三菱東京UFJ案件」など、これらの超巨大金融系SI案件が、Fintechで無くなっちゃう可能性がある訳ですから、業界としては戦々恐々ですね。

 

こういった月に数千人、数百人が動く開発案件が、定期的にあるから大手SIerの存在価値がある訳ですよ。

ベンチャーが生み出す、画期的かつ少数で作れちゃうシステムとは、相性が悪い訳です。

 

金融、公共、製造業、物流、医療といった巨大SIが必要だった分野は、これから次から次へとベンチャーにディスラプトを狙われ、市場を食われて行く流れです。

 

じゃ、既存の大手SIerはどうすれば良いのか?座して死を待つのか?

・・・そんな訳ない。

 

単純な話、現在の日本で大量の技術者を囲っているのはSIerで、そのアドバンテージは本当に大きい。

そこを活かして、ITサービス企業になれば良い訳です。

コンサルティング企業が、デジタルマーケティングの企業へと転身をはかろうとしているように、SIerもITサービス提供企業に転身を狙うべきです。

 

ちなみに、小中規模SIerは安心か?というと、こちらも大手同様に危ないですよ!
(むしろ大手以上にやばいかも・・・)

 

クラウドワークスやランサーズなどの、クラウドソーシングが、もっと社会的に機能し始め、SIの分業化・リモートワーク化が主流になれば、小中規模企業を利用するメリットはないですよね?

弊社もそうですが、駆逐されないためには、ITサービス提供企業になるしかないんですよ。

 

SIerの皆さん!ITサービス提供企業になるための投資、ちゃんとしてますか?

ある日突然来ちゃいますよ、市場を破壊される日が!

 

アジャイルさておき、システム開発で大失敗しない方法

下のエントリーがバズってたので、勢いで「システム開発で大失敗しない方法」を書いてみる。

成功する方法じゃなく、失敗しない方法でもなく、あくまで「大失敗」しない方法についてである。

ledsun.hatenablog.com

 

結論から書くと「まずは少額でシステムのコア機能の検証をやろう!」である。

この話は、色んな人が何度も話してたり、書いてたりするが、全然浸透していない。

開発手法以前に「システムの骨格作り」で、大体みんな間違ってる。

「当然やってるよw」って人は、ここで読むのをやめて、周りに啓蒙しましょう。

 

なんでやれてない(難しい)かと言うと、その理由が当然ある。

 

少額と言っても、そこはシステム開発なので、100〜500万円くらいはかかる、検証だけで。

それくらい出さないと判断できないことが多いし、期間も3〜6ヶ月かかる。

牛丼みたいに、早くも安くもない。

その金使って、その期間待って「やっぱダメでした」が日本企業だと、難しいのはよく理解できる。

ただ、大失敗したくないなら、やらないとダメ。

 

こういう話を発注担当者さんにすると、毎回驚かされるのが「検証してないのに、このシステムが絶対に機能すると思っている」こと。

上手いプレゼン資料だけで「イケる!」みたいな気がしちゃってるから、悪い意味でヤバい。

 

ウォーターフォールか?アジャイルか?みたいな開発手法の話題は、まずはこの土台があった上での話だと思う。

検証で良い結果が出たら、一気にウォーターフォールで作り切った方が良い。

ちまちま2〜4週間でスプリントする必要はないだろう。

 

この辺の感覚をやしなうのは、SIerに居ては難しい。

サイバーエージェントリクルート出身起業家などは、皆さん持ってる。

仮説立てる → 感触・数字見る → 上手く行った → 一気に走れ!

みたいな、そんな当然のことを、当然のようにやれる。

 

それでも機能するとは限らないし、小さい失敗は限りなく発生する。 

「システムを開発するとは、そういうものだ」という共通認識を、まずは啓蒙しましょうって話。

 

 

SES業界の不都合な真実…と抜け道

今、業務委託で技術者を探すと「素晴らしい技術者どころか、普通の技術者にも、なかなか出会えない」という話をよく聞く。

「素晴らしい技術者」ともなると、太平洋に迷い込んだ金魚を探すようなものだ。

 

さて「素晴らしい技術者」と表現したが、どんな技術者のことだろうか?

 

「素晴らしい」には様々な定義があるが、SES業界で言えば「顧客満足度が高い技術者」が、そう表現される。

そして、顧客満足度が「高くも低くもない」技術者が「普通な技術者」となる。

あくまで私の感覚値だが、1割が「素晴らしい」、6割が「普通」、残3割が「至らない」技術者である。

 

「普通と素晴らしい合わせれば、7割もいるじゃないか!」

「だったら、普通の技術者は、すぐ見つかるでしょ?」

…と思うだろうが、これは間違いだ。

 

今は、空前の技術者不足である。

 「普通の技術者」レベルであっても引っ張りだこである。

ゆえに、ビジネスとしてオイシイお客様への紹介が優先される。

市場に出回るのは、残った「至らない」技術者ばかりである。

 

SES提供会社が考える「オイシイお客様」は、ハッキリしている。

多人数発注してくれて、稼働が安定(残業少ない)していて、長期間発注してくれるところだ。

しかも、過去の取引で、問題無く続いているところを最優先にする。

ビジネスでは、当たり前のことだ。

 

冒頭のような話を聞くたびに「素晴らしい技術者1名だけを、安く、すぐ簡単に手に入れられると思っていないか?」と疑う。

こういう顧客はよほど個人的に仲の良い営業マンを見つけない限り「非注力顧客」扱いになり、提案される技術者は、だいたい「至らない」レベルになるだろう。

残念だか、これが真実だ。

 

それでは、予算が少なく、初めて発注するような企業の場合、必ず「至らない」技術者しか提案貰えないのか?と言うと、そうならない抜け道もある。

方法はふたつ。

1.1社の営業マンに独占的に探させる

2.魅力的な条件にする(単価と募集人数以外で)

 

1に関しては、細かく説明するまでもないと思うが「1名枠に多数の会社から募集します」といわれるよりも「御社独占で、まずは探してください」と言われた方が、営業マンは頑張る。

2に関しては「在宅作業が可能」「面白そうな技術を使っている」「該当技術は未経験でも挑戦OK」など、技術者に直接響く条件を提示すれば良い。

 

「金がなければ工夫をする」
これもビジネスでは基本的なことだが、SESで技術者を探す場合にも同様である。

発注側が、この程度の工夫をするだけで、良い技術者が手に入りやすくなったりするものだ。