システム開発会社の人って、みんなプログラムを書けるんでしょ?
因みに、弊社のメンバーは、100%プログラムが書けます。なにせ、コード(プログラム)なヘッド(頭)ですから。
システム開発会社と言っても、色々な会社があります
規模
システム開発会社と言っても、大企業~中小、フリーランス迄様々ですが、良いシステムが出来るかどうかは、大きく人に依存します(後述)。実際には、企業の規模は、ほぼ関係しません。
しかし、開発するシステムの規模により、企業規模により、出来る事、出来ない事があります。1年2年かかる様な、大規模のシステム開発の場合、能力的に光る中規模、小規模の開発会社でも、開発期間のキャッシュフロー的に厳しい場合があり、そもそも、開発を請ける事が出来ない事もあります。(その場合でも、着手金、中間納品、分割清算等が可能であれば、お受け出来る場合もあるかと思います)
- 大規模企業
- 個人、フリーランス
- 中規模、小規模企業
上記の様に、大規模な開発であるとか、安心感(、保険)が欲しい、又、非常に高額な設備、機器が必要と言う事であれば、大企業、ほぼ一択となります。但し、開発費用は、高めになってしまいます。
逆に、個人、フリーランスの方へ依頼される場合、企業へ依頼するより安価で済む事も多々あると思いますが、不測の事態で開発が遅れた場合、基本1人ですのでカバーが出来ない。副業として請けている場合、本業の忙しさに引っ張られて、時間が取れない等、納期に対して、不安定要素が出る事もあります。品質に関しては、前述の通り人次第です。実際に、もの凄いスキルをお持ちの方もいらっしゃいます。期間を緩めに設定して依頼すれば、安く上がる可能性はあります。
お客様の目的にもよりますが、一般的に、安くて良いシステムが欲しい場合、中規模、小規模の良いシステム会社を、しっかり見極めて、御依頼されるのが、賢い選択だと思います。選択を誤ると、大企業の劣化コピーの様な会社もありますので、見極めは、しっかり行う必要があります。
得意分野
システム会社の仕事って何があるのでしょう?
営業や間接部門を除いた役割をおおまかに出してみましょう。
- お客様と話をして、システムの仕様を決めていく
- プログラム開発(、設計、テスト)
- サーバー構築、ネットワーク設定、機器選定等のインフラ構築
- 開発プロジェクト全体の取りまとめ、スケジュール管理
SE(システムエンジニア)、システム寄りのコンサル
SE(システムエンジニア)、プログラマ
※現在では、専門分野が細分化されています
ネットワークエンジニア、サーバーエンジニア、インフラエンジニア
※現在では、専門分野が細分化されています
プロジェクトマネージャ、プロジェクトリーダー
企業により、出来るの分野、得意分野が異なります。
企業規模に関わらず、エンジニアの派遣をメイン業務としている企業は、上記トータルで、仕事を請けるのが苦手な事が殆どです(勿論、例外はあります)
「受託開発」を謳っている企業でも、1,4しかやらない。又、2しかやらない(≒出来ない)、3しかしかやらない企業がありますが、これらの企業は、通常、複数の企業共同でシステム開発を行います。
弊社の場合、1~4全て、トータルで行う事が出来ます。この様な企業も、少数ですが御座います。
トータルで受託出来る企業のメリット
- 全体最適化される
- 複数社で分担する場合、分業の関係上等で部分最適になってしまう事があります。弊社の様に、トータルでこなせる場合、全体的な設計の最適化がされ、結果、トータルコストが下がります。
- 提案、設計段階から、最新の専門知識をベースにした、絵空言でない、現実的な御提案が可能
- 伝達ロス、ミスが限りなく少ないので、お客様の要望に沿ったものが実現出来る
- 品質の向上
- コストメリット
・20年前の治療法方で虫歯を治したいですか?
・実際には、不可能な治療法を提案されたいですか?
・最新の専門知識を使う事により、同じものを安く(=短期間で)作れる場合もあります
・場合によっては、昔と比べて、1/10の作業量で作成出来る事もあります。
伝言ゲームも繰り返せば元の意味とは・・・
・全体最適化により、無理な部分が無くなり、シンプルな仕様、改修しやすい拡張性が高い仕様で作成出来ます。
上記の結果として、開発時、後のシステム改修時にも、コストメリットが出てきます。
実際の各々の行程、作業は、完全に独立しておらず、密接に関連しあっています。品質、トータルコストを考えれば、トータルでお受けできるシステム会社を、お勧めします。
システム開発の成否は、人に依存します
意外に思われるかも知れませんが、良いシステムが出来るかどうかは、大きく人に依存します。厳密に言うと、システムの仕様(どんなものを作るか)を決める際、中心的に関わるエンジニア(SE、リーダー)の力量に大きく依存します。例えば、同じ会社に発注しても当たり外れがあったりします。
結局、システムと言っても人が使うものです。人(お客様)と話して、人が考えて、人がシステムを作ります。 実際に、発注される前に、中心的に関わるエンジニア(SE、リーダー)と話をして、任せられそうか見極める事をお勧めします。 ポイントになるのは以下です。
コミュニケーション
この段階で、上手くコミュニケーションを取れない場合、先行きは暗いでしょう。本当に出来る人は、専門用語でも、相手が理解出来る様に表現を調整しながら話をします。(伝わらないと意味が無いですから)
専門用語をまくし立てたり、言葉のキャッチボールが成立しない様な場合、良くない兆候です。いくら技術的に出来る人でも、お客様にとって、良いシステムが出来るわけがありません!
技術、知識
残念ながら、エンジニアとしての優秀さに保有資格は、実はあまり関係ありません。(技術の移り変わりが速いので保有資格が陳腐化するのと、試験用の暗記は実務では必要ありませんので)
優秀なエンジニアは、必ずしも会社の活動としてではなく個人的にでも、新技術、ニュースにアンテナを張っています。技術系のニュースサイトをどの位の頻度で、チェックしているか等聞いてみると良いかも知れません。ほぼ毎日チェックしている場合は、良い兆候です。 (会社内外)個人的に、新しい技術の勉強や、開発をしているとか、開発系コミュニティの勉強会に参加している場合も、良い兆候です。
※実際、ここの見極めは同業者以外だとなかなか難しいと思いますが・・・「新技術の吸収は大変ですね、勉強会なんかも良く参加されるんですか?」的な質問をすると良いかも知れません。
安心感
データ漏洩や、消去等のデータ事故は、場合によっては、お客様業務に致命傷を与えます。貸し出し資料の扱いや、お客様データに対しての意識が雑だと感じた場合、システムもその意識で作成される可能性が高いです。
又、詳しい資料も出していないのに、一発で、最終見積が出る場合、警戒した方が良いかもしれません。(本当に適正価格なのか?)
何を聞いても「出来ます」という場合も警戒した方が良いかもしれません。無論、本当に出来る場合もありますので見極めは難しいですが、一部は「持ち帰ってちょっと調査します」の方が安心感ありますよね。
良いシステムってなんでしょう?
弊社が考える、良いシステムとは
- お客様の制約内(主に、予算、期間)で、最大限に目的(システムを作る目的)を満足させるシステム
- 完成した後も、余計なコストが極力かからない(ランニング、改修)
- 後日発生しうる機能追加、改修に耐えうる作りになっている
その為に明確にすべき事
その為には、これらを明確にしなければ、なりません。
- お客様の目的は何か?(場合によっては、お客様自身、逆に課題に近すぎて、本質的な目的に気づいていない事もあります)
- 制約事項は何か?(予算、期間、運用コスト、その他・・・)又、どれを優先するか?
- 具体的に、どの様な仕組み(人系、コンピュータ系)で解決していくのか?
上記を明確にし、トータルでバランスを取らないと良いシステムは出来ません!!
※結果として、大々的なシステムを組む場合もあれば、簡易な、Excelの自動化プログラム(VBA)を作るだけという場合もありますし、 極端な例ですが、システム導入のメリットが少ない場合、システムを作らないという御提案もさせて頂く事もあります。
求められるスキル
この判断には、高度なスキルが必要になります。
- お客様にヒアリング、御提案する際の、コミュニケーション能力
- 課題の分析能力、論理的思考、作成後のシステム、又、それを使う場面等をリアルに想像出来る想像力
- 最適解を導き出す、構築力
- 最新技術もカバーした高い技術知識
- 品質の良い設計、開発を行う能力
- etc…
プログラマーの生態
- 1か条.面倒くさがり
- 2か条.電話派 vs メール派
- 3か条.夜行性
- 4か条.甘いもの好き
「この作業面倒だな、やりたくないな」
↓
「やらない為にはどうすればいいかな・・・」
↓
「そうだ!プログラムで自動化しよう」
の脳でできてます。
メール派です。
プログラマーは、よく自分の世界に入ります。
自分の世界から抜け出すまでは、メール派です。
朝は、目が開いているだけで、ほぼ寝てます。
午前中は、元気がありません。(そっとしておきましょう。)
午後になると、徐々に話し始めます。
夕方になると、元気になります。
夜になると、テンションが上がります。(ある意味、ほっておきましょう。)
※繰り返す
頭を使うからでしょうか!?仕事中、甘いものを欲します。
なので、机の引き出しにチョコがあるのは当たり前の事なのです。
都市伝説
- 熊を倒す男
- サングラスを外さないポリシー
ある日、そのエンジニアは言いました。
「俺、熊を倒したことがある」と。
それも2回も!!
本当かウソかは分かりませんが、伝説のエンジニアになりました。
打ち合わせもサングラスは外しません。
作業中もサングラスは外しません。
いつだって、どこだって、サングラスは外さない強い信念を持ったエンジニアでした。