日々・開発日誌

BLOG

システム開発の記事一覧


愛知県の中小企業のシステム開発

2018-10-28

社内SEがいない

前職で営業も兼務していたこともあり、愛知県内の社員20名〜300名ぐらいの企業300社以上を訪問しましたが、
話を聞いてみると「社内SEがいない」企業がかなりの割合でした。
「総務が兼務」や「なんとなく詳しい人が兼務」する会社が何とも多いことです。
特に愛知県の場合、古くからある製造業の企業が多く目に見えないITに関する理解が弱い印象があります。


日米IT技術者ポジションの違い

経済産業省 | IT技術者の動向~IT人材白書から~
2015年3月25日 独立行政法人 情報処理推進機構 IT人材育成本部 田中 久也

によると日本と米国とでは、「ITベンダーに所属するIT技術者」と「ITベンダー以外に所属するIT技術者」との割合が完全に逆転しています。

  ITベンダーに所属するIT技術者 ITベンダー意外に所属するIT技術者
米国 28% 72%
日本 75% 25%
欧米では新たなソフト製品の発表会にはユーザ企業の技術者が押し寄せ歓喜する。日本ではベンダー技術者が押し寄せ舌打ちする。

とまで言われているようです。

社内にIT技術者がいないと何が起こるか

これは結構深刻な問題で社内にIT技術者がいる場合といない場合では下記のような差が生まれます。
ITに関するツールの取捨選択ができないため、外部業者の言いなりになり割高な投資をするリスクが生まれます。

 システム導入に必要なプロセス 社内にIT技術者
(A)いる1 (B)いる2 (C)いない1 (D)いない2
1.業務内容・問題課題の理解 社内対応 社内対応 社内対応 社内対応 
2.1.を論理的に整理し問題解決のプロセスを描ける 社内対応 社外に委託 社内対応 社外に委託
3.整理した内容を実現するための方法とツールの取捨選択ができる 社内対応 社内対応 社外に委託 社外に委託
4.ITベンダーがそれを理解し最滝なシステムを提供または開発する 社外に委託 社外に委託 社外に委託 社外に委託

 

今後企業に求められるIT人材と非IT人材のプログラマ的思考

一方、それだけでは足らず業務の問題課題を論理的に整理し問題解決のプロセスを描ける人材も必要です。
これには「業務知識」と「プログラマ的思考」が必要になります。
「プログラマ的思考」とは
  • 情報の整理整頓する能力
  • 問題解決の最短ステップを考える能力
  • 長期的みて楽になる仕組みを作る
  • 同じことを二度やらない(重複を嫌う)
などで、プログラマがプログラムを書く際に注意することです。
このような目線で業務の問題点を把握し整理して人に伝えられる能力を有する人がプログラマ的思考を持った人材です。
社内にいるIT技術者がある程度業務知識を有している場合には、この役割を兼ねることもできますが中々そのようなケースにはお目にかかりません。


どうすればいいのか?

一番良いのはITベンダーなどに勤務経験のある人を採用し長く努めてもらうことですが、そもそものIT技術者自体が不足していると言われているのでそう簡単には行きません。
これからの時代、専門知識を持った人材が一つの企業だけに属するのではなく、いくつもの組織に所属しながら働く形になってくると言われています。
昨今、社外取締役を採用する中小企業も増えてきました。ITに関しても技術顧問として社外の人材を起用することが先だってできることではないかと思います。

システム開発とは

2018-10-22

システムとは?

「目的を遂行するための体系や組織」と辞書には出てきます。
特にコンピュータの分野においては「何らかの目的・サービスのために、ソフトウェアやハードウェアを連携して構築されたコンピューター環境のこと」ぐらいの意味になるでしょう。
平たく言うと「問題解決のために集められたプログラムと機器の集団」です。

システム開発とは?

この「集団」を作ることになる訳ですが、既に有能なプログラムと機器が見つかっていればそれらを集めれば済みますし、そうでなければ作る必要が出てきます。この集団を作る人=システム開発する人は大きく2種類に別れます。

  • 集団を集めるのに特化した人:SI (システムインテグレータ)
  • プログラムを作るのに特化した人:デベロッパー
僕の印象ではデベロッパーをシステム開発と呼ぶことが多い印象です。

システム開発の流れ

「システム開発=プログラムを作る」のような印象を持っている人も多いと思いますが実際にはもっと大掛かりです。一般的な流れとしては次のような感じです。

  1. 営業・ヒアリング
    1. 何にかで困っているお客さんを見つける
    2. 問題課題を明確にする
    3. どうすればその問題を解決できるかを細分化していく
  2. 検証・提案
    1. FS(フィージビリティスタディ):技術的に可能なのか?経済的に現実的か?などを調査する。
    2. PoC(Proof of Concept):より具達的に調査する。試作品を作る場合もある。
    3. 提案書作成:問題課題をどの様に解決しその効果としては何が得られ、どれくらいの費用と期間がかかるかなど。
    4. 提案書と見積を提出
  3. 契約とプロジェクト開始
    1. 契約:提案書と見積にOKが出たらお互いの役割や業務の範囲、免責事項などを書面にして契約する。
    2. プロジェクト開始:工程表を作成し、メンバーを決め、それぞれの役割に割り振ります。
  4. 開発
    1. 要求定義:お客さんの要求を羅列して分類整理していく
    2. 外部設計:画面やデータ構造を決める
    3. 内部設計:プログラムの構造を決める
    4. プログラム開発:プログラムをガリガリ書く
    5. テスト・改修:バグを見つけては修正、修正、そしてまたテスト
  5. リリース
    1. ベータ版:ほぼ動くけどまだ完成していないから何か不具合が出るかもしれない。でも実際に使ってもらって修正点など教えてくださいね。
    2. 本番:やっと実際の業務で使われるようになります。
  6. 保守・サポート
    1. 保守:プログラムが動いているコンピュータやサーバのOSの更新やネットワークの構成変更への対応など、システムが正常に可動するように日々対応します。
    2. サポート:使い方でわからない点などを電話やメール、最近ではSlackなどで質問を受け回答します。
  7. バージョンアップ

実際にキーボードを叩いてプログラムを作るのは「4.4 開発 - プログラム開発」になります。
その前後には膨大な業務があるわけなのです。
そして、それらには人と時間がかかるのでシステム開発の費用は意外に高くなりがちなのです。

とは言ってもコレはあくまで一般論で、開発する組織が大きくなればなるほど、更に「社内承認」等のプロセスが増えることもありますし、開発する組織の規模が小さくなればプロセスが統合され短縮することもあります。その辺はまた次回お話します。

お気軽にお問合せください

0532-74-8756
愛知県を中心に静岡県・岐阜県の東海三県を主に対応しております。
  • 名古屋市
  • 浜松市
  • 岐阜市
  • 豊橋市
  • 岡崎市
  • 一宮市
  • 瀬戸市
  • 半田市
  • 春日井市
  • 豊川市
  • 津島市
  • 碧南市
  • 刈谷市
  • 豊田市
  • 安城市
  • 西尾市
  • 蒲郡市
  • 犬山市
  • 常滑市
  • 江南市
  • 小牧市
  • 稲沢市
  • 新城市
  • 東海市
  • 大府市
  • 知多市
  • 知立市
  • 尾張旭市
  • 高浜市
  • 岩倉市
  • 豊明市
  • 日進市
  • 田原市
  • 愛西市
  • 清須市
  • 北名古屋市
  • 弥富市
  • みよし市
  • あま市
  • 長久手市